convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ast2json
dist
test
.gitignore
.travis.yml
MANIFEST.in
README.rst
setup.cfg
setup.py
tox.ini

README.rst

Introduction

ast2json is a small module that will convert any python AST node into its ast representation formated in a JSON compatible python representation (list and dicts containing string, ints and null).

Installation

pip install ast2json
# or to have lastest version
pip install git+git://github.com/Psycojoker/ast2json.git

Usage

>>> import json
>>> from ast import parse
>>> from ast2json import ast2json

>>> ast = ast2json(parse(open('some_python_source_file.py').read()))
>>> print json.dumps(ast, indent=4)

If you are lazy, "str2json" will apply the "parse" method of ast on a string for you, so you'll be able to write:

>>> str2json(open('some_python_source_file.py').read())

Example

This is the result of converting 'print "Hello World!"' (and applying json.dumps on the result).

{
    "body": [
        {
            "_type": "Print",
            "nl": true,
            "col_offset": 0,
            "dest": null,
            "values": [
                {
                    "s": "Hello World!",
                    "_type": "Str",
                    "lineno": 1,
                    "col_offset": 6
                }
            ],
            "lineno": 1
        }
    ],
    "_type": "Module"
}

Changelog

0.2.1 (2016-11-13)

  • fix broken pip installation by @abolger

0.2 (2016-09-03)

  • python 3 support and some unit testing by Juncheol Cho @zironycho

Licence

BSD