Kivviq SDK
Python SDK for Kivviq — execution observability for AI agents.
Kivviq helps developers see what happens inside their AI agents by capturing and tracing agent executions.
Installation
Install the SDK:
pip install kivviq
For OpenAI auto-instrumentation:
pip install "kivviq[openai]"
Quick Start
from kivviq import Kivviq
# Initialize Kivviq
kivviq = Kivviq(api_key="YOUR_KIVVIQ_API_KEY")
# Trace your agent
@kivviq.trace
def my_agent():
# Your agent logic goes here
return "Hello from my AI agent!"
# Execute your agent
result = my_agent()
print(result)
# Close the SDK connection
kivviq.close()
Replace YOUR_KIVVIQ_API_KEY with your actual API key.
Configuration
Kivviq supports the following configuration options:
| Parameter | Description | Default |
|---|---|---|
api_key |
Your Kivviq API key | KIVVIQ_API_KEY environment variable |
backend_url |
Kivviq backend URL | https://kivviq.ethiodeploy.app |
You can also configure these using environment variables:
KIVVIQ_API_KEY=your_api_key
KIVVIQ_BACKEND_URL=https://kivviq.ethiodeploy.app
The SDK automatically loads environment variables from a .env file when available.
What Gets Captured
Kivviq captures execution information including:
- Run start and end times
- Run duration
- Execution status (success or error)
- Error messages and types
- OpenAI calls, when OpenAI instrumentation is enabled
- Events logged manually through the SDK
Event Types
Kivviq supports the following event types:
from kivviq.event import EventType
EventType.LLM_CALL
EventType.TOOL_CALL
EventType.USER_INPUT
EventType.OUTPUT
EventType.ERROR
Reliability
- Your agent continues running if the Kivviq backend is unreachable.
- Exceptions from your agent are re-raised rather than swallowed.
- Selected GET and PATCH requests retry transient failures once.
- POST requests are not automatically retried.
- Instrumentation hooks are cleaned up after execution.
Full Documentation
See the SDK documentation for the complete reference.
Metadata
Release files for kivviq 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kivviq-0.1.0.tar.gz | 13.1 kB | Without provenance | Details for kivviq-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kivviq-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for kivviq-0.1.0-py3-none-any.whl |
Total release size: 28.1 kB
Release files / kivviq-0.1.0.tar.gz
| Download URL | kivviq-0.1.0.tar.gz |
|---|---|
| Size | 13.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f30c62efb4c11377ecfe9f98cc26a6dc0e1f1a2610346866977a2e18baa4ce5
|
|
BLAKE2b-256 checksum How to use checksums |
88559b35b5dc1f220b167e10ba2173294d849a33d2cf54890132b604180f1fbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.1
|
Release files / kivviq-0.1.0-py3-none-any.whl
| Download URL | kivviq-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ebe312113c0cddd334c8f66a02858783f11fc0ceca7dd2b91b37c16fd7ea0fd0
|
|
BLAKE2b-256 checksum How to use checksums |
548d2387aa4797a3a065e0a72d90a7877e8cdb334ef4b8b49307f393c88fe90e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.1
|
Security for kivviq 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.