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.3 (2022-04-25)
----------------
* add support for elipsis
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
Raw data
{
"_id": null,
"home_page": "https://github.com/Psycojoker/ast2json",
"name": "ast2json",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "ast",
"author": "Laurent Peuch",
"author_email": "cortex@worlddomination.be",
"download_url": "https://files.pythonhosted.org/packages/55/ee/af6be7bd7553cd6f9ca4bb7cef95986805ab8e5529e1692bae27bbe97457/ast2json-0.3.tar.gz",
"platform": null,
"description": "Introduction\n============\n\nast2json is a small module that will convert any python AST node into its ast\nrepresentation formated in a JSON compatible python representation (list and\ndicts containing string, ints and null).\n\nInstallation\n============\n\n::\n\n pip install ast2json\n # or to have lastest version\n pip install git+git://github.com/Psycojoker/ast2json.git\n\nUsage\n=====\n\n::\n\n >>> import json\n >>> from ast import parse\n >>> from ast2json import ast2json\n\n >>> ast = ast2json(parse(open('some_python_source_file.py').read()))\n >>> print json.dumps(ast, indent=4)\n\nIf you are lazy, \"str2json\" will apply the \"parse\" method of ast on a string for you, so you'll be able to write:\n\n::\n\n >>> str2json(open('some_python_source_file.py').read())\n\nExample\n=======\n\nThis is the result of converting 'print \"Hello World!\"' (and applying json.dumps on the result).\n\n::\n\n {\n \"body\": [\n {\n \"_type\": \"Print\", \n \"nl\": true, \n \"col_offset\": 0, \n \"dest\": null, \n \"values\": [\n {\n \"s\": \"Hello World!\", \n \"_type\": \"Str\", \n \"lineno\": 1, \n \"col_offset\": 6\n }\n ], \n \"lineno\": 1\n }\n ], \n \"_type\": \"Module\"\n }\n\n\nChangelog\n=========\n\n0.3 (2022-04-25)\n----------------\n\n* add support for elipsis\n\n0.2.1 (2016-11-13)\n------------------\n\n* fix broken pip installation by @abolger\n\n0.2 (2016-09-03)\n----------------\n\n* python 3 support and some unit testing by Juncheol Cho @zironycho\n\nLicence\n=======\n\nBSD\n\n\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)",
"version": "0.3",
"split_keywords": [
"ast"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "acf5f8d37afe696d73bfb407de28e998592c4b72fe76f59ec71719d531e46a60",
"md5": "4f4b7cb374ef587325ba6e33d862a5a0",
"sha256": "7f0f0cbb59abce2086c81c8949ac0e2b9a4ed09bf291e417cd21d86535118847"
},
"downloads": -1,
"filename": "ast2json-0.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4f4b7cb374ef587325ba6e33d862a5a0",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 4988,
"upload_time": "2022-04-25T02:15:20",
"upload_time_iso_8601": "2022-04-25T02:15:20.849750Z",
"url": "https://files.pythonhosted.org/packages/ac/f5/f8d37afe696d73bfb407de28e998592c4b72fe76f59ec71719d531e46a60/ast2json-0.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "55eeaf6be7bd7553cd6f9ca4bb7cef95986805ab8e5529e1692bae27bbe97457",
"md5": "5302721193faafe6750924383e8530cf",
"sha256": "fd40a7d911df8de97eb5976783bf16765fcbe6ce9393fb92aa833283fb5f8ee3"
},
"downloads": -1,
"filename": "ast2json-0.3.tar.gz",
"has_sig": false,
"md5_digest": "5302721193faafe6750924383e8530cf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4369,
"upload_time": "2022-04-25T02:15:22",
"upload_time_iso_8601": "2022-04-25T02:15:22.588641Z",
"url": "https://files.pythonhosted.org/packages/55/ee/af6be7bd7553cd6f9ca4bb7cef95986805ab8e5529e1692bae27bbe97457/ast2json-0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-04-25 02:15:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Psycojoker",
"github_project": "ast2json",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "ast2json"
}