Skip to main content

Forked from the original author until they incorporate latest fixes; a simple library for runtime type-checking.

Project description

Python versions PyPI version PyPI status Checked with Mypy Documentation Status Python package status standard-readme compliant

Typing-validation is a small library to perform runtime validation of Python objects using PEP 484 type hints.

This is a temporary fork of the original project to be used until the original project incorporates a bug fix to work with newer versions of the ‘typing_extensions’ dependency.

Bug: https://github.com/hashberg-io/typing-validation/issues/1

Install

You can install the latest release from PyPI as follows:

pip install --upgrade typing-validation

Usage

The core functionality of this library is provided by the validate function:

>>> from typing_validation import validate

The validate function is invoked with a value and a type as its arguments and it returns nothing when the given value is valid for the given type:

>>> validate(12, int)
# nothing is returned => 12 is a valid int

If the value is invalid for the given type, the validate function raises a TypeError:

>>> validate(12, str)
TypeError: For type <class 'str'>, invalid value: 12

For nested types (e.g. parametric collection/mapping types), the full chain of validation failures is shown by the type error:

>>> validate([0, 1, "hi"], list[int])
TypeError: For type list[int], invalid value: [0, 1, 'hi']
  For type <class 'int'>, invalid value: 'hi'

API

For the full API documentation, see https://typing-validation.readthedocs.io/

Contributing

Please see CONTRIBUTING.md.

License

MIT © Hashberg Ltd.

Project details


Download files

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

Source Distribution

makkus.typing-validation-1.0.3.tar.gz (29.6 kB view details)

Uploaded Source

Built Distribution

makkus.typing_validation-1.0.3-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file makkus.typing-validation-1.0.3.tar.gz.

File metadata

File hashes

Hashes for makkus.typing-validation-1.0.3.tar.gz
Algorithm Hash digest
SHA256 1d3df269bfcebeb02138c3a165fe7e55b1d490792fc80dba501c39cb51e7fd3d
MD5 ce13262860c1d23787367b41f7a8f3b0
BLAKE2b-256 2846df84c4a56b992ab05601b897782aa52bbc7065c665f826ca4f245844f6f3

See more details on using hashes here.

File details

Details for the file makkus.typing_validation-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for makkus.typing_validation-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c08293fc2f95fd9f0f888b43838f777d3d8b7b7692b2ec987da5c93c17d26611
MD5 ba0ddb59c8568a58525c41ee7f1437ab
BLAKE2b-256 cacb7755ab1bc56cc921e7c1fee6fcdbaf2cc04f852576e7b51a5feb6fbd3a16

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page