v2.3.2 — DotDict Gets Its Groove Back
What happened
v2.3.0 replaced python-box with dotdict3 for a 12x speedup, but dropped all serialization methods. .to_dict() calls in the CLI and user code would crash with AttributeError. This release fixes that — we vendored dotdict3 in-tree and added back all the Box-compatible serialization methods.
What's new
DotDict.to_dict()— recursive conversion to plain dicts/listsDotDict.to_json()— JSON string or file (stdlib, zero deps)DotDict.to_yaml()— YAML string or file (needspyyaml)DotDict.to_toml()— TOML string or file (needstoml)DotDict.to_msgpack()— msgpack bytes or file (needsmsgpack)
Performance
to_dict() is 2.3x faster than python-box's equivalent (8.44µs vs 19.23µs per op), since we're not dragging in SphinxBox, configBox, and the rest of python-box's feature creep.
Breaking changes
dotdict3is no longer a dependency — if you were importingfrom dotdict3 import DotDictdirectly in your code, change tofrom chunklet.common.dotdict import DotDict
What's gone
- External
dotdict3dependency (vendored inchunklet.common.dotdict) - Stale "Box" references in docs (now pointing to auto-generated API docs)
Full changelog
https://github.com/speedyk-005/chunklet-py/blob/main/CHANGELOG.md#232