Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed4a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'example:': 0.03; 'url:pypi': 0.03; 'argument': 0.05; 'output': 0.05; 'debugging': 0.07; 'see:': 0.07; 'skip:` 10': 0.07; 'subject:released': 0.07; 'tool,': 0.07; 'variables': 0.07; 'converted': 0.09; 'executed': 0.09; 'url:github': 0.09; 'variable,': 0.09; 'works.': 0.09; 'url:blog': 0.10; 'python': 0.11; 'changes': 0.15; 'cristian': 0.16; 'extensible': 0.16; 'fancy': 0.16; 'filters.': 0.16; 'frames.': 0.16; 'optionally': 0.16; 'renamed': 0.16; 'to:addr :python-announce-list': 0.16; 'skip:= 10': 0.16; 'thanks,': 0.17; 'all,': 0.19; 'skip:p 40': 0.19; 'examples': 0.20; 'example': 0.22; 'import': 0.22; 'print': 0.22; 'environment': 0.24; 'tracker': 0.26; 'function': 0.29; 'fixed': 0.29; 'received:209.85.217': 0.29; "doesn't": 0.30; 'locations': 0.30; 'message-id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; 'prints': 0.31; 'url:python': 0.33; 'announce': 0.33; 'implemented': 0.33; 'received:209.85': 0.35; 'received:google.com': 0.35; 'activate': 0.36; 'choosing': 0.36; 'var': 0.36; 'url:org': 0.36; 'application': 0.37; 'project': 0.37; 'received:209': 0.37; 'actions': 0.38; 'issue': 0.38; 'skip:- 10': 0.38; 'to:addr:python.org': 0.39; 'how': 0.40; 'skip:u 10': 0.60; 'skip:a 30': 0.61; 'skip:t 30': 0.61; 'url:5': 0.61; 'from:charset:utf-8': 0.61; "you're": 0.61; 'show': 0.63; 'more': 0.64; 'url:0': 0.67; 'env': 0.84; 'fail.': 0.84; 'hunter': 0.84; 'convenience,': 0.91; 'url:ro': 0.91 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to :content-type; bh=TR73JtgFLt+aEM1j27OtJ9mJFqyUNsVKk3QL1IYcY4A=; b=ZU2ouM9KC35BcmeEwSmoifRDpuM5EVh9baNNFHxlHvDz7zSv4fP4vBW1tkfKT1LvrF Aw4chk42rXZMsqxDfGzfwD6NGnRaP97ot98IjD3rRBNRMseR/qS9Brv6AILStOvxI/qs uEtwRpvS6wuThDyx5Dpo9hlR6MQq3Xpu8TtvPa1S3bWQC2WevR7IqeSwlNqIQ+E+cgzJ vUGXZojrtqEn33V5FueF0SQM8CJvF7+oj7Kf1yf9wSEJwt3vZPZYP6Czd5u85eHoVZQ9 B7bUbS95HCd/7g7O+pIk2TWlUlrNGUBIXF0i2xSQLtKWx/1qc1Qn1c5iH8XmCZl/gIJ8 lKdg== X-Gm-Message-State: ALoCoQnG9iIm94JR8+QN9093ek4yU8zA8UcQVliJA8/iG7B7of6sbQNQiiq8qzwsKcS9NT+Apy5C X-Received: by 10.112.44.132 with SMTP id e4mr11271916lbm.66.1428273216292; Sun, 05 Apr 2015 15:33:36 -0700 (PDT) X-Received: by 10.112.184.70 with SMTP id es6mr11005443lbc.117.1428273213924; Sun, 05 Apr 2015 15:33:33 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Ionel_Cristian_M=C4=83rie=C8=99?= Date: Mon, 6 Apr 2015 01:33:13 +0300 Subject: Hunter v0.5 released To: python-announce-list@python.org X-Mailman-Approved-At: Mon, 06 Apr 2015 12:32:50 +0200 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 66 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1428316371 news.xs4all.nl 2850 [2001:888:2000:d::a6]:35948 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1657 Hello all, I'm pleased to announce hunter v0.5: https://pypi.python.org/pypi/hunter /0.5.0 *What is Hunter?=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D* Hunter is a tracer tool, designed to be used for debugging or just to understand how an application works. It's designed to be flexible and extensible with custom actions or filters. It prints the executed code from locations of your choosing and can optionally print variables from the frames. It also colors the output if you're in a terminal. *Quick example-------------* To show all the executed code from `posixpath`: * import hunter hunter.trace(module=3D'posixpath')* To show all the executed code from `posixpath` and a variable: * hunter.trace( module=3D'posixpath', action=3Dhunter.VarsPrinter('path') )* For convenience, you can also activate it via a `PYTHONHUNTER` environment variable, eg: *PYTHONHUNTER=3D"module=3D'**posixpath'" python yourapp.py* For more examples see: https://github.com/ionelmc/python-hunter *Changes in 0.5=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D* * Fixed `And` and `Or` "single argument unwrapping". * Implemented predicate compression. Example: `Or(Or(a, b), c)` is converted to `Or(a, b, c)`. * Renamed the `Event.source` to `Event.fullsource`. * Added `Event.source` that doesn't do any fancy sourcecode tokenization. * Fixed `Event.fullsource` return value for situations where the tokenizer would fail. * Made the print function available in the PYTHONHUNTER env var payload. * Added a `__repr__` for `Event`. *Download page=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D* https://pypi.python.org/pypi/hunter *Project page and issue tracker=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D* https://github.com/ionelmc/python-hunter Thanks, -- Ionel Cristian M=C4=83rie=C8=99, http://blog.ionelmc.ro