Python SDK for AgentAuth - Authorization layer for AI agent purchases with billing support
Project description
AgentAuth Python SDK
Official Python SDK for AgentAuth - the authorization layer for AI agent purchases.
Installation
pip install agentauth-client
With LangChain support:
pip install agentauth-client[langchain]
Quick Start
from agentauth import AgentAuth
# Initialize client
client = AgentAuth(
api_key="aa_live_xxx",
base_url="https://api.agentauth.io" # or your self-hosted URL
)
# 1. Create a consent (user expresses intent)
consent = client.consents.create(
user_id="user_123",
intent="Buy flight to NYC under $500",
max_amount=500.0,
currency="USD"
)
print(f"Token: {consent.delegation_token}")
# 2. Authorize a transaction (agent requests approval)
auth = client.authorize(
token=consent.delegation_token,
amount=347.0,
currency="USD",
merchant_id="delta_airlines"
)
if auth.allowed:
print(f"✅ Authorized! Code: {auth.authorization_code}")
else:
print(f"❌ Denied: {auth.reason}")
# 3. Verify authorization (merchant confirms)
verification = client.verify(
authorization_code=auth.authorization_code,
amount=347.0,
currency="USD"
)
if verification.valid:
print(f"✅ Valid! Proof: {verification.proof_token}")
Async Support
from agentauth import AsyncAgentAuth
async def main():
client = AsyncAgentAuth(api_key="aa_live_xxx")
consent = await client.consents.create(
user_id="user_123",
intent="Buy flight",
max_amount=500.0,
currency="USD"
)
auth = await client.authorize(
token=consent.delegation_token,
amount=347.0,
currency="USD"
)
LangChain Integration
from agentauth.langchain import AgentAuthTool
# Create tool for LangChain agents
tool = AgentAuthTool(api_key="aa_live_xxx")
# Use in your agent
from langchain.agents import initialize_agent
agent = initialize_agent(tools=[tool], llm=llm)
Billing API
Manage subscriptions and usage programmatically:
from agentauth import AgentAuth
client = AgentAuth(api_key="aa_live_xxx")
# Get available billing plans
plans = client.get_billing_plans()
for plan in plans:
print(f"{plan['name']}: ${plan['price_monthly']}/mo - {plan['requests_per_month']} requests")
# Check your organization's current usage
usage = client.get_billing_usage()
print(f"Plan: {usage['plan']}")
print(f"Used: {usage['current_usage']} / {usage['limit']} requests")
print(f"Remaining: {usage['remaining']}")
# Create a checkout session to upgrade
checkout = client.create_checkout_session(
plan="growth",
success_url="https://yourapp.com/billing/success",
cancel_url="https://yourapp.com/billing/cancel"
)
print(f"Redirect user to: {checkout['checkout_url']}")
# Get billing portal for managing subscription
portal = client.get_billing_portal_url(
return_url="https://yourapp.com/dashboard"
)
print(f"Portal URL: {portal['portal_url']}")
Available Plans
| Plan | Price | Requests/month |
|---|---|---|
| Free | $0 | 1,000 |
| Startup | $99 | 50,000 |
| Growth | $499 | 500,000 |
| Enterprise | Custom | Unlimited |
License
MIT
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
agentauth_client-0.2.0.tar.gz
(13.4 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 agentauth_client-0.2.0.tar.gz.
File metadata
- Download URL: agentauth_client-0.2.0.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
becf222432de7b59626532a1687f632b1d50e7d6556a5548fe3de9e641194213
|
|
| MD5 |
20eb73086014022198764bbc23b1f4df
|
|
| BLAKE2b-256 |
9ac67aa234691d652121c52b7b16df57a8e381300b23938ba9401abe2c26977b
|
File details
Details for the file agentauth_client-0.2.0-py3-none-any.whl.
File metadata
- Download URL: agentauth_client-0.2.0-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2173841d8a6280a07c2b7ef420f08155ddde6cceabb3bfa118b2b86e05da3ec8
|
|
| MD5 |
e5d51f765aa76ca7d0bd47d95092686c
|
|
| BLAKE2b-256 |
99cdd5276bf83e434adb76385a944fbf7a252216dabf642fee7ee3a5d9e19514
|