Simple functions built on Python ast
to parse Python code and extract information about functions, parameters, etc.
Used for auto-type-hinting projects.
pip install python_code_parse
Returns a FunctionInfo
object containing information about a function and it's parameters in a given code string.
Returns a list of FunctionInfo
objects, each containing information about a function and it's parameters in a given code string.
Replace a function declaration including the parameters (with annotations and default values) and the return type.
Returns a boolean value saying if a given function returns a value or None
.
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
)
]
"""