Skip to content

Installation Guide

Wittgenstein provides several internal Python packages (such as fastapi-openai, llm-router, observability, and pipelines) that are hosted on our private Nexus repository.

Prerequisites

Before installing the libraries, ensure you have the following configured in your environment: 1. Python 3.11+ 2. pip or uv package manager installed 3. Authentication credentials for Nexus (NEXUS_USER and NEXUS_PASS)

Configuring Nexus Index

To install packages from our private Nexus PyPI registry, you need to append the Nexus --extra-index-url to your installation command.

$ export NEXUS_USER="your_username"
$ export NEXUS_PASS="your_password"
$ pip install wittgenstein-observability wittgenstein-pipelines \
  --extra-index-url https://${NEXUS_USER}:${NEXUS_PASS}@devops.buildaz.io/nexus/repository/pypi-internal/simple
---> 100%
Successfully installed wittgenstein-observability wittgenstein-pipelines

Tip for UV users

If you are using Astral's uv for lightning-fast resolutions, the syntax is identical. Just replace pip install with uv pip install.

Persistent Configuration

For a more permanent setup, you can add the Nexus repository to your pip.conf (or uv.toml):

~/.config/pip/pip.conf
[global]
extra-index-url = https://ci:****@devops.buildaz.io/nexus/repository/pypi-internal/simple

Installing the security libraries

The security libraries ship the same way: the Python backend toolkit from the Nexus PyPI registry and the browser client from npm.

$ uv pip install wittgenstein-oidc-backend \
  --extra-index-url https://${NEXUS_USER}:${NEXUS_PASS}@devops.buildaz.io/nexus/repository/pypi-internal/simple
---> 100%
Installed 1 package in 42ms
$ npm install @wittgenstein/oidc-client
---> 100%
added 1 package in 3s

Verify the installation

$ python -c "import wittgenstein_oidc_backend as m; print(sorted(m.__all__)[:3])"
['JwksClient', 'OidcMiddleware', 'OidcMode']
$ python -c "from wittgenstein_oidc_backend import create_oidc_bff_router, has_role; print('ok')"
ok

Building these docs locally

make build creates a virtualenv with uv, installs the site requirements, generates the SDK reference from wittgenstein-core (cached) and runs mkdocs build. Use .venv/bin/mkdocs serve for a live preview.

$ make build && .venv/bin/mkdocs serve
[sync-core-api] core@8f7bfa93: 21 libs, 0 to regenerate — everything served from cache
INFO    -  Documentation built in 13.80 seconds
INFO    -  Serving on http://127.0.0.1:8000/