Official Python SDK for the PromptRails API
Project description
PromptRails Python SDK
Official Python SDK for PromptRails — the AI agent orchestration platform.
Installation
pip install promptrails
Quick Start
Synchronous
from promptrails import PromptRails
client = PromptRails(api_key="pr_key_...")
# Execute an agent
result = client.agents.execute("agent-id", input={"query": "Summarise this week's sales"})
print(result.output)
client.close()
Async
import asyncio
from promptrails import AsyncPromptRails
async def main():
async with AsyncPromptRails(api_key="pr_key_...") as client:
result = await client.agents.execute("agent-id", input={"query": "hello"})
print(result.output)
asyncio.run(main())
Context Manager
with PromptRails(api_key="pr_key_...") as client:
agents = client.agents.list()
for agent in agents.data:
print(agent.name)
Error Handling
from promptrails import NotFoundError, ValidationError, RateLimitError, QuotaExceededError
try:
result = client.agents.execute("agent-id", input={})
except QuotaExceededError:
print("Execution limit reached — upgrade your plan")
except RateLimitError:
print("Too many requests, back off and retry")
except NotFoundError as e:
print(f"Agent not found: {e.message}")
Available Resources
| Resource | Methods |
|---|---|
client.agents |
list, get, create, update, delete, execute, list_versions, create_version, list_guardrails, create_guardrail, list_memories, create_memory, search_memories, delete_all_memories |
client.prompts |
list, get, create, update, delete, list_versions, create_version |
client.executions |
list, get |
client.credentials |
list, get, create, update, delete, set_default, check_connection |
client.data_sources |
list, get, create, update, delete, list_versions, create_version, test_connection, query |
client.chat |
list_sessions, get_session, create_session, delete_session, list_messages, send_message |
client.traces |
list, get_by_trace_id |
client.costs |
get_summary, get_agent_summary |
client.scores |
list, get, create, update, delete, list_configs, get_config, create_config, update_config, delete_config, aggregates |
client.mcp_tools |
list, get, create, update, delete |
client.approvals |
list, get, decide |
client.webhook_triggers |
list, get, create, update, delete |
client.a2a |
get_agent_card, send_message, get_task, list_tasks, cancel_task |
Configuration
| Option | Default | Description |
|---|---|---|
api_key |
required | API key |
base_url |
https://api.promptrails.ai |
API base URL |
timeout |
30.0 |
Request timeout (seconds) |
max_retries |
3 |
Max retries on network/5xx errors |
Contributing
# Install development dependencies
pip install -e ".[dev]"
# Run linter
ruff check .
# Run formatter
ruff format .
# Run tests
pytest tests/ -v
License
MIT
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
promptrails-0.1.0.tar.gz
(21.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file promptrails-0.1.0.tar.gz.
File metadata
- Download URL: promptrails-0.1.0.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be9e707f6a2220a5e78ae6583109f123956eb1e5cec25b35b477eca500f76a19
|
|
| MD5 |
afac6d08312ba94f256f53d3766c47db
|
|
| BLAKE2b-256 |
9c84ef23583e72dbd91b2920e98c81fec55a6975d7d9c71a0e8a1b55e3f79301
|
File details
Details for the file promptrails-0.1.0-py3-none-any.whl.
File metadata
- Download URL: promptrails-0.1.0-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13158e306609cc34b125348a65402e7e2932be1b5fa5561e602fb2ce0e958219
|
|
| MD5 |
f15030d15c0afb5358a352c20d4a5959
|
|
| BLAKE2b-256 |
ed1a81695dd8061464207bda3125a81fd5c94f41080cd89a8ef518c1f5dfca98
|