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.2.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.2-py3-none-any.whl (76.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 bcaeedf337582f717d8e1b4dcd99e1ecef7e2d952140f1535c15ace53ca797af
MD5 34e1b2f0d19b4cdedd923a2227b0d123
BLAKE2b-256 6c4e4993ea4e517be3858d0edac0f02a4db2b0c8ada5f412a59ae75e0be16ef1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: picsellia_pipelines_cli-0.3.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9b79ad8e98c60af4e72ef4dde0f663987f7b842878bdca14375e223db278067b
MD5 0f96886b531d2f8e6f4a3c5b4bbc78a5
BLAKE2b-256 931e76074e9f1ddeba22612024fa8c66ab25d5effb9c90a6d33105ab4c6400f0

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