Monorepo for the Bovi dairy analytics platform.
Documentation lactationcurve package
packages/bovi-core/— ML framework: base classes, registries, config, utilitiespackages/models/lactationcurve/— Classical lactation curve fitting (Wood, MilkBot, etc.)packages/models/lactation-autoencoder/— TensorFlow autoencoder for milk production predictionpackages/models/bovi-yolo/— YOLO object detection for dairy applicationspackages/infrastructure/pulumi/— Azure infrastructure as code
apps/backend/api/— Central FastAPI gateway with SQLite persistenceapps/backend/models/lactation-curves/— Azure Function App for classical curve fittingapps/backend/models/lactation-autoencoder/— Azure Function App for TF autoencoderapps/frontend/dashboard/— Next.js visualization dashboard
just sync # Install dependencies + set up pre-commit hooks
just test # Run all tests
just dev # Start all services (API, models, dashboard)just sync automatically configures git to use the checked-in pre-commit hooks (.githooks/), which run linting, formatting, type checking, and secrets detection on every commit.
Optional: If you use direnv, hooks are set up automatically when you
cdinto the repo.
- Python 3.12
- uv — Python package manager
- macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh - Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- macOS/Linux:
- just — task runner (install options)
- macOS:
brew install just - Windows:
winget install Casey.Just, or download from releases
- macOS:
- bun — dashboard only
- macOS/Linux:
curl -fsSL https://bun.sh/install | bash - Windows:
powershell -c "irm bun.sh/install.ps1 | iex"
- macOS/Linux: