Forked from the original author until they incorporate latest fixes; a simple library for runtime type-checking.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for makkus.typing-validation-1.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab1da8b0768335a3db0e2e394569f85643b47e5d6b991213239ddcf05756a70c |
|
MD5 | 8874d5aeaf5e04777e0b964fffbf99fa |
|
BLAKE2b-256 | 5f6964b69434c017274e370e4bc05da61303f3b345c3b18fe2237faaf628d163 |
Hashes for makkus.typing_validation-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42aaef8edc414b67f0113adaec228fc967fdef6c5d86bc4649224c6e83a887be |
|
MD5 | fc39509741c86239c426e0b4393235b6 |
|
BLAKE2b-256 | 0801407206c27cf7918e8d4504e1e98dd2cd3ff0231225265dddca511533d036 |