Binary package “python3-annotated-types” in ubuntu oracular
Reusable constraint types to use with typing.Annotated
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.
Source package
Published versions
- python3-annotated-types 0.7.0-1 in amd64 (Proposed)
- python3-annotated-types 0.7.0-1 in amd64 (Release)
- python3-annotated-types 0.7.0-1 in arm64 (Proposed)
- python3-annotated-types 0.7.0-1 in arm64 (Release)
- python3-annotated-types 0.7.0-1 in armhf (Proposed)
- python3-annotated-types 0.7.0-1 in armhf (Release)
- python3-annotated-types 0.7.0-1 in i386 (Proposed)
- python3-annotated-types 0.7.0-1 in i386 (Release)
- python3-annotated-types 0.7.0-1 in ppc64el (Proposed)
- python3-annotated-types 0.7.0-1 in ppc64el (Release)
- python3-annotated-types 0.7.0-1 in riscv64 (Proposed)
- python3-annotated-types 0.7.0-1 in riscv64 (Release)
- python3-annotated-types 0.7.0-1 in s390x (Proposed)
- python3-annotated-types 0.7.0-1 in s390x (Release)