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.tomlwith pipeline metadata -
a
Dockerfile,.dockerignore, and dependency file (pyproject.tomlorrequirements.txt) -
scripts for both
picsellia_pipeline.pyandlocal_pipeline.py -
pre-filled
steps.pyand 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>/.venvby default - You can always edit config.toml to change pipeline metadata or execution scripts
Made with ❤️ by the Picsellia team.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcaeedf337582f717d8e1b4dcd99e1ecef7e2d952140f1535c15ace53ca797af
|
|
| MD5 |
34e1b2f0d19b4cdedd923a2227b0d123
|
|
| BLAKE2b-256 |
6c4e4993ea4e517be3858d0edac0f02a4db2b0c8ada5f412a59ae75e0be16ef1
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b79ad8e98c60af4e72ef4dde0f663987f7b842878bdca14375e223db278067b
|
|
| MD5 |
0f96886b531d2f8e6f4a3c5b4bbc78a5
|
|
| BLAKE2b-256 |
931e76074e9f1ddeba22612024fa8c66ab25d5effb9c90a6d33105ab4c6400f0
|