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.2.0.tar.gz (49.7 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.2.0-py3-none-any.whl (70.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for picsellia_pipelines_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1206895969026c0cb30873465b432fb4ae2aa4b58c6b13bc3c17e6ef5dd80271
MD5 7586e9418909dd9a326446d1c1f4ac2b
BLAKE2b-256 d1e74791141b11e7cf94eee03c19a5b0e9a44a31e61757450a212b542438c25d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for picsellia_pipelines_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d139f23657693d5714662e7b66ba7bd6a0fddf64c9d79a684f6899780617a02f
MD5 70906f40388a1a08d2414df821507c77
BLAKE2b-256 a508706d57da178f323dd562514ade3eb6d0b205342224c97c3874a41abc8941

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