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.10.tar.gz (38.2 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.10-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for python_introspect-0.1.10.tar.gz
Algorithm Hash digest
SHA256 bad096fd04040f0855ee6bbe72752dbd765aaafaa53a3622ab3cd2922e3a5518
MD5 d5a70ad9766de04d4d0d3fe370432f2a
BLAKE2b-256 1ca7bcdb96b1a634475cacb06f2e0a243372e35972a69c0dee7d1af9a8960a6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_introspect-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 df6b684063515f33e3cf2a42d5f598b21e157c6b754bba8d57051433b568c2f5
MD5 1cdc353aff35e88562b17edc378bac50
BLAKE2b-256 02f5abc79638beb8476e6d7132a278138be9b2fbfb6ab4c16d784f59ec2fa63a

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.11

2 files

This release

0.1.10 This release

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.0

2 files

Supported by

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