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.9.tar.gz (37.7 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.9-py3-none-any.whl (30.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_introspect-0.1.9.tar.gz
  • Upload date:
  • Size: 37.7 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.9.tar.gz
Algorithm Hash digest
SHA256 75d7cc18fbee54efd9c3b45a00cdf84d733948b06dea355962f15920c1aad64d
MD5 3cb0c7d64a14c4eb49ad7538449939c0
BLAKE2b-256 b6a9b43bf6cd13f7f99a4c1fce33d559e54a2dc17c1c6a35f0bc017bbdd91e8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_introspect-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d8f892778cfc1756e07b552766fe35689603c713d8acb9724a6212540aab3466
MD5 61d2fbb7ee901fc9b9e866ce641e1531
BLAKE2b-256 4d83e0b6ec4358a6d6038716a7c217b70da22658b5754298b6a14c2d8b572410

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.11

2 files

0.1.10

2 files

This release

0.1.9 This release

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