Skip to content

GEMINI-Breeding/GEMINIbase

Repository files navigation

GEMINIbase

GEMINI Logo

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.

Documentation

Requirements

Quick Start

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]"

Run tests

# 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 -v

See Testing documentation for details.

Run the full pipeline

geminibase setup --default   # First-time setup
geminibase build             # Build Docker containers
geminibase start             # Start pipeline

# REST API at http://localhost:7777

Architecture

Three-layer design:

  1. gemini/api/ — Pydantic-based Python API with CRUD operations for each domain entity
  2. gemini/db/ — SQLAlchemy ORM layer targeting PostgreSQL
  3. gemini/rest_api/ — Litestar REST API with 19 controllers

Supporting modules: storage (MinIO/S3/local), logging (Redis), CLI (Click), configuration (pydantic-settings).

About

Libraries and dependencies for the GEMINI Pipeline

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors