Skip to main content

Python SDK for the AMPA API

Project description

AMPA SDK

The AMPA SDK is a Python library that provides a convenient, high-level interface for interacting with the AMPA API. It is designed to simplify prompt management, versioning, and execution from any Python application, script, or notebook.

Overview

  • Easy integration: Manage prompts and their versions with simple Python calls
  • Handles authentication: Securely connect to the AMPA API with username/password or environment variables
  • Request/response abstraction: No need to manually format HTTP requests
  • Extensible: Add custom methods or extend for new API endpoints

Features

  • Create, update, delete, and run prompts from Python
  • List and manage prompt versions
  • Automatic handling of API authentication and errors
  • Works with both local and remote AMPA API deployments
  • CRUD and search for the prompt_tests endpoints

Installation

To install the AMPA SDK, use pip:

pip install the37lab_ampa_sdk

Configuration

You can configure the SDK via parameters or environment variables:

Environment variables:

  • AMPA_API_URL
  • AMPA_API_USERNAME
  • AMPA_API_PASSWORD

Usage Example

from the37lab_ampa_sdk import PromptAPI

# Initialize the client (parameters or env vars)
client = PromptAPI(
    ampa_url="http://localhost:8000",
    username="your_username",
    password="your_password",
)

# Create an prompt
data = {
    "prompt_name": "My Prompt",
    "description": "A helpful assistant",
    "purpose": "You are a helpful assistant",
    "instruction": "Tell a story about Sweden"
}
prompt = client.create_prompt(data)

# Run the prompt
response = client.call_prompt(
    "My Prompt",
    variables={"name": "John"},
    prompt="Tell me a story"
)

# List prompt versions
versions = client.list_prompt_versions(prompt["id"])

Use Cases

  • Integrate prompt management into Python apps, scripts, or notebooks
  • Automate prompt creation and execution in pipelines
  • Rapid prototyping and experimentation with LLM prompts

Extensibility

  • Add new methods for custom API endpoints
  • Subclass PromptAPI to add custom logic or error handling

Troubleshooting

  • Ensure the AMPA API is running and accessible
  • Check credentials and API URL
  • Review exception messages for error details

License

This project is proprietary software. All rights reserved.

prompt_tests Table Usage

The SDK supports CRUD and search for the prompt_tests endpoints:

from the37lab_ampa_sdk import PromptAPI
client = PromptAPI(...)

# Create
data = {
    'name': 'Test',
    'description': 'desc',
    'data': {'foo': 'bar'},
    'prompt': 'Say hi',
    'prompt_ids': [1, 2]
}
r = client.create_prompt_test(**data)

# Get by id
r = client.get_prompt_test(r['id'])

# Update
r = client.update_prompt_test(r['id'], description='new desc')

# Delete
client.delete_prompt_test(r['id'])

# List all
rows = client.list_prompt_tests()

# List by prompt id
rows = client.list_prompt_tests_by_prompt_id(1)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

the37lab_ampa_sdk-0.1.1755673624.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

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

the37lab_ampa_sdk-0.1.1755673624-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file the37lab_ampa_sdk-0.1.1755673624.tar.gz.

File metadata

File hashes

Hashes for the37lab_ampa_sdk-0.1.1755673624.tar.gz
Algorithm Hash digest
SHA256 f21f193fdab68f16de5df9241ab192aec52d6a70ad055cdabf0c05c8bde8891d
MD5 2d8c0311ea0d9f5f92e18f1574ac7131
BLAKE2b-256 bdd06c3f4f30e8b4d9734412c3d65ec6907e36947c7f604a4147360c49cd7930

See more details on using hashes here.

File details

Details for the file the37lab_ampa_sdk-0.1.1755673624-py3-none-any.whl.

File metadata

File hashes

Hashes for the37lab_ampa_sdk-0.1.1755673624-py3-none-any.whl
Algorithm Hash digest
SHA256 d4ddd7e44883a72e0704d8f93e2d75d31a63595b051c43783aeb07f222506f96
MD5 7c9fae37a969a6b4a14694a96b2bf3c4
BLAKE2b-256 28d07a412ecce68207d9b7cbc48796f2c98ff1309025b7c0db034e5a65da2a79

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