Skip to main content

typing-validation: Validation using Type Hints

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.

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

MIT © Hashberg Ltd.

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)

Source distribution for makkus.typing-validation 1.0.3
File Size Uploaded
makkus.typing-validation-1.0.3.tar.gz 29.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for makkus.typing-validation 1.0.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page