typing-validation: Validation using Type Hints
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
Metadata
Release files for makkus.typing-validation 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| makkus.typing-validation-1.0.3.tar.gz | 29.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| makkus.typing_validation-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.3 kB
Release files / makkus.typing-validation-1.0.3.tar.gz
| Download URL | makkus.typing-validation-1.0.3.tar.gz |
|---|---|
| Size | 29.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d3df269bfcebeb02138c3a165fe7e55b1d490792fc80dba501c39cb51e7fd3d
|
|
BLAKE2b-256 checksum How to use checksums |
2846df84c4a56b992ab05601b897782aa52bbc7065c665f826ca4f245844f6f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|
Release files / makkus.typing_validation-1.0.3-py3-none-any.whl
| Download URL | makkus.typing_validation-1.0.3-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c08293fc2f95fd9f0f888b43838f777d3d8b7b7692b2ec987da5c93c17d26611
|
|
BLAKE2b-256 checksum How to use checksums |
cacb7755ab1bc56cc921e7c1fee6fcdbaf2cc04f852576e7b51a5feb6fbd3a16
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.6
|