Skip to main content

python-introspect

Extensible analysis of callable signatures, dataclass fields, type hints, and docstrings.

Python 3.10+ PyPI version

Quick start

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.

Extension points

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.

Installation

python -m pip install python-introspect

The runtime depends on metaclass-registry. Repository and issues: OpenHCSDev/python-introspect.

Documentation

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.

Download files

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

Source Distribution

python_introspect-0.1.7.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_introspect-0.1.7-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

Details for the file python_introspect-0.1.7.tar.gz.

File metadata

  • Download URL: python_introspect-0.1.7.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for python_introspect-0.1.7.tar.gz
Algorithm Hash digest
SHA256 dac1ab9fc9dec02ac1aea73cdacff2326d83261453efb4f406b275cb1170dbfd
MD5 d3a26a74f7f53c04cbea17d36aed1086
BLAKE2b-256 b8ef33967d5721df3f257debf56da582b1919496d236a2cbc34844618b78436a

See more details on using hashes here.

File details

Details for the file python_introspect-0.1.7-py3-none-any.whl.

File metadata

File hashes

Hashes for python_introspect-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 b75067f44ff83592e60c365826cad9d0b555e941b92350cbec43598f5ac36c4a
MD5 cf3112b1b4786a780d04e3b0a3a1d307
BLAKE2b-256 09dffa7e68f0ebd9975a352822f920e3053b5b52defe8f5633d68c61b4148765

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page