Install
Authentication
api_key/token/auth are mutually exclusive. Verify a credential with client.auth.whoami(). How the two credential types differ: Authentication.
Other constructor options: base_url/baseUrl (defaults to https://api.engini.io), provider (LLM adapter, defaults to OpenAI), verify (TLS control for private CAs / staging).
The resources
Execute a tool
Errors, pagination & rate limits
- Every failure raises a typed error from one hierarchy (
EnginiAuthError,EnginiRateLimitError,EnginiToolExecutionError…) - full tree and handling patterns: Errors & pagination. - You never page manually: list methods auto-paginate and return complete arrays.
- The SDK does not retry automatically - on
EnginiRateLimitError, back off per the API’s rate-limit rules.
Python vs TypeScript in one minute
- Python is fully synchronous; TypeScript is fully async (
awaiteverything). - Execute’s arguments param:
arguments(Python) vsargs(TS); options are keyword-only (Python) vs a trailing options object (TS). - Providers import from the root in TS (
import { AnthropicProvider } from "@engini/sdk") but from submodules in Python (from engini.providers.anthropic import AnthropicProvider). - List methods auto-paginate in both - you always get the full array.
- Neither SDK retries automatically - handle
EnginiRateLimitError/EnginiServerErroryourself if you need retries.