Skip to main content

Python SDK for the agent-identity credential routing sidecar — by Datacules LLC

Project description

agent-identity Python SDK

Pure-Python client for the agent-identity sidecar. No Node.js required.

Install

pip install agent-identity

Usage

from agent_identity import AgentIdentityClient
from datetime import datetime, timezone

client = AgentIdentityClient(base_url="http://localhost:3001")

# Resolve a credential for a single agent request
resolved = client.resolve({
    "userId": "user-abc",
    "resourceId": "crm-db",
    "resourceKind": "shared",
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514",
    "action": "read",
    "traceId": "trace-xyz",
    "requestedAt": datetime.now(timezone.utc).isoformat(),
})
print(resolved["resolvedFor"])  # 'service' or userId

# Resolve source + target credentials for a migration phase
pair = client.resolve_migration({
    "migrationId": "migration-2026-q2",
    "phase": "load",
    "sourceResourceId": "crm-postgres-prod",
    "targetResourceId": "crm-postgres-v2",
    "userId": "svc-migration-bot",
    "provider": "anthropic",
    "model": "claude-sonnet-4-20250514",
    "traceId": "trace-abc123",
    "dryRun": False,
})
print(pair["expiresAt"])  # ISO 8601 or None

LangChain integration

from langchain_anthropic import ChatAnthropic
from agent_identity import AgentIdentityClient

client = AgentIdentityClient()
resolved = client.resolve({...})

# resolved["resolvedFor"] is safe to log; the raw API key stays on the server
llm = ChatAnthropic(model="claude-sonnet-4-20250514")
# The sidecar injects the API key server-side when you call /api/resolve

Error handling

from agent_identity import AgentIdentityClient, NoCredentialError, ValidationError

try:
    result = client.resolve(ctx)
except NoCredentialError:
    # 403 — no routing rule matched this context
    ...
except ValidationError as e:
    # 400 — bad request body
    print(e)

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

datacules_agent_identity-0.6.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

datacules_agent_identity-0.6.0-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file datacules_agent_identity-0.6.0.tar.gz.

File metadata

File hashes

Hashes for datacules_agent_identity-0.6.0.tar.gz
Algorithm Hash digest
SHA256 0656a10829e089291e23f3d60bad9853ae781b9853c4b5aa63cb21c9e6f61a90
MD5 e8b6e3408cae93d934031c1d3dc77a4a
BLAKE2b-256 68684b7b9f73b6f32ca7ce6ca252eee19ecf323063838f117f80a16871bfb0d2

See more details on using hashes here.

File details

Details for the file datacules_agent_identity-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for datacules_agent_identity-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 232dc019e02e4477007e52ef6f74cba60d016e60a2debb8fbe07baaf371eece3
MD5 a1410a456b0b9efdd67c7d1d8db80c57
BLAKE2b-256 d32337fbb97cc07e234363ded70c03f6b01f0e064d4afb8c27ec70cf780830e3

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