API

Package absence

Sentinel for absent values.

Sentinel is distinct from None. Package als has support for creating package-specific absence sentinels. Particularly useful in contexts where None is a valid value but you need to detect the absence of a value.

Module absence.objects

Absence sentinel factory, global singleton, and helper functions.

absence.objects.absent: absence.objects.AbsentSingleton = absence.absent
type absence.objects.Absential = absence.objects._V | absence.objects.AbsentSingleton
class absence.objects.AbsenceFactory(repr_function=None, str_function=None)

Bases: Falsifier

Produces arbitrary absence sentinels.

class absence.objects.AbsentSingleton

Bases: AbsenceFactory

Produces global absence sentinel.

absence.objects.is_absence(value)

Checks if value is an absence sentinel.

Parameters:

value (object)

Return type:

typing_extensions.TypeIs[ absence.objects.AbsenceFactory ]

absence.objects.is_absent(value)

Checks if value is the global absence sentinel.

Parameters:

value (object)

Return type:

typing_extensions.TypeIs[ absence.objects.AbsentSingleton ]

Module absence.installers

Convenience to expose global sentinel and sentinel checker in builtins.

absence.installers.install(sentinel_name='Absent', predicate_name='isabsent')

Installs absence sentinel and predicate as builtins.

Parameters:
  • sentinel_name (str | None) – Name to use for sentinel in builtins. None to skip.

  • predicate_name (str | None) – Name to use for predicate in builtins. None to skip.

Module absence.exceptions

Family of exceptions for package API.

exception absence.exceptions.Omnierror(*posargs, **nomargs)

Bases: Omniexception, Exception

Base for error exceptions raised by package API.

exception absence.exceptions.Omniexception(*posargs, **nomargs)

Bases: BaseException, Object

Base for all exceptions raised by package API.

exception absence.exceptions.OperationValidityError(name)

Bases: Omnierror, RuntimeError, TypeError

Attempt to perform invalid operation.