Skip to main content

astor – AST observe/rewrite

PyPI:

https://pypi.org/project/astor/

Documentation:

https://astor.readthedocs.io

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 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

Metadata

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)

Source distribution for astor 0.8.1
File Size Uploaded Provenance Actions
astor-0.8.1.tar.gz 35.1 kB Without provenance Details for astor-0.8.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for astor 0.8.1
File Interpreter ABI Platform Actions
astor-0.8.1-py2.py3-none-any.whl Python 2, Python 3 none any Details for astor-0.8.1-py2.py3-none-any.whl

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

Security for astor 0.8.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page