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-0.0.2.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

typing_validation-0.0.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file typing-validation-0.0.2.tar.gz.

File metadata

  • Download URL: typing-validation-0.0.2.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.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-0.0.2.tar.gz
Algorithm Hash digest
SHA256 ee77e3b50c43af28f86ce50d31f7ad019a7fc6166ca254aaeb2006cdd24f21de
MD5 c3749e1ce56718b9bb742c2f5102fc3b
BLAKE2b-256 56e94a51fabf876ff0ee9afd1f754eaf023ebeda5382adc76ec862538e620f18

See more details on using hashes here.

File details

Details for the file typing_validation-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: typing_validation-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.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-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5c47e89d03976e7e5b7deb01cc250a48713a0bbdb0c1701260ad67827f4583d0
MD5 d36430d4b082124f05804d3f46545b19
BLAKE2b-256 ef9ccf31cd9f7ea4a413fca825ddd8e580065613b58fbcd86ac9585303d6db9a

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