v0.3.5
What's Changed
- Breaking:
isparamclassdefault value forrawis nowTrue - Removed
RawParamClass.__post_init__, now optional method __signature__property (works with vanilla__post_init__or@classmethod/@staticmethod):
class A(ParamClass):
x: int
y: float = 0.1
@staticmethod
def __post_init__(pos_only_arg: str, /) -> None:
self.z = pos_only_arg>>> inspect.signature(A)
<Signature (post_init_args=[], /, *, x: int = ?, y: float = 0.1)>- MRO of paramclasses must now put all paramclasses first (fixes #28)
- Internals better enforce standard use of paramclasses and make manual use of
type(ParamClass)more difficult (see_run_onceuses and_check_valid_mro)
Merged PRs
- 33:
__post_init__signature by @ego-thales in #35
New Contributors
- @ego-thales made their first contribution in #35
Full Changelog: v0.3.4...v0.3.5