Metadata-Version: 2.4
Name: picsellia-cv-engine
Version: 0.5.9
Author-email: SoniaGrh <sonia.garrouch@picsellia.com>
Requires-Python: <3.14,>=3.10
Requires-Dist: numpy<2.0.0,>=1.21
Requires-Dist: pandas<3.0.0,>=1.3
Requires-Dist: picsellia<7.0.0,>=6.30.1
Requires-Dist: pycocotools<3.0.0,>=2.0.4
Requires-Dist: scikit-learn<1.7,>=1.1
Requires-Dist: tabulate<0.10,>=0.8
Requires-Dist: toml<0.11.0,>=0.10.2
Provides-Extra: clip
Requires-Dist: accelerate==1.9.0; extra == 'clip'
Requires-Dist: datasets==4.0.0; extra == 'clip'
Requires-Dist: hdbscan==0.8.40; extra == 'clip'
Requires-Dist: matplotlib==3.10.5; extra == 'clip'
Requires-Dist: opencv-python==4.11.0.86; extra == 'clip'
Requires-Dist: protobuf==6.31.1; extra == 'clip'
Requires-Dist: torch==2.7.1; extra == 'clip'
Requires-Dist: torchvision==0.22.1; extra == 'clip'
Requires-Dist: transformers==4.54.1; extra == 'clip'
Requires-Dist: umap-learn==0.5.9.post2; extra == 'clip'
Provides-Extra: sam2
Requires-Dist: fvcore==0.1.5.post20221221; extra == 'sam2'
Requires-Dist: hydra-core>=1.3.2; extra == 'sam2'
Requires-Dist: iopath>=0.1.10; extra == 'sam2'
Requires-Dist: opencv-python==4.11.0.86; extra == 'sam2'
Requires-Dist: picsellia-sam2==0.1.0; extra == 'sam2'
Requires-Dist: submitit==1.5.3; extra == 'sam2'
Requires-Dist: tensorboard==2.20.0; extra == 'sam2'
Requires-Dist: tensordict==0.6.0; extra == 'sam2'
Requires-Dist: torchvision>=0.20.1; extra == 'sam2'
Requires-Dist: tqdm>=4.66.1; extra == 'sam2'
Provides-Extra: ultralytics
Requires-Dist: torch==2.7.1; extra == 'ultralytics'
Requires-Dist: ultralytics<9.0,>=8.0; extra == 'ultralytics'
Description-Content-Type: text/markdown

# Picsellia CV Engine

**Picsellia CV Engine** is a modular engine for building, testing, and deploying computer vision pipelines — fully integrated with the Picsellia platform.

Whether you're transforming datasets, training models, or tracking experiments, this engine helps you organize everything into **clean, reusable components**.

## 🧠 What’s a pipeline?

A pipeline is a structured sequence of actions — like:

- 🧼 Preprocessing images
- 🧪 Training a model
- 📊 Evaluating predictions
- ☁️ Uploading results to Picsellia

Each action is implemented as a step — a small, focused function decorated with @step.

You can chain together these steps inside a @pipeline, and run it locally or on Picsellia.

## 🚀 Getting Started

Install from PyPI:

- With uv:

```bash
uv add picsellia-cv-engine
uv add picsellia-pipelines-cli
```

 - With pip:

```bash
pip install picsellia-cv-engine
pip install picsellia-pipelines-cli
```

## 🛠 Create and run your first pipeline

Use the Picsellia Pipelines CLI to scaffold and manage your pipelines.

### 1. Initialize a pipeline

```bash
pxl-pipeline init my_pipeline --type training --template ultralytics
```
This generates everything you need: config, Dockerfile, code templates, and a virtual environment.

➡️ See [pipeline lifecycle and commands](https://picselliahq.github.io/picsellia-cv-engine/usage/cli_overview/)

### 2. Run it locally
```bash
pxl-pipeline test my_pipeline
```

### 3. Deploy to Picsellia

```bash
pxl-pipeline deploy my_pipeline
```

🔎 Want real examples?
Explore the [pipeline usage templates](https://picselliahq.github.io/picsellia-cv-engine/usage/) for training and processing workflows.

## 📘 Documentation

The full documentation is available at:
👉 https://picselliahq.github.io/picsellia-cv-engine/

It includes:

- Getting Started
- CLI Usage Guide
- API Reference
- Pipeline templates & examples

## 🧑‍💻 Local Development

To contribute or explore the code:

### 1. Clone the repo

```bash
git clone https://github.com/picselliahq/picsellia-cv-engine.git
cd picsellia-cv-engine
```

### 2. Install dependencies

```bash
uv sync
```

### 3. Run the documentation

```bash
uv run mkdocs serve -a 127.0.0.1:8080
```
Then open http://127.0.0.1:8080 in your browser.
