Skip to content

Releases: emcd/python-classcore

v1.4.2

12 Jun 01:37
v1.4.2
bfe4b76
Compare
Choose a tag to compare

Classcore v1.4.2 (2025-06-12)

Repairs

  • Ensure that custom attributes namer is passed during recursive module
    reclassification.

v1.4.1

11 Jun 04:32
v1.4.1
4768d07
Compare
Choose a tag to compare

Classcore v1.4.1 (2025-06-11)

Repairs

  • Enforce attributes concealment and immutability on modules.

v1.4: Fully support slotted classes.

11 Jun 02:33
v1.4
ce435b6
Compare
Choose a tag to compare

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

08 Jun 04:19
v1.3.1
4cb73df
Compare
Choose a tag to compare

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.

08 Jun 03:03
v1.3
d858659
Compare
Choose a tag to compare

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

05 Jun 22:52
v1.2
4e4fd69
Compare
Choose a tag to compare

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 Dynadoc with_docstring
    decorator to set of decorators on standard classes.

Repairs

  • Address Pyright complaints about metaclass arguments in class statements.

v1.2rc0

05 Jun 22:31
v1.2rc0
b12d30a
Compare
Choose a tag to compare

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 Dynadoc with_docstring
    decorator to set of decorators on standard classes.

Repairs

  • Address Pyright complaints about metaclass arguments in class statements.

v1.1

01 May 22:34
v1.1
3d520f1
Compare
Choose a tag to compare

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

01 May 22:03
v1.1rc0
62fe1d3
Compare
Choose a tag to compare

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

29 Apr 23:26
v1.0
f0d3d23
Compare
Choose a tag to compare

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 from dir) 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.