Skip to main content

glytos

CI PyPI License

The official Glytos server SDK for Python.

Call the Glytos API from your backend with an API key. Build agents once and run them as text or as voice: hold a threaded conversation, stream a reply as it is written, place phone calls, mint browser web-call tokens, manage numbers, and verify webhooks.

Never ship an API key to the browser. For in-browser voice, use the @glytos/web package with a short-lived token you mint here.

Install

pip install glytos

Quickstart

from glytos import Glytos

glytos = Glytos(api_key="gly_...")

# List your agents
agents = glytos.agents.list()

# Mint a web-call token for the browser
token = glytos.calls.web_token(workflow_uuid=agents[0]["uuid"])
print(token["token"], token["ws_url"])

Use it as a context manager to close the HTTP connection cleanly:

with Glytos(api_key="gly_...") as glytos:
    overview = glytos.request("GET", "/analytics/overview")

Text conversations

An agent is one definition; nothing forces it to do both text and voice. For text, a thread holds the conversation and a run is one turn on it:

thread = glytos.threads.create(agent=agent_uuid)
run = glytos.threads.runs.create(thread, "What are your opening hours?")
print(run["messages"][-1]["content"])

Stream a long answer instead of waiting for it:

for event in glytos.threads.runs.stream(thread, "Summarise the policy"):
    if event.type == "token":
        print(event.delta, end="", flush=True)
    elif event.type == "done":
        print()

Extra context for one turn only, applied below the agent's own instructions and never saved to it:

glytos.threads.runs.create(
    thread,
    "Rate this transcript",
    instructions="Score 1-5 and reply as JSON.",
)

Everything above has an async twin on AsyncGlytos (async for over the stream).

Resources

Namespace Methods
glytos.agents (alias workflows) list, retrieve, create, rename, publish, promote, duplicate, archive, delete, templates, export, move_to_folder, remove_from_folder, versions, start_session, send_message, stream_message, run_text
glytos.threads create, retrieve, messages.create, messages.list, runs.create, runs.stream
glytos.folders list, create, rename, delete
glytos.imports sources, create, assistant
glytos.chat token, messages, stream, upload_file
glytos.calls create, list, retrieve, web_token, control
glytos.phone_numbers search, list, providers, provision, import_number, instant, assign, release
glytos.knowledge_base list_documents, create_document, upload_document, search
glytos.vector_stores list, create, retrieve, delete, upload_document
glytos.tools list, create, update, delete
glytos.campaigns list, create, retrieve, start, sync_contacts
glytos.sessions list
glytos.analytics overview
glytos.webhooks list, create, update, delete, events, deliveries, redeliver, verify

agents and workflows are the same resource under two names: the product calls them agents, the API path is /workflows. Either works.

Text and voice are separate

An agent is one definition. Nothing forces it to do both:

  • A text agent needs only threads (or chat for a browser widget).
  • A voice agent adds calls, phone_numbers and campaigns.
  • The same agent can do both, if you want it to.

Any endpoint without a dedicated helper is one call away with glytos.request(method, path, json=..., params=...), or glytos.stream(method, path, json=...) for a Server-Sent Events one.

Errors

Non-2xx responses raise a GlytosError with the API error code, HTTP status, and the request_id:

from glytos import GlytosError

try:
    glytos.workflows.retrieve("missing")
except GlytosError as err:
    print(err.status, err.code, err.message)

Webhooks

Verify a delivery came from Glytos before trusting it. Pass the raw request body, the X-Glytos-Signature header, and your endpoint secret:

from glytos import verify_webhook

# e.g. in a Flask/FastAPI handler
ok = verify_webhook(raw_body, request.headers["X-Glytos-Signature"], webhook_secret)
if not ok:
    abort(400)

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glytos-0.2.0.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glytos-0.2.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file glytos-0.2.0.tar.gz.

File metadata

  • Download URL: glytos-0.2.0.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for glytos-0.2.0.tar.gz
Algorithm Hash digest
SHA256 76ba0c21d81e5ad77b3ed0de53e2cdf8cb160269f1eda981f952a97d18e46c1f
MD5 ee21a5ca5e9c8319363ac2f727204dfb
BLAKE2b-256 319539b09828e86aaef8cc7a3a94c282f7d7ed3df689b90db7cb1dd690479d58

See more details on using hashes here.

Provenance

The following attestation bundles were made for glytos-0.2.0.tar.gz:

Publisher: release.yml on Glytos/glytos-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file glytos-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: glytos-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for glytos-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31e42dcf710110372e93a3e245bbe79b3db7b5dd035dd29079b5ea9bf59eb5b3
MD5 da3cfef9c4a4be6b3a8691767fab9770
BLAKE2b-256 6933a1bbbd927edb4ebf7a4a9de718faa379f83cf2eb4a6e7c10e8e722ccdb8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for glytos-0.2.0-py3-none-any.whl:

Publisher: release.yml on Glytos/glytos-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

This release

0.2.0 This release

2 files

0.1.1

2 files

0.1.0

2 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