astor – AST observe/rewrite
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 [1]:
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
Release files for astor 0.8.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| astor-0.8.1.tar.gz | 35.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| astor-0.8.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 62.6 kB
Release files / astor-0.8.1.tar.gz
| Download URL | astor-0.8.1.tar.gz |
|---|---|
| Size | 35.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a6effda93f4e1ce9f618779b2dd1d9d84f1e32812c23a29b3fff6fd7f63fa5e
|
|
BLAKE2b-256 checksum How to use checksums |
5a2175b771132fee241dfe601d39ade629548a9626d1d39f333fde31bc46febe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/2.7.14
|
Release files / astor-0.8.1-py2.py3-none-any.whl
| Download URL | astor-0.8.1-py2.py3-none-any.whl |
|---|---|
| Size | 27.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
070a54e890cefb5b3739d19f30f5a5ec840ffc9c50ffa7d23cc9fc1a38ebbfc5
|
|
BLAKE2b-256 checksum How to use checksums |
c38897eef84f48fa04fbd6750e62dcceafba6c63c81b7ac1420856c8dcc0a3f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/2.7.14
|