Package Info

python-astor


Read/rewrite/write Python ASTs


Development/Languages/Python

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 an AST back to Python:
    • Modified AST doesn't need linenumbers, ctx, etc. or otherwise be directly compileable for the round-trip to work.
    • Easy to read generated code as, well, code
    • Can round-trip two different source trees to compare for functional differences, using the astor.rtrip tool (for example, after PEP8 edits).
  • 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

License: BSD-3-Clause
URL: https://github.com/berkerpeksag/astor

Categories

Releases

Package Version Update ID Released Package Hub Version Platforms Subpackages
0.8.1-bp155.3.6 info GA Release 2023-05-22 15 SP5
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python3-astor
0.8.1-bp154.1.30 info GA Release 2022-05-09 15 SP4
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python3-astor
0.8.1-bp153.1.18 info GA Release 2021-03-06 15 SP3
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python2-astor
  • python3-astor
0.8.1-bp152.3.3 info GA Release 2020-04-17 15 SP2
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python2-astor
  • python3-astor
0.7.1-bp151.1.1 info GA Release 2019-06-18 15 SP1
  • AArch64
  • ppc64le
  • s390x
  • x86-64
  • python2-astor
  • python3-astor