Skip to main content

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 from cmd/allternit-cloud-api/openapi/platform-v1.yaml.
  • Sends an Idempotency-Key on 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)

Source distribution for allternit-platform 0.2.0
File Size Uploaded
allternit_platform-0.2.0.tar.gz 21.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for allternit-platform 0.2.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page