Skip to content

Prerequisites

John R. D'Orazio edited this page Mar 10, 2026 · 4 revisions

Prerequisites

Before setting up the OntoKit API, ensure you have the following installed on your system.

Required Software

Python 3.11+

The API requires Python 3.11 or later.

# Check your Python version
python --version
# or
python3 --version

Installation:

  • macOS: brew install python@3.12
  • Ubuntu/Debian: sudo apt install python3.12 python3.12-venv
  • Windows: Download from python.org

Docker & Docker Compose

Docker is used to run the infrastructure services (PostgreSQL, Redis, MinIO, Zitadel).

# Check Docker version
docker --version
docker compose version

Installation:

uv (Python Package Manager)

OntoKit uses uv for dependency management.

# Check uv version
uv --version

Installation:

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Git

git --version

Installation:

  • macOS: xcode-select --install or brew install git
  • Ubuntu/Debian: sudo apt install git
  • Windows: Download from git-scm.com

Optional but Recommended

VS Code Extensions

If using Visual Studio Code, these extensions are helpful:

  • Python (ms-python.python)
  • Pylance (ms-python.vscode-pylance)
  • Ruff (charliermarsh.ruff)

HTTPie or curl

For testing API endpoints:

# HTTPie (recommended)
pip install httpie

# Or use curl (usually pre-installed)
curl --version

System Resources

Minimum recommended resources for local development:

Resource Minimum Recommended
RAM 4 GB 8 GB
Disk Space 5 GB 10 GB
CPU Cores 2 4

The infrastructure services (Docker containers) will use approximately:

  • PostgreSQL: ~200 MB RAM
  • Redis: ~50 MB RAM
  • MinIO: ~200 MB RAM
  • Zitadel: ~500 MB RAM

Port Availability

Ensure the following ports are available on your system:

Port Service
5432 PostgreSQL
6379 Redis
8000 OntoKit API
8025 Mailpit (email testing)
8080 Zitadel
9000 MinIO API
9001 MinIO Console

Check if a port is in use:

# Linux/macOS
lsof -i :8000

# Windows
netstat -ano | findstr :8000

Next Steps

Once you have all prerequisites installed, proceed to Installation.

Clone this wiki locally