Accretive

Latest version: v3.0.1

Safety actively analyzes 720919 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

3.0.1

============================

Bugfixes
--------

- Export qualified aliases for convenience metaclasses for dataclasses.


Documentation Improvements
--------------------------

- Update API documentation, examples, and README.

3.0

==========================

Documentation Improvements
--------------------------

- Expand documentation with comprehensive examples for accretive objects,
improved docstrings for public modules, and new guidance for class attribute
mutability.


Features
--------

- Add metaclasses for accretive dataclasses including ``Dataclass``,
``CompleteDataclass``, ``ProtocolDataclass``, and
``CompleteProtocolDataclass``. These factory classes combine Python's dataclass
functionality with accretive behavior for type-safe, attribute-stable data
containers.
- Enhance the ``accretive`` decorator to accept optional parameters including
``docstring`` for setting or overriding class documentation and ``mutables``
for specifying attributes that should remain modifiable after initial
assignment.

2.1

==========================

Documentation Improvements
--------------------------

- Restructure and expand API documentation.


Features
--------

- Add ``AbstractDictionary`` abstract base class to provide a common interface
for all dictionary types.
- Add ``with_data`` method to dictionaries for creating new instances that
preserve producer/validator behavior while using different data.
- Add intersection operation (``&``) to dictionaries for filtering entries by
either matching key-value pairs with another mapping or by keys with a set.
- Add union operation (``|``) to dictionaries for combining entries from two
mappings while maintaining the accretive contract.

2.0

==========================

Bugfixes
--------

- Add missing alias for ``reclassify_modules`` to the qualified aliases module
(``qaliases``) as ``reclassify_modules_as_accretive``. (12)


Features
--------

- Add ``ValidatorDictionary`` and ``ProducerValidatorDictionary`` classes.
Validator dictionaries allow a validation function to be supplied, which can
inspect the key and value of a proposed dictionary entry to determine if it
should be accepted or not. Producer dictionaries are like ``defaultdict`` from
the standard Python ``collections`` module. (10)
- Add ``py.typed`` file to package to let typecheckers know that it has a full
set of type annotations. (11)
- Dictionary classes now accept type annonations for key and value. (14)
- Accept a ``decorators`` argument with all of the metaclasses to produce classes
which have a sequence of class decorators applied before class attribute
accretion is enforced. Some class decorators are compatible with accretion but
some are not; this gives a way to ensure that they are applied without
attribute enforcement. Advanced cases, such as ``dataclasses.dataclass( slots
= True )``, which produces a replacement class, are correctly supported by this
machinery on CPython.
- Add ``ProtocolClass`` metaclass to produce accretive protocol classes.


Supported Platforms
-------------------

- Add support for CPython 3.13.
- Drop support for CPython 3.8 (past end-of-life).
- Drop support for CPython 3.9 (skipping to 3.10, which is the next baseline LTS
version for major OS distributions).
- Drop support for PyPy 3.9, which is no longer maintained upstream.


Deprecations and Removals
-------------------------

- Remove ``complete``, ``concealment``, and ``protection`` subpackages to focus
on core value of package: accretive data structures. Users can easily make
their own syntheses as necessary. (13)

1.0.1

============================

Documentation Improvements
--------------------------

- Grammar fixes to documentation and update of trove classifier to 'Stable'.

1.0

==========================

Features
--------

- Initial release. Includes accretive **dictionaries**, **namespaces**,
**modules**, **objects**, and **classes**.

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.