tmi-clients
July 1, 2026 ยท View on GitHub
REST clients for the TMI (Threat Modeling Improved) API, generated from the TMI OpenAPI specification.
Languages
- Python (
python-client-generated/) - Package name:tmi_client - Go (
go-client-generated/) - TypeScript (
typescript-client-generated/) - Package name:@tmiclient/client
Multi-Version Structure
This repository maintains multiple API versions simultaneously. Each language directory contains versioned subdirectories:
python-client-generated/
scripts/ # Shared codegen config
v1.3.0/ # Previous release
v1.5.0/ # Latest
versions.json at the repo root lists the source branches to build from; each client's version is read from that branch's OpenAPI spec at build time and determines its directory. (Go uses underscores in directory names, e.g. v1_5_0.)
Quick Start
# Python (latest version)
cd python-client-generated/v1.5.0
uv run python3 -c "import tmi_client; print('Success')"
# Go (latest version)
cd go-client-generated/v1_5_0
go build ./...
# TypeScript (latest version)
cd typescript-client-generated/v1.5.0
npm install && npm run build
Regeneration
Regenerate all clients from all branches:
python3 regenerate_all.py
Filter by language or branch:
python3 regenerate_all.py --language python
python3 regenerate_all.py --branch main
python3 regenerate_all.py --language go --branch release/1.3.5
See CLAUDE.md for full documentation on the regeneration workflow and repository structure.