Skip to content

Releases: Philip-S-Martin/paramclass

Release v1.1.1

Choose a tag to compare

@Philip-S-Martin Philip-S-Martin released this 02 Jun 15:41

paramclass 1.1.1

June 2026

Summary

paramclass 1.1.1 improves the public developer experience for the project and
expands the declarative parameter model. Public class-body assignments now behave
more consistently as deferred, overrideable parameters, including literals,
collections, language constants, and standalone lambdas.

This release also adds UV-based development workflows, test coverage, and public
documentation.

Highlights

  • Added UV project metadata and a reproducible uv.lock.
  • Added public README documentation with project motivation, examples, timeline,
    development commands, and current limitations.
  • Added pytest-based regression coverage for the core ParamClass behavior.
  • Added support for literal assignments as deferred parameters.
  • Added support for nested links inside lists, tuples, and dictionaries.
  • Added support for standalone lambda assignments as overrideable parameters.
  • Added support for True, False, and None as parameter values.
  • Preserved normal behavior for methods, properties, static methods, class
    methods, nested classes, and dunder attributes.
  • Improved linker handling for closed linkers and unhashable outer objects.

Example

from paramclass import ParamClass


class Demo(ParamClass):
    x = 2
    y = x + 3


assert Demo().y == 5
assert Demo(x=10).y == 13

Compatibility Notes

This release changes the semantics of public class-body literal assignments.
Values such as x = 2, enabled = True, and transform = lambda x: x + 1 are
now treated as deferred parameters instead of plain class attributes.

Methods and descriptors remain class members, not parameters.

Python boolean operators such as and, or, and not still require immediate
truth values during class creation and are not deferred by the tracing layer.

Validation

The release was validated with:

uv run --extra dev pytest
uv build

Release v1.0.0

Choose a tag to compare

@Philip-S-Martin Philip-S-Martin released this 01 Jan 19:21
2c9d8c6

First release.