convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)
Project description
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
============
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ast2json-0.2.1.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for ast2json-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75f7332a924d9d98a204ffc330de386adb3ae34e0b05858125fb4894a01f96a7 |
|
MD5 | 30fd6e27759b188633a9ca675b2f3197 |
|
BLAKE2b-256 | bd36e169b23043c43ee73b7604932c66cf9afd804a75b7fc2c32509a7ab23e3b |