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: Runtime validation error raised by validate(val, t), details below.
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: Runtime validation error raised by validate(val, t), details below.
For type list[int], invalid value at idx: 2
  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.2.1.tar.gz (770.8 kB view details)

Uploaded Source

Built Distribution

typing_validation-1.2.1-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: typing-validation-1.2.1.tar.gz
  • Upload date:
  • Size: 770.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for typing-validation-1.2.1.tar.gz
Algorithm Hash digest
SHA256 8cb9c918f5e0dc0b8e76fca93a0d96f30e4db9e40e9db5ea3955d2eff0df40f8
MD5 cb37311acb3f55bcfaf1b42b76fed421
BLAKE2b-256 3f8a3459267f4db19d100a0bf61d95ba190db9fbceee765cc73e7a92c104be91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for typing_validation-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9ee7e1d55281593542dbfa2b7d1ecd8f921d974e2e77bcdab493ab08f2b306f
MD5 625ff671056c6a74327aaa60566e5030
BLAKE2b-256 49bec538bc76bbc123d8e717f190228477b31661c7b2c888a1ed8b5d110e1853

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