Skip to main content

Read/rewrite/write Python ASTs

Project description

PyPI:

https://pypi.python.org/pypi/astor

Documentation:

http://astor.rtfd.org/

Source:

https://github.com/berkerpeksag/astor

License:

3-clause BSD

Build status:
Travis CI

astor is designed to allow easy manipulation of Python source via the AST.

There are some other similar libraries, but astor focuses on the following areas:

  • Round-trip back to Python via Armin Ronacher’s codegen.py module:

    • Modified AST doesn’t need linenumbers, ctx, etc. or otherwise be directly compileable

    • Easy to read generated code as, well, code

  • Dump pretty-printing of AST

    • Harder to read than round-tripped code, but more accurate to figure out what is going on.

    • Easier to read than dump from built-in AST module

  • Non-recursive treewalk

    • Sometimes you want a recursive treewalk (and astor supports that, starting at any node on the tree), but sometimes you don’t need to do that. astor doesn’t require you to explicitly visit sub-nodes unless you want to:

    • You can add code that executes before a node’s children are visited, and/or

    • You can add code that executes after a node’s children are visited, and/or

    • You can add code that executes and keeps the node’s children from being visited (and optionally visit them yourself via a recursive call)

    • Write functions to access the tree based on object names and/or attribute names

    • Enjoy easy access to parent node(s) for tree rewriting

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

astor-0.5.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

astor-0.5-py2.py3-none-any.whl (12.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file astor-0.5.tar.gz.

File metadata

  • Download URL: astor-0.5.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for astor-0.5.tar.gz
Algorithm Hash digest
SHA256 4abff251d3f03cbe99106cc16e0dc94adc4f88d580c34a717741c7090b76aab9
MD5 0fa627a7f14e02566e941ec782c03bfc
BLAKE2b-256 d87fe1b909569922933ece6b410ab9d836074806a4c57b98c2f7778251cefd39

See more details on using hashes here.

File details

Details for the file astor-0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for astor-0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 67078801f34a57d2c5e30612c03f2b37d2716b4446a1650fb755d3a21e4d7687
MD5 4210e8f1ad37295814e746e6542e921c
BLAKE2b-256 cb243a15a1a964b3dbc0274e11a29baf3e0516ada29a24d3f987e2b39696da2d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page