Skip to content

v0.3.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jan 18:05
· 1 commit to main since this release
e0ce712

Release Notes

This release adds support for generating lockfiles from Jupyter notebooks using inline metadata, as defined in PEP 723. It is based on uv's recent support for locking standalone scripts, except instead of writing a separate lockfile, juv embeds (and updates) a lockfile in the Jupyter notebook metadata.

By default, notebooks remain unlocked. To lock a notebook, run juv lock /path/to/notebook.ipynb, which generates and embeds a lockfile in the notebook's metadata under the "uv.lock" key. The lockfile is respected and updated automatically when using juv run, uv add, or uv remove.

Additional commands:

  • juv export: Outputs an alternative lockfile format (requirements.txt
    style) to stdout.
  • uv tree: Displays the dependency tree for a script.

Both commands work with notebooks, whether locked or unlocked.

This release is considered breaking due to the lockfile support, which requires a minimum uv 0.5.18 and modifies execution.

Breaking changes

  • Upgrade minimum uv to v0.5 (#63)
  • Respect lockfile in run (#67)

Enhancements

  • Add --clear flag to lock to clear lockfile metadata (#69)
  • Add export command (#70)
  • Add lock command (#64)
  • Add tree command (#68)
  • Sync lockfile during add command (#65)
  • Sync lockfile during remove command (#66)

Bug fixes

  • Require at least one package for add and remove (#73)
  • Support relative paths in the run command (#72)

Contributors