Releases: emcd/python-classcore
Releases · emcd/python-classcore
v1.4.2
Classcore v1.4.2 (2025-06-12)
Repairs
- Ensure that custom attributes namer is passed during recursive module
reclassification.
v1.4.1
Classcore v1.4.1 (2025-06-11)
Repairs
- Enforce attributes concealment and immutability on modules.
v1.4: Fully support slotted classes.
Classcore v1.4 (2025-06-11)
Enhancements
- Fully support slotted classes. Bookkeeping attributes will now be in slots if
class is slotted. Potential performance improvement since names do not need to
be mangled for inheritance isolation. - Publicly expose the
TypedDict
which tracks available metaclass arguments
for the standard classes. This allows for easier extension by downstream
packages and centralizes documentation on the metaclasses interface.
Repairs
- Bugfix. Ensure idempotent execution in all scenarios: CPython vs PyPy, slotted
vs non-slotted. - Bugfix. Ensure that methods added by decoration properly respect class method
resolution order (MRO) when they are not wrapping existing methods.
v1.3.1
Classcore v1.3.1 (2025-06-08)
Repairs
- When reclassifying modules recursively, ensure that replacement class is
included in recursive invocations.
v1.3: Simplification of class decoration.
Classcore v1.3 (2025-06-08)
Enhancements
- Allow arbitrary class to be supplied to
reclassify_modules
. - Simplify production of class decorators.
Repairs
- Bugfix. Propagate error class provider from metaclass to class decorators.
v1.2
Classcore v1.2 (2025-06-05)
Enhancements
- Fill out docstrings for all public classes and functions in package.
- Integrate with Dynadoc. Adds special introspection control which avoid
docstring updates on immutable classes. Adds Dynadocwith_docstring
decorator to set of decorators on standard classes.
Repairs
- Address Pyright complaints about metaclass arguments in
class
statements.
v1.2rc0
Classcore v1.2rc0 (2025-06-05)
Enhancements
- Fill out docstrings for all public classes and functions in package.
- Integrate with Dynadoc. Adds special introspection control which avoid
docstring updates on immutable classes. Adds Dynadocwith_docstring
decorator to set of decorators on standard classes.
Repairs
- Address Pyright complaints about metaclass arguments in
class
statements.
v1.1
Classcore v1.1 (2025-05-01)
Repairs
- Fix interaction with slotted dataclasses on Python 3.11+.
- Properly report test coverage by considering doctests too. (Not a user-facing
fix; however important to note that coverage was 100% on initial release, but
Github Actions workflow was not properly setup to capture coverage from
doctests and so it only reported 95% coverage.)
v1.1rc0
Classcore v1.1rc0 (2025-05-01)
Repairs
- Fix interaction with slotted dataclasses on Python 3.11+.
- Properly report test coverage by considering doctests too. (Not a user-facing
fix; however important to note that coverage was 100% on initial release, but
Github Actions workflow was not properly setup to capture coverage from
doctests and so it only reported 95% coverage.)
v1.0
Classcore v1.0 (2025-04-29)
Enhancements
- Add support for CPython 3.10 to 3.13.
- Add support for PyPy 3.10.
- Base classes and class factory classes which provide standard behaviors
(immutability of all attributes after initialization, concealment of all
non-public attributes fromdir
) by default. Can apply additional decorators
and can tune for selective or total mutability or visibility. Enforce on class
attributes and instance attributes. - Class and dataclass decorators which apply a set of standard behaviors to
classes so that they produce instances which are immutable and which only
reveal public attributes by default. Decorators are tunable via arguments to
provide selective or total attributes mutability and visibility as desired. - Class decorator which accepts a sequence of other class decorators to apply.
Reduces height of decorator stacks and improves their reusability. - Decorators for modifying class factory classes (metaclasses) so that they can
handle inline application of decorators during production of classes. This
includes logic for the case where a decorator replaces a class rather than
modifies it. - Module class which enforces immutability and visibility limitation on module
attributes. (Visibility restriction is to reveal only public attributes to
dir
.) Also, conveience function which can reclassify a module or an entire
package, recursively, to use this class.