Skip to main content

omega-api-otel

OpenTelemetry instrumentation for Ω-API evaluation events.

Put the judge's verdict into the observability stream without turning the verdict into a metric.

Emit Ω-API decisions as OpenTelemetry evaluation events: label, reason, side, and gate — never geometry.

This is an emitter, not an exporter. It turns each Ω-API judgment into one gen_ai.evaluation.result event and hands it to the OpenTelemetry pipeline you already run. It hosts no collector, no backend, no OTLP exporter, no dashboard, and no storage — those stay yours.

Install

pip install omega-api-otel

Depends on omega-api and opentelemetry-api. Your application owns the OpenTelemetry SDK and decides where events go.

Use

You already have a Decision from omega-api:

from omega_api import Omega
from omega_api_otel import emit_decision

omega = Omega()  # reads OMEGA_API_KEY
decision = omega.judge(input=user_msg, output=agent_reply, session_id="conv-42")

emit_decision(decision, session_id="conv-42")
# -> one gen_ai.evaluation.result event on your OTel pipeline

Or judge and emit in one call:

from omega_api_otel import judge_and_emit

decision = judge_and_emit(input=user_msg, output=agent_reply, session_id="conv-42")

emit_decision performs no network I/O and needs no API key — it maps a decision you already have. judge_and_emit reuses omega-api for the HTTP call, then emits.

What lands on the event

event  gen_ai.evaluation.result
  gen_ai.evaluation.name        "omega_process_movement"
  gen_ai.evaluation.score.label PROCEED | CLARIFY | STOP | UNKNOWN
  gen_ai.conversation.id        your session_id (only when you pass one)
  omega.turn_id                 the turn id the server assigned
  omega.reason_family           drift | security | residue | missing_limit | ok | unknown
  omega.side                    user | agent | coupling | unknown
  omega.gate_action             release | clarify | suppress | none
  omega.judged                  true, or false for a fail-open synthetic decision

There is no numeric score on the event. Omega-API measures whether the process moved on each turn; it does not tell you whether the agent reached the user's goal. Read the label and the gate, act on the gate before showing the reply, and read outcome separately through your own events.

Unreachable judge with judge_and_emit(..., fail_open=True): the event is emitted honestly with score.label="UNKNOWN" and omega.judged=false, never a fabricated verdict.

Note on the convention

The GenAI evaluation event is part of the OpenTelemetry GenAI semantic conventions, which are currently in Development status. The convention strings this package emits are pinned to a recorded commit of open-telemetry/semantic-conventions-genai and isolated in a single module, so a convention change is one edit here rather than a change across your code.

License

Apache-2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omega_api_otel-0.1.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

omega_api_otel-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file omega_api_otel-0.1.0.tar.gz.

File metadata

  • Download URL: omega_api_otel-0.1.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for omega_api_otel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5a08fbe15dea3bb6792605ad832d420330477205fccaef50caa11d900a575837
MD5 63c647f8a6708381ad918c2d6502008c
BLAKE2b-256 6c66f4bde81b238ab1053f62218b51a8d2ef920a8f50453690e3abe47c94f65d

See more details on using hashes here.

File details

Details for the file omega_api_otel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: omega_api_otel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for omega_api_otel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d8e3cf7d7ba3a760b463885359f1ce6a2043e310e468d65ff04e975581af8c9
MD5 f6267f46f5c55b7ecd498444bf6cfefd
BLAKE2b-256 a80cb2b7a3b6aa0cccef26cb12db6ddafaa229adcaa738387a24392dae3daa48

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