Skip to main content

Parse code to get information about functions, etc.

Project description

Python Code Parser

Simple functions built on Python ast to parse Python code and extract information about functions, parameters, etc.

Used for auto-type-hinting projects.

Install with pip

pip install python_code_parse

Functions

get_function_info_by_name

Returns a FunctionInfo object containing information about a function and it's parameters in a given code string.

get_all_function_info_from_code

Returns a list of FunctionInfo objects, each containing information about a function and it's parameters in a given code string.

replace_function_signature

Replace a function declaration including the parameters (with annotations and default values) and the return type.

function_returns

Returns a boolean value saying if a given function returns a value or None.

Example

Below is the output of running the parser on the example examples/basic_example.py:

from python_code_parse import get_all_function_info_from_code, FunctionInfo
from typing import List

with open("examples/basic_example.py", "r") as f:
    data = f.read()

function_infos: List[FunctionInfo] = get_all_function_info_from_code(data)

print(function_infos)

"""
[
  FunctionInfo(
    name='sum',
    args=[
      FunctionArg(name='a', annotation='int'),
      FunctionArg(name='b', annotation='', default = '1')
    ],
    return_type='None',
    line=1
  ),
  FunctionInfo(
    name='subtract',
    args=[
      FunctionArg(name='a', annotation=''),
      FunctionArg(name='b', annotation='')
    ],
    return_type='int',
    line=5
  ),
  FunctionInfo(
    name='log',
    args=[
      FunctionArg(name='message', annotation='str', special=SpecialArg.kwonlyargs),
    ],
    return_type='None',
    line=9
  )
]
"""

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

python_code_parse-0.0.14-py2.py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 2 Python 3

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