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.agent_triggers list, get, create (with source + source_config), update, delete
client.agent_vfs list, read, write, stat, mkdir, move, copy, delete, grep, glob, usage
client.a2a get_agent_card, send_message, get_task, list_tasks, cancel_task
client.media_models list
client.media generate
client.assets list, get, delete, get_signed_url

Media Studio

Generate images, speech, and video using various providers:

# List available media models
models = client.media_models.list(media_type="image")
for model in models:
    print(f"{model.provider}/{model.model_id}: {model.display_name}")

# Generate an image
result = client.media.generate(
    provider="fal",
    media_type="image",
    model="fal-ai/flux/schnell",
    prompt="A futuristic cityscape at sunset",
    config={"width": 1024, "height": 768},
)
print(result.url)

# List assets
assets = client.assets.list(type="image")
for asset in assets.data:
    print(f"{asset.file_name} ({asset.mime_type})")

# Get a signed download URL
signed = client.assets.get_signed_url(asset_id="asset-id")
print(signed.url)

# Delete an asset
client.assets.delete(asset_id="asset-id")

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.5.0.tar.gz (30.2 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.5.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file promptrails-0.5.0.tar.gz.

File metadata

  • Download URL: promptrails-0.5.0.tar.gz
  • Upload date:
  • Size: 30.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for promptrails-0.5.0.tar.gz
Algorithm Hash digest
SHA256 332e7f85bc121cb6daafe3a1c76d349eda05226bf6901f1a6ffa5db6ad8df2ba
MD5 e1d6b4282c06111b4bb823a641a31bc9
BLAKE2b-256 095de44f0359c7910807dff77109029ef88bc61b657dbb1d1ef8f1904dc4c77f

See more details on using hashes here.

File details

Details for the file promptrails-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: promptrails-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 40.5 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2eae24438a4bd03c08af7f9af3f3ff336bae73089d236e3def04e1b172b3ec2
MD5 ea5464df20c8f1d1d0a34022014967ee
BLAKE2b-256 593227d37a422f903e24f7fb4162c44da4f67c74e697f1566ea140c30b96ff20

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