# Installation

Install the latest release from PyPI:

```
pip install oryxflow
```

To upgrade later:

```
pip install oryxflow -U
```

> [!NOTE]
>
> oryxflow is **Python 3 only**. If Python 3 is not your default, use `pip3 install oryxflow`. Behind an enterprise firewall you can clone the repository and run `pip install .` from its root instead.

## Development version

To install the latest unreleased code straight from GitHub:

```
pip install git+https://github.com/oryxintel/oryxflow.git
```

Or upgrade in place without touching dependencies:

```
pip install git+https://github.com/oryxintel/oryxflow.git -U --no-deps
```

## Optional extras

The core install keeps dependencies light. Enable the pieces you need with pip *extras*:

| Extra | Install | Adds |
| --- | --- | --- |
| Cloud storage (GCS) | `pip install "oryxflow[gcs]"` | Read/write task outputs on Google Cloud Storage |
| Cloud storage (S3) | `pip install "oryxflow[s3]"` | Read/write task outputs on Amazon S3 |
| Cloud storage (base) | `pip install "oryxflow[cloud-base]"` | fsspec/`universal_pathlib` backend without a specific provider |
| Report notebooks | `pip install "oryxflow[notebook]"` | Run report notebooks as tasks (papermill + nbconvert) |
| Dask | `pip install "oryxflow[dask]"` | Dask DataFrame task types |
| LLM evals | `pip install "oryxflow[evals]"` | Installs [`oryxeval`](<https://docs.oryxflow.dev/docs/llm-evals/index.md>); needs Python 3.10+ |

After installing a cloud extra, point the engine at remote storage with `oryxflow.enable_gcs(bucket, prefix=None)` or the generic `oryxflow.enable_cloud_storage(protocol, bucket, prefix=None)`. See [Collaborate &amp; share flows](<https://docs.oryxflow.dev/docs/collaborate/index.md>) for the full workflow.

## Build with an AI assistant

If you use [Claude Code](<https://claude.com/claude-code>), the official plugin can scaffold your project and wire task dependencies for you:

```
/plugin marketplace add https://github.com/oryxintel/oryxflow-claude-plugin.git
/plugin install oryxflow@oryxintel
```

When `/plugin` asks where to install, pick **Install for you (user scope)** so the plugin works in every project, not just this one. From a shell, `claude plugin install oryxflow@oryxintel` installs at user scope by default.

See [Build with Claude Code](<https://docs.oryxflow.dev/docs/claude-plugin/index.md>) for what it sets up.

## Next steps

- [Quickstart](<https://docs.oryxflow.dev/docs/quickstart/index.md>) — build your first pipeline: results you can trust and reproduce.
- [Transition from scripts](<https://docs.oryxflow.dev/docs/transition/index.md>) — convert an existing analysis script.
