New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

ast2json

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ast2json

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

  • 0.4
  • PyPI
  • Socket score

Maintainers
1

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

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc