> ## Documentation Index
> Fetch the complete documentation index at: https://docs.synthefy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Pick the right Synthefy package for what you want to do.

Two packages run Nori. Pick by **where you want the model to run**:

| I want to…                                           | Install                     | Import                                    |
| ---------------------------------------------------- | --------------------------- | ----------------------------------------- |
| Run Nori **on my machine** (open-source, GPU or CPU) | `pip install synthefy-nori` | `from synthefy_nori import NoriRegressor` |
| Call **hosted Nori** (no GPU, no download)           | `pip install synthefy`      | `from synthefy import SynthefyNoriClient` |

* **`synthefy-nori`** is the open-source model itself. It downloads pretrained
  weights from Hugging Face and runs locally with a scikit-learn–style API.
  **Start here.**
* **`synthefy`** is the client. By default it sends your rows to the hosted
  endpoint and returns predictions, so it needs an [API key](/setup/api_key) but
  no GPU. It can also run the model locally — `mode="local"` with `pip install
  "synthefy[local]"` — so one code path covers both.

<Note>
  Both give you the same model. Use `synthefy-nori` to run it yourself; use
  `synthefy` to call it over the network. The two are independent — you do not
  need one to use the other.
</Note>

## Optional features

Text columns and SHAP need extra libraries. This installs both:

```bash theme={null}
pip install "synthefy-nori[interpretability,text]"
```

### Forecasting

Local forecasting needs the time-series extra. Install it directly from the
open-source model package:

```bash theme={null}
pip install "synthefy-nori[timeseries]>=0.15.0"
```

Import it with
`from synthefy_nori.nori_ts import NoriTSForecaster`. See the
[Forecasting guide](/nori/forecasting) for a complete example.

### Contributor extras

Only needed if you are working on the package itself, not using it:

| Extra   | Adds                | Needed for                           |
| ------- | ------------------- | ------------------------------------ |
| `eval`  | matplotlib, openml  | reproducing the published benchmarks |
| `train` | wandb, xgboost      | training a checkpoint from scratch   |
| `dev`   | build, pytest, ruff | running the test suite and linter    |

## Develop from source

```bash theme={null}
git clone https://github.com/Synthefy/synthefy-nori
cd synthefy-nori
uv sync --extra dev
```

## Next steps

<CardGroup cols={2}>
  <Card title="Nori Quickstart" icon="rocket" href="/nori/quickstart">
    Fit and predict in five lines, locally or through the hosted API.
  </Card>

  <Card title="API key" icon="key" href="/setup/api_key">
    Only needed for the hosted API. Running locally needs no key.
  </Card>
</CardGroup>
