原文
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
原始链接: https://news.ycombinator.com/item?id=44043421
Juvio是一个新的Jupyter内核,简化了笔记本的依赖项管理。它利用PEP 723将项目需求直接存储在笔记本中,无需单独的requirements文件。打开笔记本时,Juvio会使用UV自动创建一个临时的环境,其中包含指定的依赖项,从而确保可重复性。这允许用户轻松共享笔记本,而不会出现依赖冲突。一些用户表达了对维护锁文件的担忧。另一些用户将其与`marimo.io`和`juv`等现有解决方案进行了比较,强调了其独特的特性:在同一个JupyterLab会话中为每个笔记本创建单独的虚拟环境。虽然Juvio不支持`pyproject.toml`或JupyterLite,但它旨在解决轻松共享具有已定义依赖项的笔记本的常见问题。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Could be fantastic for my use-case. We have a large repo of notebooks that are generally write-once, sometimes-re-run. Having a separate repo/venv/kernel per notebook would be a big overhead, so I currently just try to do a kind of semantic versioning where I make a new kernel on something like a 6-month cadence and try to keep breaking dependency changes to a minimum in that window. I can then keep around the old kernels for running old notebooks that depend on them. This is not at all an ideal state.
Thanks for sharing!
reply