The Engine speaks plain HTTP and Server-Sent Events. There’s no magic in the wire format. You can integrate from any language with an HTTP client and a JSON parser. This page covers what’s available and what’s on the roadmap.Documentation Index
Fetch the complete documentation index at: https://internal.september.wtf/llms.txt
Use this file to discover all available pages before exploring further.
What we ship
There are no official Engine client libraries today. By design — the API is small enough that a wrapper is more code than the calls themselves. The quickstarts at curl, Python, and Node each show a complete client in around 30 lines.Using the Engine from your language of choice
Whatever HTTP client you’d reach for is what the Engine wants:| Language | What works |
|---|---|
| Python | httpx (sync or async), aiohttp, requests (with stream=True) |
| Node / TypeScript | Built-in fetch (Node 18+), axios, undici |
| Go | net/http standard library |
| Rust | reqwest, hyper |
| Ruby | net/http, httparty |
| Java / Kotlin | OkHttp, Java HTTPClient |
| .NET | HttpClient |
| Shell | curl |
- Set
X-Engine-Keyon every request except/health. - Disable response buffering for streaming (so you see SSE events as they arrive).
- Set the read timeout high (or
None) — turns can take minutes.
Wrapping the API: when it’s worth it
A thin client wrapper makes sense when:- You’ll have many call sites in your codebase and want shared retry logic.
- You want strongly-typed event handling (e.g. TypeScript discriminated unions for SSE event types).
- You need to mock the Engine in tests.
- You have one or two call sites.
- The API is moving and the wrapper would lag.
What a useful wrapper has
Resilient streaming wrapper
A wrapper that handles reconnection cleanly is worth the lines:Roadmap
Official client libraries are planned for:- Python —
engine-client(or similar), pip-installable. - TypeScript — npm package, isomorphic (Node + browser).
- Type-safe event handling.
- Built-in retry / reconnection.
- Async iterators / generators for streams.
- Mock support for tests.
See also
- Quickstart with curl — minimal shell client.
- Quickstart with Python —
httpx-based. - Quickstart with Node —
fetch-based. - Streaming — patterns for consuming the SSE stream.

