Need help with astunparse?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

simonpercivall
160 Stars 39 Forks Other 86 Commits 20 Opened issues

Description

An AST unparser for Python

Services available

!
?

Need anything else?

Contributors list

# 413,507
Python
40 commits
# 91,123
C++
Shell
mathema...
multidi...
7 commits
# 239,294
The Jul...
Shell
multidi...
opencl
7 commits
# 1,648
Python
Shell
micropy...
suckles...
4 commits
# 306,323
python-...
opencv-...
OpenCV
pypi
4 commits
# 1,249
ESLint
casperj...
cython
jython
4 commits
# 6,800
prose
testing...
Racket
duplica...
2 commits
# 38,256
Django
travis
circlec...
virtual...
1 commit
# 736,016
Python
1 commit
# 700,688
Python
1 commit

============

AST Unparser

.. image:: https://badge.fury.io/py/astunparse.png :target: http://badge.fury.io/py/astunparse

.. image:: https://travis-ci.org/simonpercivall/astunparse.png?branch=master :target: https://travis-ci.org/simonpercivall/astunparse

.. image:: https://readthedocs.org/projects/astunparse/badge/ :target: https://astunparse.readthedocs.org/

An AST unparser for Python.

This is a factored out version of

unparse
found in the Python source distribution; under Demo/parser in Python 2 and under Tools/parser in Python 3.

Basic example::

import inspect
import ast
import astunparse

get back the source code

astunparse.unparse(ast.parse(inspect.getsource(ast)))

get a pretty-printed dump of the AST

astunparse.dump(ast.parse(inspect.getsource(ast)))

This library is single-source compatible with Python 2.6 through Python 3.5. It is authored by the Python core developers; I have simply merged the Python 2.7 and the Python 3.5 source and test suites, and added a wrapper. This factoring out is to provide a library implementation that supports both versions.

Added to this is a pretty-printing

dump
utility function.

The test suite both runs specific tests and also roundtrips much of the standard library.

Extensions and Alternatives

Similar projects include:

* codegen_
* astor_
* astmonkey_
* astprint_

None of these roundtrip much of the standard library and fail several of the basic tests in the

test_unparse
test suite.

This library uses mature and core maintained code instead of trying to patch existing libraries. The

unparse
and the
test_unparse
modules are under the PSF license.

Extensions include:

* typed-astunparse: extends astunparse to support type annotations.
  • Documentation: http://astunparse.rtfd.org.

Features

  • unparses Python AST.
  • pretty-prints AST.

.. _codegen: https://github.com/andreif/codegen .. _astor: https://github.com/berkerpeksag/astor .. _astmonkey: https://github.com/konradhalas/astmonkey .. _astprint: https://github.com/Manticore/astprint

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.