Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

Read/rewrite/write Python ASTs

Project description

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


Release history Release notifications

History Node

0.6.2

History Node

0.6.1

History Node

0.6

History Node

0.5

History Node

0.4.1

History Node

0.4

History Node

0.3

History Node

0.2.1

History Node

0.2

This version
History Node

0.1

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
astor-0.1.tar.gz (8.9 kB) Copy SHA256 hash SHA256 Source None Sep 19, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page