prerequisites1.0.5
prerequisites1.0.5
Published
Prerequisite functions to help and assert inputs and outputs condition and type
pip install prerequisites
Package Downloads
Authors
Requires Python
>=3.14
prerequisites
Small runtime validation helpers for preconditions and type checks.
Install
pip install prerequisites
What it provides
- Value checks:
require,require_one_in_all,require_all_in_all - Type checks:
require_type,require_one_of_types,require_all_of_type,require_all_same_type,require_type_or_none - Decorator checks:
@validate_typesfor argument validation using type hints
Quick examples
Value checks
from prerequisites import require, require_all_in_all, require_one_in_all
require(2 > 1)
require_one_in_all([False, True, False])
require_all_in_all([True, 2 + 2 == 4])
Type checks
from prerequisites import (
require_all_of_type,
require_all_same_type,
require_one_of_types,
require_type,
require_type_or_none,
)
require_type(10, int)
require_one_of_types(3.14, (int, float))
require_all_of_type([1, 2, 3], int)
require_all_same_type(["a", "b", "c"], (str,))
require_type_or_none(None, str)
Decorator validation
from prerequisites import validate_types
@validate_types
def add(a: int, b: int) -> int:
return a + b
add(1, 2) # ok
add("1", 2) # raises TypeError
Shallow container behavior
@validate_types validates only outer container types for parameterized hints.
from prerequisites import validate_types
@validate_types
def count(values: list[int]) -> int:
return len(values)
count([1, 2, 3])
count([1, "x"]) # valid in current shallow mode (still a list)
Notes
@validate_typesvalidates function arguments only.- Return annotations are not enforced.
- Errors raise
TypeErrororValueErrordepending on the helper.