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

Uploaded Python 2 Python 3

File details

Details for the file python_code_parse-0.0.14-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for python_code_parse-0.0.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 497d5b5adc339df629a48c6db30e27ca34334e90191f0ba06963d0677ec182d3
MD5 8fc411d899b14fcc062f88461e7e199e
BLAKE2b-256 d3b1f12eaa96c8f7dda2b535910ae3322ce431ea50440af864cf0c250ed9cc7a

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