Extensible analysis of callable signatures, dataclass fields, type hints, and docstrings.
from python_introspect import SignatureAnalyzer
def resize(image, factor: float = 0.5, *, preserve_range: bool = True):
"""Resize an image.
Args:
image: Input image.
factor: Scale factor.
preserve_range: Preserve the input intensity range.
"""
parameters = SignatureAnalyzer().analyze(resize)
for name, info in parameters.items():
print(name, info.param_type, info.default_value, info.is_required)analyze is the unified entry point for functions, methods, classes,
dataclass types, and instances. It returns a mapping of names to
ParameterInfo records.
Use register_namespace_provider to contribute names used while resolving
forward references and register_type_resolver to unwrap application proxy
types. Wrappers can declare their user-facing inspection target through the
signature-target helpers in python_introspect.signature_analyzer.
python -m pip install python-introspectThe runtime depends on metaclass-registry. Repository and issues: OpenHCSDev/python-introspect.
The maintained sources are in docs/source. Documentation
changes are checked by the repository's documentation
workflow;
the local warnings-as-errors build command is documented in
development.rst.