logo
# **Juvio**: reproducible, dependency-aware, and Git-friendly Jupyter Notebooks. ## 🚀 What It Does - 💡 **Inline Dependency Management** Install packages right from the notebook: ```python %juvio install numpy pandas ``` Dependencies are saved directly in the notebook as metadata (PEP 723-style), like: ```python # /// 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: ```python # %% %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](../../issues) to report problems or suggest improvements. **1. Install Juvio:** ```bash 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** ```python %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: ```bash 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