Skip to content

convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)

Notifications You must be signed in to change notification settings

YoloSwagTeam/ast2json

Folders and files

NameName
Last commit message
Last commit date
Jan 14, 2025
Nov 12, 2016
Jul 1, 2016
Jul 28, 2016
Sep 3, 2016
Mar 3, 2013
Jan 14, 2025
Nov 12, 2016
Jan 14, 2025
Sep 3, 2016

Repository files navigation

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())

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.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

About

convert a python source code into json-dumpable data (dict and lists with strings, ints, ...)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages