Metadata-Version: 2.4
Name: nbpipe
Version: 0.1.5
Summary: Run sequences of Jupyter notebooks as a workflow from the command line or the JupyterLab sidebar
Project-URL: Homepage, https://github.com/ngafar/nbpipe
Project-URL: Repository, https://github.com/ngafar/nbpipe
Project-URL: Issues, https://github.com/ngafar/nbpipe/issues
Author: Nawaz Gafar
License: MIT
License-File: LICENSE
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: ipykernel>=6.0
Requires-Dist: jupyter-client>=8.0
Requires-Dist: jupyter-server>=2.0
Requires-Dist: nbformat>=5.1
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

# nbpipe

Run sequences of Jupyter notebooks as a workflow from the command line or the JupyterLab sidebar.

![nbpipe demo](https://raw.githubusercontent.com/ngafar/nbpipe/main/assets/nbpipe-demo.gif)

## Installation

```bash
pip install nbpipe
```

## Usage

Create a `.nbpipe/` directory at the root of your project and add a workflow YAML file inside it. 

```yaml
# .nbpipe/my_workflow.yaml

name: my_workflow
steps:
  - notebook: prepare_data.ipynb
    output: data/processed.csv
  - notebook: train_model.ipynb
```

Run it from the CLI:

```bash
nbpipe run .nbpipe/my_workflow.yaml
```

or from the JupyterLab sidebar.

## Step fields

| Field | Required | Description |
|-------|----------|-------------|
| `notebook` | yes | Notebook to run, relative to the project root. |
| `output` | no | File the notebook must produce — workflow fails if absent. Supports wildcards (e.g. `report_*.csv`). |
