Skip to main content

tue-api-wrapper Python package

Python SDK, FastAPI server, and local MCP server for University of Tübingen study systems.

The package has three entry points:

  • TuebingenPublicClient: public data that does not need credentials
  • TuebingenAuthenticatedClient: private student data with explicit credentials
  • tue-mcp: local MCP server for agents and LLM tools

Install for local development

cd package
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Install MCP support when you want the agent server:

pip install -e ".[mcp]"

Public data example

from tue_api_wrapper import TuebingenPublicClient

client = TuebingenPublicClient()

modules = client.alma.search_modules("machine learning", max_results=10)
events = client.campus.events(query="AI", limit=5)
gym = client.campus.gym_occupancy()
canteens = client.campus.canteens()
recordings = client.timms.search("theoretische informatik", limit=5)

Authenticated data example

Load credentials with the standard Python environment API and pass them explicitly:

import os
from tue_api_wrapper import TuebingenAuthenticatedClient

client = TuebingenAuthenticatedClient.login(
    username=os.environ["UNI_USERNAME"],
    password=os.environ["UNI_PASSWORD"],
)

timetable = client.alma.timetable("Sommer 2026")
documents = client.alma.studyservice_documents()
tasks = client.ilias.tasks()
deadlines = client.moodle.deadlines(days=30)
inbox = client.mail.inbox(limit=5)

In a local shell:

export UNI_USERNAME=your-zdv-id
export UNI_PASSWORD=your-password

Local MCP server

cd package
pip install -e ".[mcp]"
tue-mcp

Use stdio for most local agent clients. For HTTP-based clients:

tue-mcp --transport streamable-http --host 127.0.0.1 --port 8765

FastAPI server

tue-api-server

The API starts on http://127.0.0.1:8000 and exposes OpenAPI docs at /docs.

Publishing

Install the published package from PyPI:

pip install tue-api-wrapper

Install with MCP extras:

pip install "tue-api-wrapper[mcp]"

You can also install directly from GitHub:

pip install "tue-api-wrapper @ git+https://github.com/SebastianBoehler/tue-api-wrapper.git#subdirectory=package"

MCP extras from GitHub:

pip install "tue-api-wrapper[mcp] @ git+https://github.com/SebastianBoehler/tue-api-wrapper.git#subdirectory=package"

Release steps live in ../docs/release-pypi.md.

More docs

Release files for tue-api-wrapper 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tue-api-wrapper 0.2.3
File Size Uploaded
tue_api_wrapper-0.2.3.tar.gz 213.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tue-api-wrapper 0.2.3
File Interpreter ABI Platform
tue_api_wrapper-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 441.5 kB

Release files / tue_api_wrapper-0.2.3.tar.gz

Download URL tue_api_wrapper-0.2.3.tar.gz
Size 213.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3be501dbf4e72ce0d86f40b3b48d9a6ff6593d02934aae0e7101892ff46baeaa
BLAKE2b-256 checksum
How to use checksums
f7d75b536f5ca65be838ca8dc28169c421cdf0149df7554de8ddb42f2cf9341d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.

Transparency log

Release files / tue_api_wrapper-0.2.3-py3-none-any.whl

Download URL tue_api_wrapper-0.2.3-py3-none-any.whl
Size 227.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72ee2b4a5c248c470b8e311f98451c7180e5127e54592683112175a9c48bd5d5
BLAKE2b-256 checksum
How to use checksums
b84b869b2707c26bc7f59cddfa68c1e9bbb8ebe1b64ca36cc6d35ea6b7680256
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

This release

0.2.3 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page