-
💡 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) # %%
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 ✨
- No additional lock or requirements files are needed
- Guaranteed reproducibility
- Cleaner Git diffs
uv
– ultra-fast Python package managementPEP 723
– Python inline dependency standardsjupytext
-like format for easy version control