optree v0.15.0
Added
- Explicitly set recursion limit for recursion tests by @XuehaiPan in #207.
- Dump build-time meta-information to C extension by @XuehaiPan in #215.
- Use
pybind11::native_enum
to create enum classPyTreeKind
if available by @XuehaiPan in #214. - Enable
pybind11::smart_holder
to create classPyTreeSpec
andPyTreeIter
if available by @XuehaiPan in #217. - Implement optional
tp_clear
for classPyTreeSpec
andPyTreeIter
by @XuehaiPan in #218. - Add function
tree_partition
by @pfackeldey in #222. - Add Python 3.14 and Python 3.14t support by @XuehaiPan in #216.
Changed
- Enforce naming convention of packages with singular and plural:
optree.{accessor,integration}
->optree.{accessors,integrations}
by @XuehaiPan in #209. - Allow creating dataclass types in the global namespace by @XuehaiPan in #212.
- Migrate to
setuptools>=77
for PEP-639 by @XuehaiPan in #208. - Update minimal version of
typing-extensions
to 4.6.0 fortyping_extensions.TypeAliasType
by @XuehaiPan in #216.
Fixed
- Never call
PyType_Ready
twice and usePyType_Modified
instead by @XuehaiPan in #214. - Fix
optree.typing.PyTree[T]
for Python 3.14 due to immutableUnionType
by @XuehaiPan in #216.
Removed
- Drop Python 3.8 support by @XuehaiPan in #206.
- Retire benchmark script by @XuehaiPan in #211.
New Contributors
- @pfackeldey made their first contribution in #222
Full Changelog: v0.15.0...v0.16.0