·
1 commit
to main
since this release
v0.2.0 - 2026-05-05
💥 BREAKING CHANGES
- (pretty) top-level PrettyOptions, Spec types, pdoc, and registry helpers are no longer exported; custom pretty hooks now use pretty(ctx, depth), and formatting options are passed as keyword overrides instead of a PrettyOptions object. - b05a605 by @liblaf
- (pretty) the old internal _conf, _describe, _lower, _spec, and _trace modules are replaced by common, custom, literals, and stages packages, and custom pretty hooks now receive only ctx instead of ctx, depth - 4320439 by @liblaf
- (api)
pformat()now returnsstrinstead ofLoweredNode.
Useplower()for the old behavior where a Rich renderable is returned.
Split the public API into two clear paths:
plower()builds a width-aware Rich renderable (the oldpformat).pformat()captures that renderable as plain text with a safe console.
This eliminates the need to call .to_plain() manually in the common
case and makes the default experience more predictable for log and
snapshot use cases. - 254f2bc by @liblaf
✨ Features
- (api) expose spec-based pretty-printing API - cd5f82f by @liblaf
- (api) [breaking] introduce plower() and make pformat() return plain text - 254f2bc by @liblaf
- (custom) add lazy array summaries for NumPy, JAX, Torch, and Warp - f72fbaf by @liblaf
- (pretty) [breaking] streamline public formatting API - b05a605 by @liblaf
- (pretty) [breaking] reorganize custom formatting and stage modules - 4320439 by @liblaf
🐛 Bug Fixes
- (pretty) keep multiline items from swallowing siblings - f01fe93 by @liblaf
- correct empty set and annotated value formatting - 8aaa619 by @liblaf
📝 Documentation
- rewrite pretty docs around the public API - 430b150 by @liblaf
- update README badges - 3148aa1 by @liblaf
♻️ Code Refactoring
- (lowered) simplify layout fits logic and annotation rendering - 8acc3a1 by @liblaf
- (pretty) move trace and lower behavior onto model objects - 3d48cd2 by @liblaf
🛠 Builds
❤️ Contributors
- @liblaf
- @renovate[bot] made their first contribution in #21