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

Uploaded Source

Built Distribution

typing_validation-1.0.0.post5-py3-none-any.whl (16.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for typing-validation-1.0.0.post5.tar.gz
Algorithm Hash digest
SHA256 13e2436d750ed8d6c7ceb98a76f1bb4b3a32eb46820fabe4e48c9bd7eede9f6f
MD5 7197e9edead05377989dd8def0a29ae3
BLAKE2b-256 a41a9036606b6840a699bf9b46932d905333fc94b06047b7e10b79c3dc3e093d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for typing_validation-1.0.0.post5-py3-none-any.whl
Algorithm Hash digest
SHA256 d62af25ef8cc18951c74fa85f8419537a5feca74492e7b708c67b88a37efc80b
MD5 40830f76ca440e97937d432be9cf33f9
BLAKE2b-256 46e501f8beb399604d8dd703e7e6ed823eb01e3c4e4962915b2568d9c70d9c9e

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