allternit-platform
Python SDK for the Allternit Platform API: agents, conversations, numbers, messaging, webhooks and usage.
Not yet published to PyPI. Publishing needs Eoj's OK. Until then, install it from this repo (see below).
- Python 3.9+, standard library only.
- Typed responses (
TypedDicts) and one method per API operation, generated fromcmd/allternit-cloud-api/openapi/platform-v1.yaml. - Sends an
Idempotency-Keyon every POST (random unless you pass one). - Errors are typed exceptions (
NotFoundError,RateLimitError, …). - Cursor pagination helpers and streaming replies.
Install (from the repo, until it is published)
pip install /path/to/allternit/sdk/platform-python
Quickstart
from allternit_platform import AllternitPlatform, MessageDelta
client = AllternitPlatform() # reads ALLTERNIT_API_KEY (alt_test_... or alt_live_...)
account = client.accounts.create(name="Lakeside Dental")
agent = client.agents.create(
account_id=account["id"],
name="Front desk",
instructions="Answer questions about Lakeside Dental and book cleanings.",
)
conversation = client.conversations.create(agent["id"])
# Whole reply
reply = client.conversations.send_message(conversation["id"], content="Are you open Saturday?")
print(reply["content"])
# Streamed reply
stream = client.conversations.stream(conversation["id"], content="Can I book a cleaning?")
for event in stream:
if isinstance(event, MessageDelta):
print(event.delta, end="", flush=True)
print(stream.final_message["id"])
Errors
from allternit_platform import APIError, NotFoundError, RateLimitError
try:
client.agents.get("agent_missing")
except NotFoundError as e:
print(e.code) # "agent_not_found"
except RateLimitError as e:
print(f"retry in {e.retry_after}s")
except APIError as e:
print(e.status, e.type, e.code, e.param, e.request_id)
503 with code == "runtime_starting" (an InternalServerError) means the project's hosted runtime is starting; retry after a few seconds.
Pagination
page = client.agents.list(limit=50) # {"data": [...], "has_more": ..., "next_cursor": ...}
for agent in client.agents.list_all(): # every agent, page by page
...
Options
AllternitPlatform(api_key=None, *, base_url=None, timeout=60.0, default_headers=None). Every method takes timeout= and extra_headers=; POST methods also take idempotency_key=. Parameters whose names are Python keywords get a trailing underscore (from_=).
Regenerate and test
python3 scripts/platform-sdk/generate.py # from the repo root, after editing platform-v1.yaml
python3 scripts/platform-sdk/generate.py --check # fails if the generated code is stale
cd sdk/platform-python && python3 -m unittest discover -s tests
allternit_platform/_generated.py is generated; edit the other modules by hand.
Metadata
Release files for allternit-platform 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| allternit_platform-0.2.0.tar.gz | 21.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| allternit_platform-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.5 kB
Release files / allternit_platform-0.2.0.tar.gz
| Download URL | allternit_platform-0.2.0.tar.gz |
|---|---|
| Size | 21.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b40417b37c5602244efe8381b19e7c7eecf3ec4755fc151eaad9e53bfc4180e6
|
|
BLAKE2b-256 checksum How to use checksums |
f7a89f08dbaec5a088542c96f861b7262e5c436d64c7136bb31a4f6be75640e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / allternit_platform-0.2.0-py3-none-any.whl
| Download URL | allternit_platform-0.2.0-py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6972f5f65bf53d1733c47333bd712decb2077e356f84fd5650e002d3c054d284
|
|
BLAKE2b-256 checksum How to use checksums |
c9685f7f4ba32848d1499d937a03d2bf2fef87cd9002a6e941ff370f69ebdd55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log