Release Notes

absence 1.2 (2026-08-07)

Enhancements

  • Add AbsenceCell[T] immutable container wrapping Absential[T] with a rich API for conditional extraction, evaluation, transformation, chaining, and Optional bridging.

  • Add adapt_dataclass() helper to bridge CLI dataclasses (which use None for not-provided) to functions with Absential[T] parameters by omitting fields that match a configurable skip value.

  • Add is_present() predicate as positive-form counterpart to is_absent(). Returns TypeIs[T] to enable type narrowing without negation.

Absence 1.1.1 (2025-07-03)

Enhancements

  • Internal improvement to use classcore.finalize_module rather than the deprecated classcore.reclassify_modules.

Absence 1.1 (2025-06-05)

Enhancements

  • Apply Dynadoc to package to improve documentation.

Absence 1.0.1 (2025-01-21)

Bugfixes

  • Convert Absential to proper type alias and to use separately-declared type variable. (Addresses Pyright complaints.)

Absence 1.0 (2024-12-20)

Features

  • Add AbsenceFactory class for creating package-specific absence sentinels. Each instance evaluates to False in boolean contexts, has unique identity, and supports customizable string representations.

  • Add Absential type alias for annotating values that may be absent, supporting clear type hints for optional parameters and return values where None is a valid value.

  • Add absent sentinel, a falsey singleton that represents absence in contexts where None might be a valid value. The sentinel maintains global uniqueness, supports proper equality comparison, and can be installed as a builtin.

  • Add is_absent and is_absence predicates for type-safe checking of absence sentinels. These can distinguish between the global sentinel and factory-produced sentinels, and support installation as builtins.

  • Add optional builtin installation support, allowing the absent sentinel and its predicates to be used without imports, similar to None. Supports custom names and selective installation of components.

Supported Platforms

  • Add support for CPython 3.10 to 3.13.

  • Add support for PyPy 3.10.