Skip to main content

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

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.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

ast2json-0.3-py2.py3-none-any.whl (5.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ast2json-0.3.tar.gz.

File metadata

  • Download URL: ast2json-0.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.2

File hashes

Hashes for ast2json-0.3.tar.gz
Algorithm Hash digest
SHA256 fd40a7d911df8de97eb5976783bf16765fcbe6ce9393fb92aa833283fb5f8ee3
MD5 5302721193faafe6750924383e8530cf
BLAKE2b-256 55eeaf6be7bd7553cd6f9ca4bb7cef95986805ab8e5529e1692bae27bbe97457

See more details on using hashes here.

File details

Details for the file ast2json-0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: ast2json-0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.2

File hashes

Hashes for ast2json-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7f0f0cbb59abce2086c81c8949ac0e2b9a4ed09bf291e417cd21d86535118847
MD5 4f4b7cb374ef587325ba6e33d862a5a0
BLAKE2b-256 acf5f8d37afe696d73bfb407de28e998592c4b72fe76f59ec71719d531e46a60

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page