No description
Find a file
2026-01-05 12:31:26 -05:00
.github docs: migrate to Hugo Book theme and publish via GitHub Pages 2026-01-05 12:22:24 -05:00
.local-artifacts Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
.windsurf/rules Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
build Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
cli feat(cli): add validate/info commands and improve protocol handling 2026-01-05 12:31:20 -05:00
cmd feat(cli): add validate/info commands and improve protocol handling 2026-01-05 12:31:20 -05:00
configs chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
db feat: add GitHub workflows and development tooling 2025-12-04 16:56:25 -05:00
deployments chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
docs docs: migrate to Hugo Book theme and publish via GitHub Pages 2026-01-05 12:22:24 -05:00
examples Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
internal feat(worker): add integrity checks, snapshot staging, and prewarm support 2026-01-05 12:31:13 -05:00
monitoring chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
podman chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
redis Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
scripts chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
tests Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
tools chore(ops): reorganize deployments/monitoring and remove legacy scripts 2026-01-05 12:31:26 -05:00
.dockerignore chore(repo): add dockerignore, changelog, and ignore local artifacts 2026-01-05 12:30:57 -05:00
.env.example chore(repo): add dockerignore, changelog, and ignore local artifacts 2026-01-05 12:30:57 -05:00
.flake8 feat: initialize FetchML ML platform with core project structure 2025-12-04 16:52:09 -05:00
.gitignore chore(repo): add dockerignore, changelog, and ignore local artifacts 2026-01-05 12:30:57 -05:00
.golangci.yml Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
.golintrc Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
.pylintrc feat: initialize FetchML ML platform with core project structure 2025-12-04 16:52:09 -05:00
CHANGELOG.md chore(repo): add dockerignore, changelog, and ignore local artifacts 2026-01-05 12:30:57 -05:00
DEVELOPMENT.md docs: add comprehensive development guide with flexible tooling 2025-12-04 17:03:23 -05:00
docker-compose.homelab-secure-simple.yml Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
docker-compose.homelab-secure.yml Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
docker-compose.yml Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
go.mod feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
go.sum feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
LICENSE feat: initialize FetchML ML platform with core project structure 2025-12-04 16:52:09 -05:00
Makefile Organize docker-compose files and fix test output paths 2025-12-06 13:45:05 -05:00
pyproject.toml feat: initialize FetchML ML platform with core project structure 2025-12-04 16:52:09 -05:00
README.md Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00
SECURITY.md Slim and secure: move scripts, clean configs, remove secrets 2025-12-07 13:57:51 -05:00

FetchML

A lightweight ML experiment platform with a tiny Zig CLI and a Go backend. Designed for homelabs and small teams.

Quick start

# Clone and run (dev)
git clone <your-repo>
cd fetch_ml
docker-compose up -d

# Or build the CLI locally
cd cli && make all
./build/ml --help

What you get

  • Zig CLI (ml): Tiny, fast local client. Uses ~/.ml/config.toml and FETCH_ML_CLI_* env vars.
  • Go backends: API server, worker, and a TUI for richer remote features.
  • TUI over SSH: ml monitor launches the TUI on the server, keeping the local CLI minimal.
  • CI/CD: Crossplatform builds with zig build-exe and Go releases.

CLI usage

# Configure
cat > ~/.ml/config.toml <<EOF
worker_host = "127.0.0.1"
worker_user = "dev_user"
worker_base = "/tmp/ml-experiments"
worker_port = 9101
api_key = "your-api-key"
EOF

# Core commands
ml status
ml queue my-job
ml cancel my-job
ml dataset list
ml monitor  # SSH to run TUI remotely

Build

# CLI (Zig)
cd cli && make all      # release-small
make tiny              # extra-small
make fast              # release-fast

# Go backends
make cross-platform    # builds for Linux/macOS/Windows

Deploy

  • Dev: docker-compose up -d
  • Prod: Use the provided systemd units or containers on Rocky Linux.

Docs

See docs/ for detailed guides:

  • docs/src/zig-cli.md CLI reference
  • docs/src/quick-start.md Full setup guide
  • docs/src/deployment.md Production deployment

License

See LICENSE.