Four languages, one API, no second-class client
Each client is generated from the same specification and then given an idiomatic surface by hand — iterators in Python, async generators in TypeScript, an errors-last iterator in Go. The parity table below is honest about where a runtime is still behind.
Install and make a first call
pip install tradelogx-nexusfrom nexus import Client
client = Client() # reads NEXUS_API_KEY
for d in client.decisions.list(verdict="veto", limit=20):
print(d.symbol, d.conviction, d.vetoed_by)
print(" ", d.rationale)Every client reads NEXUS_API_KEY from the environment by default. None of them accept a key as a positional constructor argument, which is the single most common way a credential ends up committed.
Feature parity
Where a client is behind, it says so here rather than in a changelog you would have to go looking for.
| Capability | Python | TypeScript | Go | Rust |
|---|---|---|---|---|
| Typed models for every resource | ||||
| Automatic cursor pagination | ||||
| Retry with exponential backoff | ||||
| Webhook signature verification | ||||
| Streaming decision feed | ||||
| Backtest helpers and dataframes |
Versioning and support
Semantic versioning
Pinned response shapes
Nexus-Version header they were built against, so upgrading the platform cannot change what your code parses. Upgrading the client is the deliberate act.All four clients are published under the same permissive licence as the rest of what we open source, and the generator that produces them is public too — the details are on the open-source page.