v0.2.0 — Notebook Linter
What's New
Notebook Linter (nbaide lint)
The first tool that scores Jupyter notebooks for AI agent readability.
nbaide lint notebook.ipynb # Score 0-100 with issue report
nbaide lint notebook.ipynb --fix # Auto-fix: 56/100 → 80/100 in one command
nbaide lint notebook.ipynb --check # CI integration (non-zero exit if low score)10 rules across 4 categories:
- AIR001-005: Output size, error tracebacks, stream noise, redundant images
- AID001: Wide DataFrames
- AIM001: Charts missing titles
- AIN001-003: Notebook structure, execution state, nbaide metadata
6 of 10 rules are auto-fixable. --fix strips oversized outputs (keeping structured metadata), removes error tracebacks, cleans stream noise, and injects nbaide.install().
Plotly Support
Full plotly figure formatter: scatter, bar, histogram, heatmap, pie, box, violin traces with adaptive data sampling and trend detection.
numpy Support
ndarray formatter with shape, dtype, global stats, per-column stats for 2D arrays, and adaptive data sampling.
Plugin System
nbaide.register(MyType, format_func) — register custom type formatters with minimal ceremony. Late registration works after install().
CLI Read Command
nbaide read notebook.ipynb --cell 7 --type dataframe — extract structured data from any cell's outputs.
Full Changelog
- 253 tests (up from 75 in v0.1.0)
- 4 formatters: pandas, matplotlib, numpy, plotly
- 3 CLI commands: manifest, read, lint
- Plugin system with late registration
- Shared trend detection and adaptive sampling utilities
- CI test workflow across Python 3.10-3.13