Skip to main content

Official Python SDK for the PromptRails API

Project description

PromptRails Python SDK

PyPI version Python versions License: MIT

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)

Uploaded Source

Built Distribution

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

promptrails-0.1.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

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

Hashes for promptrails-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be9e707f6a2220a5e78ae6583109f123956eb1e5cec25b35b477eca500f76a19
MD5 afac6d08312ba94f256f53d3766c47db
BLAKE2b-256 9c84ef23583e72dbd91b2920e98c81fec55a6975d7d9c71a0e8a1b55e3f79301

See more details on using hashes here.

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

Hashes for promptrails-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13158e306609cc34b125348a65402e7e2932be1b5fa5561e602fb2ce0e958219
MD5 f15030d15c0afb5358a352c20d4a5959
BLAKE2b-256 ed1a81695dd8061464207bda3125a81fd5c94f41080cd89a8ef518c1f5dfca98

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