Metadata-Version: 2.1
Name: ast2json
Version: 0.4
Summary: convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)
Home-page: https://github.com/Psycojoker/ast2json
Author: Laurent Peuch
Author-email: cortex@worlddomination.be
License: BSD
Keywords: ast
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/x-rst

Introduction
============

ast2json is a small module that will convert any python AST node into its ast
representation formatted 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())

You can also run via the command line to parse Python source from stdin and print to stdout:

::

    $ ast2json < some_python_source_file.py


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.4 (2025-02-07)
----------------

* you can now use "ast2json" directly from the CLI (it reads stdin) thx to @vergenzt
* output keys are now sorted to be deterministic
* various small code improvements

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
