Skip to main content

No project description provided

Project description

🧪 Picsellia Pipelines CLI

A command-line tool to create, test, deploy, and manage training and processing pipelines for Picsellia.

Built with Typer for intuitive CLI usage.


Installation

Install the CLI directly from GitHub (no need to clone the repo):

Using Poetry:

poetry add picsellia-pipelines-cli

Using uv (faster, works with requirements.txt or pyproject.toml):

uv pip install picsellia-pipelines-cli

You can now use:

pxl-pipeline --help

Available Commands

🔹 All CLI commands are structured like this:

pxl-pipeline [init|test|deploy|smoke-test|sync] <pipeline_name>

The pipeline type is resolved automatically from its config file (config.toml), except during init.

🔧 Initialize a Pipeline

pxl-pipeline init <pipeline_name> --type [training|processing] --template <template>

Examples:

pxl-pipeline init yolov8 --type training --template ultralytics
pxl-pipeline init resize-images --type processing --template dataset_version_creation

This generates:

  • a config.toml with pipeline metadata

  • a Dockerfile, .dockerignore, and dependency file (pyproject.toml or requirements.txt)

  • scripts for both picsellia_pipeline.py and local_pipeline.py

  • pre-filled steps.py and utility files

You can customize templates in your own extensions later.

After Initialization

Once the pipeline is initialized:

  • A local virtual environment is automatically created inside the pipeline directory (<pipeline_name>/.venv)
  • You can directly activate it and run any pipeline-related commands:
cd <pipeline_name>
source .venv/bin/activate  # or .venv\Scripts\activate.bat on Windows

You can still use the CLI from inside the venv:

pxl-pipeline test <pipeline_name>

🧪 Test Locally

pxl-pipeline test <pipeline_name>

Runs the pipeline in a local virtualenv (.venv/) and prompts for required parameters (e.g., dataset version ID, experiment ID, etc.).

🔥 Smoke Test in Docker

pxl-pipeline smoke-test <pipeline_name>

Builds the Docker image for the pipeline and runs it locally to validate that everything (code + dependencies + env) works inside the container.

🚀 Deploy to Picsellia

pxl-pipeline deploy <pipeline_name>

Builds and pushes the Docker image to your configured registry and registers the pipeline in Picsellia (either as a training pipeline or a dataset processing job).

🔁 Sync Parameters (Processing Only)

pxl-pipeline sync <pipeline_name>

For processing pipelines, this updates the default parameters stored in Picsellia based on your Parameters class and config.toml.

Training sync is not yet implemented.

📁 Project Structure Example

resize-images/
├── config.toml
├── Dockerfile
├── picsellia_pipeline.py
├── local_pipeline.py
├── steps.py
├── utils/
│   ├── parameters.py
│   └── processing.py
└── pyproject.toml

💡 Tips

  • You can override the output directory on init with --output-dir
  • Virtual environments are created in <pipeline_name>/.venv by default
  • You can always edit config.toml to change pipeline metadata or execution scripts

Made with ❤️ by the Picsellia team.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

picsellia_pipelines_cli-0.3.1.tar.gz (54.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

picsellia_pipelines_cli-0.3.1-py3-none-any.whl (76.2 kB view details)

Uploaded Python 3

File details

Details for the file picsellia_pipelines_cli-0.3.1.tar.gz.

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.1.tar.gz
  • Upload date:
  • Size: 54.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for picsellia_pipelines_cli-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fc1cf04e31565f377b02d33ebe9a82022fba1bb9f244ab6cca967fa6b1635641
MD5 0a6c476a35096d2916ead20ee59df217
BLAKE2b-256 548f7c5a8ea2fc9a29e53f312acc1d752d0231f49f3a4a43f043bcd56b2a287c

See more details on using hashes here.

File details

Details for the file picsellia_pipelines_cli-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 76.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.10 {"installer":{"name":"uv","version":"0.9.10"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for picsellia_pipelines_cli-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a3f3a756b7356a650dc74fd207650a4c688513eeb65ab5871a7c07739ea350cf
MD5 39ae35f0ed719a8cf0dda3eb332bf4f5
BLAKE2b-256 e20bac41d9d4c5ba59f668c95e6aa994767d369d19d98e6ba2284b8498458ca8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page