SDKs
One spec, three languages
Published to npm, Packagist, and PyPI. Each package is generated from the OpenAPI spec, then layered with a hand-tuned pollRender helper that backs off exponentially and respects a wall-clock budget. Identical 5-test contract across every language so behavior is portable.
TypeScript
@philiprehberger/docgen
Node 18+. Dual ESM + CJS output. AbortSignal-aware pollRender helper.
npm i @philiprehberger/docgen
PHP
philiprehberger/docgen
PHP 8.2+. Guzzle 7 HTTP client. Laravel-friendly types.
composer require philiprehberger/docgen
Python
philiprehberger-docgen
Python 3.9+. urllib3-based, pydantic v2. FastAPI / Django / Flask compatible.
pip install philiprehberger-docgen
Why only three? Webhook Relay shipped four (TS, PHP, Python, Go). Docgen drops Go because the spec is bigger and three languages tells the same story — same person can hand-author the spec, generate the clients, and ship a workable SDK in any language with a working OpenAPI generator. Go (and .NET, Ruby, Swift, …) all live one npm run sdk:generate away.