v3.3.1
Breaking Changes / Bug Fixes
The breaking changes are minimal and probably negatively impacts 0 users, but are listed here for completeness.
-
Cyclopts now properly resolves aliases (and similar) for
attrsandpydantic. -
The
cyclopts.field_info.FieldInfono longer is a subclass ofinspect.Parameter; it is now an independent class that mimics many ofinspect.Parameterattributes. The class's__init__now takesnames: tuple[str, ...]instead of a singlename: str. This is because certain-dataclass-like objects (namely, pydantic) allows for multiple python-variables to be mapped to the same attribute. The class still maintains aname: strproperty that returns the first element of thenamesattribute. This single name is used whenever an arbitrary choice for selecting a field's name needs to be used.It was never intended for users to directly instantiate this class, and the
nameproperty makes it backwards compatible for those accessing the object. Probably noone actually accessesFieldInfoobjects outside of Cyclopts' internals. -
In some situations, an
ArgumentOrderErrorcould be erroneously raised when anUnknownOptionErrorwould have been more appropriate. In those situations, anUnknownOptionErroris now raised.
Full Changelog: v3.3.0...v3.3.1