Model registry and ML pipeline orchestration for fAIr
Project description
fAIr-models
Model registry and ML pipeline orchestration for fAIr.
fair-py-ops is the Python package for building ZenML pipelines, validating STAC items, and testing locally. The models/ directory is the single source of truth for base model contributions.
Quick Start
Prerequisites: Docker, uv, just.
git clone https://github.com/hotosm/fAIr-models.git
cd fAIr-models
just setup
just example
just setup installs Python deps, brings up the full stack via Docker Compose (Postgres + MinIO + STAC + MLflow + ZenML), and registers the ZenML stack. just example runs all three reference pipelines end-to-end.
| Service | URL | Credentials |
|---|---|---|
| ZenML dashboard | http://localhost:8080 | default / (empty) |
| MLflow | http://localhost:5000 | none |
| STAC API | http://localhost:8082 | none |
| MinIO console | http://localhost:9001 | minioadmin / minioadmin |
See Getting Started for the full guide. For Kubernetes parity or production deploys, see infra/README.md.
Documentation
- Getting Started : Installation and running the examples
- Architecture : STAC catalog structure, flows, identity model, infrastructure
- Contributing a Model : Guide for adding base models to fAIr
- API Reference : Python package documentation
- Changelog : Release history
Examples
Three reference implementations demonstrate the full workflow for each supported task:
| Example | Task | Model | Path |
|---|---|---|---|
| Segmentation | Semantic segmentation | UNet (torchgeo) | examples/segmentation/ |
| Classification | Binary classification | ResNet18 (torchvision) | examples/classification/ |
| Detection | Object detection | YOLOv11n (ultralytics) | examples/detection/ |
Commands
Run just to see all recipes.
just setup # install deps + bring up stack + register ZenML stack
just example # run all 3 example pipelines
just down # stop the stack (state preserved, fast restart)
just up # restart after `just down`
just tear # destroy stack + volumes + local ZenML state
just lint # ruff + ty
just test # pytest
just validate # validate STAC items + model pipelines
just docs # serve documentation locally
just commit # run pre-commit hooks + commitizen
Key Concepts
| Concept | Description |
|---|---|
| Base model | Reusable ML blueprint (weights, code, Docker image, STAC item) |
| Local model | Finetuned model produced by ZenML pipeline on user data |
| STAC catalog | Model/dataset registry with MLM and Version extensions |
| ZenML pipeline | Orchestrated training and inference workflows |
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 fair_py_ops-0.3.0.tar.gz.
File metadata
- Download URL: fair_py_ops-0.3.0.tar.gz
- Upload date:
- Size: 80.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"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 |
7c5530f7e86dbe7c2535cdb624f8863fcd83fa2eccecf1651a0af918dce4ed40
|
|
| MD5 |
5dfee83d064cf81829f5f7e062849889
|
|
| BLAKE2b-256 |
123a87863266b4145fe92e4f4be83297fbafacfb3519ac18a21d8286c8bfc878
|
File details
Details for the file fair_py_ops-0.3.0-py3-none-any.whl.
File metadata
- Download URL: fair_py_ops-0.3.0-py3-none-any.whl
- Upload date:
- Size: 99.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"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 |
45d7c737ab330f1408df52efd4c6d59043d09b96fd7c173c2a8d75d78416bd8d
|
|
| MD5 |
6008800d4d9448f964d56bb7b9fec5d5
|
|
| BLAKE2b-256 |
c246f822386b258387194521e7a4365d93d26920181c9506ff77ff41122e56ca
|