Python-astor

From Free Software Directory
 
Jump to: navigation, search


[edit]

Python-astor

https://github.com/berkerpeksag/astor/
Python AST manipulator

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

- 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

This package provides Python 2 module bindings only.





Licensing

License

Verified by

Verified on

Notes

Verified by

Debian: Tianon Gravi <admwiggin@gmail.com>

Verified on

16 August 2014

Notes

License: bsd-3-clause




Leaders and contributors

Resources and communication

AudienceResource typeURI
Debian (Ref)https://tracker.debian.org/pkg/python-astor
Downloadhttps://github.com/berkerpeksag/astor


Software prerequisites




Entry







"Debian (Ref)" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.








Date 2015-07-17
Source Debian
Source link http://packages.debian.org/sid/python-astor

[[Category:]]



Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.