8000 GitHub - OKUA1/juvio: UV kernel for Jupyter
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

OKUA1/juvio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

Juvio: reproducible, dependency-aware, and Git-friendly Jupyter Notebooks.

🚀 What It Does

  • 💡 Inline Dependency Management

    Install packages right from the notebook:

    %juvio install numpy pandas

    Dependencies are saved directly in the notebook as metadata (PEP 723-style), like:

    # /// script
    # requires-python = "==3.10.17"
    # dependencies = [
    # "numpy==2.2.5",
    # "pandas==2.2.3"
    # ]
    # ///
  • ⚙️ Automatic Environment Setup

    When the notebook is opened, Juvio installs the dependencies automatically in an ephemeral virtual environment (using uv), ensuring that the notebook runs with the correct versions of the packages and Python.

  • 📁 Git-Friendly Format

    Notebooks are converted on the fly to a script-style format using # %% markers, making diffs and version control painless:

    # %%
    %juvio install numpy
    # %%
    import numpy as np
    # %%
    arr = np.array([1, 2, 3])
    print(arr)
    # %%

🧑‍💻 How to Use

Warning

This project is currently in early beta. It may contain bugs and is subject to change. Please open an issue to report problems or suggest improvements.

1. Install Juvio:

pip install juvio
jupyter labextension enable juvio-frontend

2. Make sure you have uv installed:

https://docs.astral.sh/uv/getting-started/installation/

3. Start JupyterLab and create a Juvio Notebook.

4. Install necessary packages in the notebook and run your code

  %juvio install ...

Dependencies are tracked, environments are reproducible, and your notebook stays Git-clean ✨

Known issue: If you experience the error "Notebook does not appear to be JSON", try to lauch the jupyterlab with an additional argument:

jupyter lab --ServerApp.jpserver_extensions="{'juvio': True}"

Why Use Juvio?

  • No additional lock or requirements files are needed
  • Guaranteed reproducibility
  • Cleaner Git diffs

Powered By

  • uv – ultra-fast Python package management
  • PEP 723 – Python inline dependency standards
  • jupytext-like format for easy version control

About

UV kernel for Jupyter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0