python3-annotated-types
Reusable constraint types to use with typing.Annotated
Description
Extension to Python's type annotation system, leveraging the capabilities of typing.Annotated to incorporate metadata and constraints directly into type hints. This package facilitates the representation of common constraints such as value bounds (e.g., greater than, less than), length restrictions on collections, and predicates for runtime checks, among others. Designed to enhance the expressiveness and utility of type annotations for both static analysis tools and runtime validation libraries. Key features: - Scalar Value Constraints: Define bounds on scalar values (e.g., integers,
floats) with Gt, Lt, Ge, Le for greater/less than (or equal to)
comparisons.
- Collection Size Constraints: Specify the expected size of collections
using Len, MinLen, and MaxLen, applicable to any type supporting the len()
function.
- Runtime Checks: Utilize the Predicate marker to denote runtime checks,
enabling custom validation logic within type annotations.
- Comprehensive Documentation: Annotations can include documentation strings
via the Doc marker, improving code readability and support for static
analysis tools.
- No Runtime Overhead for Checks: While enhancing type annotations with
meaningful constraints, the package avoids introducing runtime overhead by
not performing automatic validation checks, preserving performance.
Upload more screenshots
Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.
Upload a screenshotHint: upload an image here from your clipboard with Ctrl-V
Homepage
https://github.com/annotated-types/annotated-types
Install this software package
If the package is available for the distribution you are currently using on your computer then install the software by clicking on…
Install python3-annotated-types