OpenAI helper wrappers for the Grafana Agent Observability Python SDK
Project description
Sigil Python Provider Helper: OpenAI
agento11y-openai exposes strict OpenAI-shaped wrappers and mappers for both Chat Completions and Responses.
Installation
pip install agento11y agento11y-openai
Public API
-
Chat Completions namespace:
chat.completions.create(...)chat.completions.create_async(...)chat.completions.stream(...)chat.completions.stream_async(...)chat.completions.from_request_response(...)chat.completions.from_stream(...)
-
Responses namespace:
responses.create(...)responses.create_async(...)responses.stream(...)responses.stream_async(...)responses.from_request_response(...)responses.from_stream(...)
-
Embeddings namespace:
embeddings.create(...)embeddings.create_async(...)embeddings.from_request_response(...)
Integration styles
- Strict wrappers: call OpenAI and record in one step.
- Manual instrumentation: call OpenAI directly, then map strict OpenAI request/response payloads with
from_request_responseorfrom_stream.
Responses-first wrapper example
from openai import OpenAI
from agento11y import Client, ClientConfig
from agento11y_openai import OpenAIOptions, responses
agento11y = Client(ClientConfig())
provider = OpenAI()
response = responses.create(
agento11y,
{
"model": "gpt-5",
"instructions": "Be concise",
"input": "Summarize rollout status in 3 bullets",
"max_output_tokens": 300,
},
lambda request: provider.responses.create(**request),
OpenAIOptions(conversation_id="conv-1", agent_name="assistant", agent_version="1.0.0"),
)
Chat Completions stream example
from agento11y_openai import ChatCompletionsStreamSummary, chat
summary = chat.completions.stream(
agento11y,
{
"model": "gpt-5",
"stream": True,
"messages": [{"role": "user", "content": "Stream a short status update"}],
},
lambda request: ChatCompletionsStreamSummary(events=[]),
)
Embeddings example
from agento11y_openai import embeddings
embedding_response = embeddings.create(
agento11y,
{
"model": "text-embedding-3-small",
"input": ["hello", "world"],
},
lambda request: provider.embeddings.create(**request),
)
Manual instrumentation example (strict mapper)
from agento11y import GenerationStart, ModelRef
from agento11y_openai import OpenAIOptions, responses
request = {
"model": "gpt-5",
"instructions": "Be concise",
"input": "Summarize rollout status in 3 bullets",
}
opts = OpenAIOptions(
conversation_id="conv-1",
agent_name="assistant",
agent_version="1.0.0",
)
with agento11y.start_generation(
GenerationStart(
conversation_id=opts.conversation_id,
agent_name=opts.agent_name,
agent_version=opts.agent_version,
model=ModelRef(provider=opts.provider_name, name=request["model"]),
)
) as rec:
try:
response = provider.responses.create(**request)
rec.set_result(responses.from_request_response(request, response, opts))
except Exception as exc:
rec.set_call_error(exc)
raise
Raw artifacts (debug opt-in)
Raw artifacts are off by default.
Enable with:
OpenAIOptions(raw_artifacts=True)
Artifact names:
- Chat:
openai.chat.request,openai.chat.response,openai.chat.tools,openai.chat.stream_events - Responses:
openai.responses.request,openai.responses.response,openai.responses.tools,openai.responses.stream_events
Call client.shutdown() during teardown to flush buffered telemetry.
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
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 agento11y_openai-0.10.0.tar.gz.
File metadata
- Download URL: agento11y_openai-0.10.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfbba700821e2484ec0ad0c1f982192c3a480a6333b3d30afbb51baa85e641ac
|
|
| MD5 |
e989ce9a5cb6e02dcf285998acc2d7bb
|
|
| BLAKE2b-256 |
18b9b2c27c02e6da35f08e766b62490a0de34da2c962516e1ebff5ca7703f674
|
Provenance
The following attestation bundles were made for agento11y_openai-0.10.0.tar.gz:
Publisher:
python-sdks-publish.yml on grafana/agento11y
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agento11y_openai-0.10.0.tar.gz -
Subject digest:
bfbba700821e2484ec0ad0c1f982192c3a480a6333b3d30afbb51baa85e641ac - Sigstore transparency entry: 2212032184
- Sigstore integration time:
-
Permalink:
grafana/agento11y@a4e0bb2da205e2db40e7668df4e343263872cb3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/grafana
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-sdks-publish.yml@a4e0bb2da205e2db40e7668df4e343263872cb3a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file agento11y_openai-0.10.0-py3-none-any.whl.
File metadata
- Download URL: agento11y_openai-0.10.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8cd8a13a14be0a5c9425a561710369869b7520cf7ece382a99f86a093343d6d
|
|
| MD5 |
dda6b16e6c98f11842842f139ad130cf
|
|
| BLAKE2b-256 |
5a720a424e27f9d4089e7d632b2d2609db5ccdb429c8e481077bd0b98296b026
|
Provenance
The following attestation bundles were made for agento11y_openai-0.10.0-py3-none-any.whl:
Publisher:
python-sdks-publish.yml on grafana/agento11y
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agento11y_openai-0.10.0-py3-none-any.whl -
Subject digest:
f8cd8a13a14be0a5c9425a561710369869b7520cf7ece382a99f86a093343d6d - Sigstore transparency entry: 2212032207
- Sigstore integration time:
-
Permalink:
grafana/agento11y@a4e0bb2da205e2db40e7668df4e343263872cb3a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/grafana
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-sdks-publish.yml@a4e0bb2da205e2db40e7668df4e343263872cb3a -
Trigger Event:
workflow_dispatch
-
Statement type: