Skip to main content

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.

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

typing-validation-1.0.0.post2.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

typing_validation-1.0.0.post2-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file typing-validation-1.0.0.post2.tar.gz.

File metadata

  • Download URL: typing-validation-1.0.0.post2.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.13

File hashes

Hashes for typing-validation-1.0.0.post2.tar.gz
Algorithm Hash digest
SHA256 6a30dec74373f9dca29db6f79ef65eb765a6934c09d87639cf422288933b2aa4
MD5 9a66c3c757676006d2a30cd0b03b3ca4
BLAKE2b-256 0bf25668ea12faf229a6802894c9a7d4737cb508d09ab57e6336eeb1c5adfeaa

See more details on using hashes here.

File details

Details for the file typing_validation-1.0.0.post2-py3-none-any.whl.

File metadata

  • Download URL: typing_validation-1.0.0.post2-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/6.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.9.13

File hashes

Hashes for typing_validation-1.0.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 c9f5cb42435ee59fcf5a1a69dc88ccd5dc6f904436e61b5b8c276906a1c9e454
MD5 6703d0d1efd5de65c4ef0a9aeb536680
BLAKE2b-256 d2ba4076afa371816bcb846229ea4363a342f8065f7790c51ff4e2b7ee823708

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