Skip to main content

Production Python SDK for the Managed Agent API

Project description

Python SDK

Production Python SDK for the Managed Agent API.

Published on PyPI: cloudsway-agent (v1.0.4)

Install

pip install cloudsway-agent

For local development from this repository:

cd sdk/python
pip install -e .

Quick start

from agent_api import AgentAPI

client = AgentAPI(
    api_key="sk-...",
    base_url="https://api.agentsway.dev",
)

response = client.responses.create(
    preset="pro-search",
    input="What changed in AI this week?",
)
print(response["output_text"])
client.close()

Environment variables AGENT_API_KEY and AGENT_API_BASE_URL are used by default. The default base URL is https://api.agentsway.dev when neither argument nor env is set. AsyncAgentAPI is available for async integrations.

Package layout

src/agent_api/
  client.py            # synchronous AgentAPI
  async_client.py      # AsyncAgentAPI
  errors.py            # typed exceptions
  pagination.py          # cursor pagination
  streaming.py           # SSE parser
  _http.py               # retries, timeouts, User-Agent
  resources/             # responses, models, presets, tools, volumes
  types/                 # TypedDict contracts

Resources

Resource Methods
client.responses / client.agent create, list, list_page, list_iterator, retrieve, cancel, list_children, list_events
client.models list
client.presets list
client.tools list
client.volumes list, create, retrieve, update, delete, list_entries, search_entries, read_file, write_file, delete_path, reconcile_usage, create_directory, download_archive, summarize, read_lines, patch_lines, grep

Durable Volumes

volume = client.volumes.create(name="research-notes")

client.volumes.write_file(volume["volume_id"], "notes/summary.md", "# Summary\n")
file = client.volumes.read_file(volume["volume_id"], "notes/summary.md")
binary = client.volumes.read_file(volume["volume_id"], "assets/logo.png", format="raw")

response = client.agent.create(
    preset="pro-search",
    input="Use the attached workspace volume.",
    volume_id=volume["volume_id"],
)

Production features

  • Retries: exponential backoff for network failures, 429, and 5xx (default 2 retries).
  • Timeouts: 10 minute default; 1 hour for streaming (override with timeout / stream_timeout).
  • Typed errors: AuthenticationError, RateLimitError, NotFoundError, etc.
  • Pagination: list_page() and list_iterator() for cursor-based history.
for item in client.responses.list_iterator(limit=20):
    print(item["id"], item["status"])

Model routing

response = client.responses.create(
    input="Compare two cloud providers for ML workloads.",
    model_routing="auto",
    routing_strategy="cost-effective",
    models=["openai/gpt-5.4", "google/gemini-3-flash-preview"],
)

Use model ids in vendor/model form (values from client.models.list()). Omit model_routing (or set "chain") for strict fallback order via model / models. routing_strategy is only valid when model_routing is "auto".

Streaming

for event in client.responses.create(
    preset="fast-search",
    input="Summarize today's AI news.",
    stream=True,
):
    if event["type"] == "response.output_text.delta":
        print(event.get("delta", ""), end="")

Client options

client = AgentAPI(
    api_key="sk-...",
    base_url="https://api.agentsway.dev",
    timeout=600.0,
    stream_timeout=3600.0,
    max_retries=2,
)

Tests

PYTHONPATH=src python -m unittest discover -s tests -p 'test_agent_api.py' -v
AGENT_API_INTEGRATION=1 AGENT_API_KEY=sk-... AGENT_API_BASE_URL=https://api.agentsway.dev \
  PYTHONPATH=src python -m unittest tests.test_integration -v

Scope

The SDK covers the public agent/Responses API, durable volume APIs, and discovery endpoints. Console auth, workspace administration, and internal audit records are intentionally out of scope.

Project details


Download files

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

Source Distribution

cloudsway_agent-1.0.4.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

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

cloudsway_agent-1.0.4-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file cloudsway_agent-1.0.4.tar.gz.

File metadata

  • Download URL: cloudsway_agent-1.0.4.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for cloudsway_agent-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ac7bc0e93e3e726c13a3f7404f42dfac600e5b52fd70c925f5e44291227a2dab
MD5 b5c486dd18a83ef48ff9dd2f9a83acdc
BLAKE2b-256 865e924e77d71f456c30f2c31bf5ec3a2bbdda81bb6865013d73ac65b0706f7c

See more details on using hashes here.

File details

Details for the file cloudsway_agent-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudsway_agent-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c3d851ba41052c5ef74fc983ab4bbf937214d184101a566980129920c7b8eb50
MD5 dc3686997e63f5e6894e4f872a43921e
BLAKE2b-256 fc082f83e21e13870617ef6e6a3281bec2b42ea826ea46cdfe579724b57815b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page