Skip to content

CatholicOS/ontokit-api

Repository files navigation

OntoKit API

Collaborative OWL ontology curation API built with FastAPI.

Features

  • RESTful API for managing ontologies, classes, properties, and individuals
  • Project management with public/private visibility and team collaboration
  • Authentication via Zitadel (OpenID Connect)
  • Real-time collaboration support via WebSockets
  • Object storage integration with MinIO for ontology files

Quick Start

Full Docker Mode

# Start all services
docker compose up -d

# Run database migrations
docker compose exec api alembic upgrade head

# Set up Zitadel authentication (creates OIDC apps, updates .env files)
./scripts/setup-zitadel.sh --update-env

# Recreate API/worker containers to pick up the new credentials
docker compose up -d --force-recreate api worker

Hybrid Mode (API on host)

# Start infrastructure
docker compose -f compose.prod.yaml up -d

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -e ".[dev]"

# Configure
cp .env.example .env

# Set up Zitadel authentication (creates OIDC apps, updates .env files)
./scripts/setup-zitadel.sh --update-env

# Run database migrations
alembic upgrade head

# Start server
uvicorn ontokit.main:app --reload

Documentation

See the wiki for full documentation.

Tech Stack

  • Framework: FastAPI (Python 3.11+)
  • Database: PostgreSQL 17 + SQLAlchemy 2.0 (async)
  • Cache: Redis
  • Object Storage: MinIO (S3-compatible)
  • Authentication: Zitadel (OIDC)
  • Ontology Processing: RDFLib, OWLReady2

License

MIT

About

Collaborative OWL ontology curation API built with FastAPI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages