Skip to main content

No project description provided

Project description

Fallback image description

Paid is the all-in-one, drop-in Business Engine for AI Agents that handles your pricing, subscriptions, margins, billing, and renewals with just 5 lines of code. The Paid Python library provides convenient access to the Paid API from Python applications.

Documentation

See the full API docs here

Installation

You can install the package using pip:

pip install paid-python

Usage

The client needs to be configured with your account's API key, which is available in the Paid dashboard.

from paid import Client

client = Paid(token="API_KEY")

client.customers.create(
    name="name"
)

Request And Response Types

The SDK provides Python classes for all request and response types. These are automatically handled when making API calls.

# Example of creating a customer
response = client.customers.create(
    name="John Doe",
)

# Access response data
print(response.name)
print(response.email)

Exception Handling

When the API returns a non-success status code (4xx or 5xx response), the SDK will raise an appropriate error.

try:
    client.customers.create(...)
except paid.Error as e:
    print(e.status_code)
    print(e.message)
    print(e.body)
    print(e.raw_response)

Cost Tracking

As of now, the following OpenAI python APIs are supported:

chat.completions.create()
responses.create()
images.generate()
embeddings.create()

Example usage:

import os
from openai import OpenAI
import dotenv
from paid import Paid
from paid.tracing.wrappers import PaidOpenAI

# Initialize Paid SDK
client = Paid(token="PAID_API_KEY")

# Initialize OpenAI client
_ = dotenv.load_dotenv()

openAIClient = PaidOpenAI(OpenAI(
    # This is the default and can be omitted
    api_key=os.getenv("OPENAI_KEY"),
))

# Initialize tracing, must be after initializeing Paid SKD
client.initialize_tracing()

# Capture chat request in telemetry
def chat_complete1():
    response = openAIClient.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": "You are a coding assistant that talks like a pirate."},
            {"role": "user", "content": "How do I check if a Python object is an instance of a class?"}
        ]
    )
    return response

def chat_complete2():
    response = openAIClient.responses.create(
        model="gpt-4o",
        instructions="You are a historian.",
        input="When did Boston tea party happen?",
    )
    return response

def embeddings():
    response = openAIClient.embeddings.create(
        model="text-embedding-3-small",
        input=["Hello world", "How are you?"]
    )
    return response

def image_generate():
    response = openAIClient.images.generate(
        model="dall-e-3",
        prompt="A sunset over mountains",
        size="1024x1024",
        quality="hd",
        style="vivid",
        n=1
    )
    return response

def do_agent_work():
    chat_complete1()
    chat_complete2()
    image_generate()
    embeddings()

# Finally, Capture the traces!
_ = client.capture("your_external_customer_id", do_agent_work)

Contributing

While we value open-source contributions to this SDK, this library is generated programmatically. Additions made directly to this library would have to be moved over to our generation code, otherwise they would be overwritten upon the next generated release. Feel free to open a PR as a proof of concept, but know that we will not be able to merge it as-is. We suggest opening an issue first to discuss with us!

On the other hand, contributions to the README are always very welcome!

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

paid_python-0.0.5a1.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

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

paid_python-0.0.5a1-py3-none-any.whl (61.2 kB view details)

Uploaded Python 3

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