AceBet is a FastAPI-based MLOps sample project that demonstrates how to use UV for dependency management, testing, CI/CD, and Dockerized deployment.
cp .env.example .env
# set ACEBET_SECRET_KEY to a strong generated value in .env
uv sync
export ACEBET_SECRET_KEY="replace-with-a-long-random-secret"
uv run pytest tests
uv run fastapi run src/acebet/app/main.py --host 0.0.0.0 --port 8000Generate a strong key (pick one):
python -c "import secrets; print(secrets.token_urlsafe(64))"
# or
openssl rand -hex 64Expected quickstart result:
- Environment file exists at
.envand contains a strongACEBET_SECRET_KEY. - Dependencies install successfully.
- Test suite passes.
- API starts locally and responds at
http://localhost:8000.
- Docs Index
- Getting Started
- User Guide Overview
- Training and Inference
- API: Sync Endpoints
- API: Async Behavior
- UV Workflows for MLOps
- GitHub Actions Pipeline
- Deployment: Docker and GitHub Actions
AceBet resolves configuration in this order:
- Process environment (CI/container/runtime)
- Local
.envfor development - Code defaults only for non-sensitive values
At startup, the API emits a debug log with the effective non-secret configuration values to aid troubleshooting.