Skip to content
TRANSIENCE-MIC3Public

About

Common API for the models participating in the MIC3 framework.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

mic3-api

MIC3's FastAPI control plane for a platform that will execute independent scientific models. The current service provides PostgreSQL-backed profiles, Keycloak OIDC authentication, and local member/admin authorization, locally and on EOSC/OKD. A public model catalog and operator CLI support a configurable model release catalog and durable queued submissions. Automated model execution is planned, not yet implemented.

Local quickstart

Use Python 3.13 in an activated environment and Docker with Linux containers. Run from the repository root:

python -m pip install -r requirements-dev.txt
if (-not (Test-Path .env)) { Copy-Item .env.example .env }

Set distinct local-only database and Keycloak passwords in .env; never use EOSC credentials. Then start the dependencies and host-based API:

docker compose up -d --wait postgres keycloak
docker compose run --rm keycloak-config
python -m alembic upgrade head
python -m uvicorn mic3_api.main:create_app --factory --reload

Use Swagger UI for endpoints and schemas. See the runbook for Postman login and tests.

Documentation

  • Project status (local, Git-ignored): current capabilities, unfinished work, and implementation order.
  • Architecture: component boundaries, Kafka execution, model adapters, and result reuse.
  • Setup and deployment: releases, debugging, and essential operations.
  • Agent instructions (local, Git-ignored): engineering constraints and validation expectations.

The distribution/service name is mic3-api; the Python package is mic3_api. Reinstall the package after changing its metadata.

About

Common API for the models participating in the MIC3 framework.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages