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.0.tar.gz (54.5 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.0-py3-none-any.whl (76.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 54.5 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.0.tar.gz
Algorithm Hash digest
SHA256 8d7f5d4a556f05c6301e725fe04c34854676e1b60bb5ea2187e5721854ae1cb3
MD5 ecf8cb8c35d9fa4cb830b138813cb012
BLAKE2b-256 6d021ff8205b15ca06a75613016f3a99d6c9ac52348ea4cbed2246c7e6b5b034

See more details on using hashes here.

File details

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

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 76.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89245f598b23edacc2d6990ad35db26683509ed42ddb982771e76a3a11e5db44
MD5 70afad81bb98fca6ea7ebcfda419ecda
BLAKE2b-256 b0e7f534e6f018fd59b232642ea5350a4313a15647aeace2820a45225b193ee7

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