Back-end data management framework for the GEMINI Breeding project (UC Davis). Manages field phenotyping data — sensor imagery, trait measurements, genomics, weather — across experiments, sites, seasons, plots, and populations.
- Python 3.12
- Docker Desktop (download)
git clone https://github.com/GEMINI-Breeding/GEMINIbase.git geminibase
cd geminibase
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"# Unit tests (no Docker needed)
pytest tests/unit/ -v
# Integration tests (requires Docker)
docker compose -f tests/docker-compose.test.yaml up -d
pytest tests/integration/ -v
docker compose -f tests/docker-compose.test.yaml down -vSee Testing documentation for details.
geminibase setup --default # First-time setup
geminibase build # Build Docker containers
geminibase start # Start pipeline
# REST API at http://localhost:7777Three-layer design:
gemini/api/— Pydantic-based Python API with CRUD operations for each domain entitygemini/db/— SQLAlchemy ORM layer targeting PostgreSQLgemini/rest_api/— Litestar REST API with 19 controllers
Supporting modules: storage (MinIO/S3/local), logging (Redis), CLI (Click), configuration (pydantic-settings).
