Aliases¶
The frigid.qaliases
module provides qualified aliases for immutable data
structures. These aliases are prefixed with “Immutable” to clearly indicate
their behavior and avoid namespace conflicts.
>>> from frigid.qaliases import ImmutableDictionary, ImmutableNamespace
>>> from frigid import Dictionary, Namespace
The qualified aliases are equivalent to their original classes:
>>> ImmutableDictionary is Dictionary
True
>>> ImmutableNamespace is Namespace
True
This is particularly useful when working in codebases that might have multiple dictionary or namespace implementations:
>>> from types import SimpleNamespace
>>> from collections import UserDict
>>>
>>> # Clear which one is immutable
>>> config = ImmutableNamespace( debug = True )
>>> data = ImmutableDictionary( count = 42 )
All core classes have qualified aliases:
>>> from frigid.qaliases import (
... # Class factories
... ImmutableClass,
... ImmutableABCFactory,
... ImmutableProtocolClass,
... # Dictionaries
... AbstractImmutableDictionary,
... ImmutableDictionary,
... ImmutableValidatorDictionary,
... # Other types
... ImmutableModule,
... ImmutableNamespace,
... ImmutableObject,
... )