.. vim: set fileencoding=utf-8: .. -*- coding: utf-8 -*- .. +--------------------------------------------------------------------------+ | | | Licensed under the Apache License, Version 2.0 (the "License"); | | you may not use this file except in compliance with the License. | | You may obtain a copy of the License at | | | | http://www.apache.org/licenses/LICENSE-2.0 | | | | Unless required by applicable law or agreed to in writing, software | | distributed under the License is distributed on an "AS IS" BASIS, | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | | See the License for the specific language governing permissions and | | limitations under the License. | | | +--------------------------------------------------------------------------+ :tocdepth: 4 ******************************************************************************* API ******************************************************************************* Package ``frigid`` =============================================================================== Data structures which are completely immutable after creation. This behavior is useful for configuration objects, value objects, and other scenarios requiring collections with strong immutability guarantees. * ``Dictionary``: A dict-like structure that becomes completely immutable after creation. Includes a ``ValidatorDictionary`` variant, which validates entries during creation. * ``Namespace``: Similar to :py:class:`types.SimpleNamespace` but completely immutable after creation. * ``Module``: A module type that enforces complete attribute immutability. * ``Object``: Base class for objects with immutable attributes. * ``Class``: Metaclass for creating classes with immutable class attributes. * ``immutable``: Decorator for making classes produce immutable instances. Module ``frigid.dictionaries`` ------------------------------------------------------------------------------- .. automodule:: frigid.dictionaries Module ``frigid.namespaces`` ------------------------------------------------------------------------------- .. automodule:: frigid.namespaces Module ``frigid.modules`` ------------------------------------------------------------------------------- .. automodule:: frigid.modules Module ``frigid.classes`` ------------------------------------------------------------------------------- .. automodule:: frigid.classes Module ``frigid.objects`` ------------------------------------------------------------------------------- .. automodule:: frigid.objects Module ``frigid.exceptions`` ------------------------------------------------------------------------------- .. automodule:: frigid.exceptions Module ``frigid.qaliases`` ------------------------------------------------------------------------------- .. automodule:: frigid.qaliases :imported-members: :noindex: