vitroflow
Command-line client and native Worker runtime for a VitroFlow workbench. The workbench owns experiments, datasets, review state, and training runs; this package runs the inference and training Workers that serve it and moves datasets between a workbench and a local data root.
Worker services run under launchd and therefore require macOS. The dataset, recognize, and traditional commands run wherever Python 3.11+ is available.
Install
uv tool install 'vitroflow[yolo]'
The yolo extra installs the pinned Ultralytics runtime that inference and training Workers advertise. Without it, an inference Worker serves only the bundled traditional detector and a training Worker cannot start.
Workers
Each Worker profile has a stable worker ID, role-specific credentials, runtime capabilities, and a private work directory. Setup validates authentication, runtime imports, and the selected device before saving the profile, then installs and starts a LaunchAgent:
vitroflow worker setup inference mac-inference \
--server https://<workbench> \
--device mps
vitroflow worker setup training mac-training \
--server https://<workbench> \
--device mps
The Worker token is prompted without echo and stored in ~/.vitroflow/profiles/<profile>/config.toml with mode 0600; LaunchAgent files contain no credentials.
vitroflow worker list
vitroflow worker status mac-training
vitroflow worker doctor mac-training
vitroflow worker logs mac-training --follow
vitroflow worker restart mac-training
vitroflow worker stop mac-training
vitroflow worker run <profile> runs a Worker in the foreground without launchd.
Datasets
Dataset transfer uses /api/transfer/ with a personal API key that holds the transfer scope:
export VITROFLOW_SERVER_URL=https://<workbench>
export VITROFLOW_API_KEY=<api-key>
vitroflow dataset pull --dataset fixtures --data-root data
vitroflow dataset push --dataset fixtures --data-root data
A local data root shares content-addressed blobs across datasets:
data/
├── blobs/<xx>/<sha256>
└── datasets/<dataset>.json
Complete annotations export as a deterministic YOLO dataset:
vitroflow dataset export-yolo \
--dataset fixtures \
--data-root data \
--output output/datasets/fixtures-yolo \
--validation-fraction 0.2 \
--seed 42
vitroflow recognize runs the bundled traditional detector over a pulled dataset, and vitroflow traditional evaluate and vitroflow traditional train score and retrain its candidate scorer from complete annotations.
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 vitroflow-0.1.0.tar.gz.
File metadata
- Download URL: vitroflow-0.1.0.tar.gz
- Upload date:
- Size: 232.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed3cd75ac278a1396b9c6dbd06bef4768bf2eca0d6dc4988f8fadda987dd42cd
|
|
| MD5 |
680b6dca29b3589cdb17318f1d9e02f5
|
|
| BLAKE2b-256 |
1db4c9e62d28490066216e0e819a92382212cc2e8b7c5feb32920a31523f1aa4
|
File details
Details for the file vitroflow-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vitroflow-0.1.0-py3-none-any.whl
- Upload date:
- Size: 106.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9aa45509b832b2647fb0870e4a141fd2ad50b47860ec54d02c0688cbb428053e
|
|
| MD5 |
af1d934583955983e71ecf8d52db0068
|
|
| BLAKE2b-256 |
0bcd382e7c829ad9ee8b1a8288abd78c5d63f43f613e2628cc9a7683349fb0df
|