Installation
Requirements
Section titled “Requirements”- Python 3.10 or higher
- PyTorch 2.7+
- A CUDA-capable GPU is recommended for running models
Install
Section titled “Install”pip install murano-interpThe base install is deliberately lean: it carries only what every workflow needs (recording, steering, intervention, the causal substrate). Feature-specific libraries ship as extras, so you install for what you actually do:
| Extra | Use case | Pulls in |
|---|---|---|
| (base) | recording, steering, intervention, logits, ablation, metrics, paired datasets | nnsight, nnterp, torch, transformers |
probe | linear probing | scikit-learn |
data | loading datasets by name from the Hub | datasets |
plot | figures and visualizations | matplotlib, seaborn, plotly |
sae | sparse autoencoder features | sae-lens |
all | everything above | all of the above |
Combine extras as needed:
pip install "murano-interp[probe,plot]" # probing with figurespip install "murano-interp[all]" # everythingIf you call a feature whose extra is not installed, Murano raises a clear error naming the extra to install.
The PyPI distribution is murano-interp (the bare name murano is held by an
unrelated OpenStack project). The Python module name is unchanged: import murano.
Development install
Section titled “Development install”If you want to contribute or run from source:
git clone https://github.com/UKPLab/muranocd muranouv sync --all-extras --devOr with pip:
pip install -e ".[plot]"HuggingFace setup
Section titled “HuggingFace setup”Murano loads models from HuggingFace Hub. On first use, models are downloaded to the local cache (~/.cache/huggingface/hub). Subsequent runs load from cache without network access.
If your models require authentication (e.g. gated Llama weights), log in first:
huggingface-cli loginVerify the install
Section titled “Verify the install”import muranomodel = murano.Model("meta-llama/Llama-3.2-1B-Instruct")print(model) # MuranoModel('meta-llama/Llama-3.2-1B-Instruct', layers=16, d=2048)