Skip to content

Releases: runsascoded/juq

v0.7.0

11 Jan 05:34

Choose a tag to compare

What's New

juq nb command group

New unified command group for notebook transformations:

  • juq nb fmt - format/filter notebook fields
  • juq nb run - run notebook with papermill (alias for juq papermill run)
  • juq nb clean - clean papermill metadata (alias for juq papermill clean)

Field filtering in juq nb fmt

Filter notebook fields with short flags:

  • -s/-S sources
  • -o/-O outputs
  • -a/-A attachments
  • -i/-I cell IDs
  • -m/-M cell metadata
  • -c/-C execution counts
  • -b/-B notebook metadata

Lowercase = keep only, uppercase = drop.

juq nb fmt -s file.ipynb        # sources only
juq nb fmt -s -o file.ipynb     # sources + outputs
juq nb fmt -O file.ipynb        # drop outputs
juq nb fmt -w -S file.ipynb     # in-place, drop sources

Build system

Switched to hatchling + hatch-vcs for dynamic versioning from git tags.

Full Changelog: v0.6.0...v0.7.0

v0.6.0

06 Jan 22:01

Choose a tag to compare

What's Changed

Breaking Changes

  • write_nb() now infers indent/trailing-newline from existing file - When writing notebooks, formatting is automatically preserved from the original file unless explicitly specified

New Features

  • juq fmt command - Normalize notebook JSON formatting (indent, trailing newline) without other changes
  • write_nb() function - Standalone function for writing notebooks with automatic format inference, useful for programmatic notebook manipulation

Bug Fixes

  • Fix -o/--out-path option - The -o flag was being silently ignored due to a Click parameter name collision with the positional OUT_PATH argument. Both now work correctly.

Improvements

  • Preserve cell IDs by default - juq papermill run and juq papermill clean now keep cell IDs by default (-I/--keep-ids), reducing git diff noise. Use -D/--drop-ids to restore old behavior.
  • Tests now run on all Python versions - Removed Python 3.11.13-specific xfail markers by normalizing notebook comparisons (Python version, ANSI codes, cell IDs)

Full Changelog: v0.5.2...v0.6.0

v0.5.2

11 Oct 03:54

Choose a tag to compare

What's Changed

Full Changelog: v0.5.1...v0.5.2