Install and authenticate
Install ellipsis-dev from PyPI and pass an API key. Requires Python 3.10 or newer.
Install
The package is ellipsis-dev on PyPI; the import name is ellipsis.
pip install ellipsis-devLive streaming needs one extra dependency:
pip install 'ellipsis-dev[stream]'Python 3.10 or newer. The client depends on httpx and pydantic v2; the stream extra adds websockets.
Authenticate
Create an API key under Platform → API keys in the dashboard. The secret starts with ellipsis_key_ and is shown only once. Keep it in an environment variable rather than in source:
export ELLIPSIS_API_TOKEN="ellipsis_key_..."api_key is the client's only required argument:
import os
from ellipsis import Ellipsis
client = Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"])An API key authenticates as your organization. A CLI user token, which agent login mints, authenticates as you personally and works in exactly the same argument. Either is rejected with 401 if invalid or revoked.
Client options
client = Ellipsis(
api_key=os.environ["ELLIPSIS_API_TOKEN"],
base_url="https://api.ellipsis.dev",
timeout=60.0,
max_retries=3,
)base_url points the client at a non-default host. timeout is per request, in seconds. max_retries bounds automatic retries, which apply to transport failures and to 429, 502, 503, and 504, with exponential backoff and jitter. A 429 response honors its Retry-After header. Other statuses are never retried: a 404 or 422 would fail identically the second time.
Closing the client
The synchronous client holds a connection pool. Close it when you are done, or use it as a context manager:
with Ellipsis(api_key=os.environ["ELLIPSIS_API_TOKEN"]) as client:
print(client.me().customer_login)The async client is the same, with async with and await client.close().