Observed since 21 Oct, 10:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aicompliant-discover
AICompliant Discovery SDK — automatic AI system detection via explicit wrapping
Enterprise-grade AI system auto-discovery SDK for Python.
v2.0.0 uses explicit wrapping (no monkey-patching, no global state mutation).
pip install aicompliant-discover
from aicompliant_discover import AIDiscovery
import anthropic
discovery = AIDiscovery(
api_key="dk_your_api_key",
endpoint="https://aicompliant.ai/v1/discovery/llm-usage",
)
# Wrap your Anthropic client — automatic usage tracking
client = discovery.wrap_anthropic(anthropic.Anthropic())
msg = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
# Usage automatically reported to AICompliant!
client = discovery.wrap_anthropic(anthropic.Anthropic())
# or async:
client = discovery.wrap_anthropic(anthropic.AsyncAnthropic())
model = discovery.wrap_google(genai.GenerativeModel("gemini-2.5-flash"))
response = model.generate_content("Hello")
result = discovery.trace(
"My System", "OpenAI",
lambda: openai.chat.completions.create(...),
model="gpt-4",
extract_usage=lambda r: {
"input_tokens": r.usage.prompt_tokens,
"output_tokens": r.usage.completion_tokens,
},
)
discovery.capture(
system_name="Resume Screener",
provider="Anthropic",
model="claude-sonnet-4-20250514",
input_tokens=500,
output_tokens=1500,
)
| Parameter | Env Var | Description |
|---|---|---|
api_key | AIC_API_KEY | AICompliant API key |
endpoint | AIC_ENDPOINT | Discovery webhook URL |
system_name | AIC_SYSTEM_NAME, SERVICE_NAME, APP_NAME | Default system name |
flush_size | — | Events before auto-flush (default: 50) |
flush_interval | — | Seconds between flushes (default: 30) |
v1.0.0 used monkey-patching (discovery.init()). v2.0.0 uses explicit wrapping:
# v1.0.0 (deprecated)
discovery.init()
client = anthropic.Anthropic()
# v2.0.0
client = discovery.wrap_anthropic(anthropic.Anthropic())
No global state is modified. Multiple discovery instances can coexist.
Download counts and popularity will appear here as the collector receives them.
Declarations describe requirements; they are not a resolved dependency graph.
bdist_wheel · 6.22 KB · Python py3
sdist · 5.69 KB · Python source
Shared repository data · GitHub
Observed since 21 Oct, 10:15 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:3d1df881c86da3e59ffa271e69f35abcd63d7c4d15e7d0e0d4bd41a1df0af1eb