skillfed

otel-ci

Add your description here

otel-ci v0.4.0 74.4K downloads/30d#14,839 on PyPI
License unclear Active released

What it is and what it does

otel-ci is a Python utility for recording OpenTelemetry spans from command-line execution. It wraps CLI commands to generate and propagate spans via environment variables, similar to otel-cli. The key difference is its ability to export spans to a local directory instead of sending them live to a receiver, then replay those spans in bulk to an OTLP endpoint later. This deferred export model is useful when you want to avoid the overhead and latency of live span transmission during command execution.

The package supports nested span recording (running otel-ci within otel-ci) and integrates with OpenTelemetry's standard exporters. It depends on opentelemetry-exporter-otlp for replay functionality and requires Python 3.12.1 or later.

Use it for:

  • Record spans from CI/CD pipeline steps without adding live export latency to the build.
  • Batch-export traces from multiple commands executed in sequence, then replay them together to a collector.
  • Debug command execution by capturing nested spans and exporting them to disk for later analysis.
  • Instrument shell scripts and automation workflows with distributed tracing without modifying the underlying commands.
  • Collect telemetry from ephemeral or resource-constrained environments where live export is impractical.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Records and exports OpenTelemetry spans from CLI commands, with optional bulk replay to an OTLP receiver instead of live export.

Yes, if you need CLI span recording with deferred export. The low install friction and active maintenance are positive signals. However, the unclear license status is a blocker for some use cases—verify the actual license before committing to production. The Python 3.12.1 requirement is a hard constraint.

Install

otel-ci on PyPI

pip

pip install otel-ci

uv

uv add otel-ci

poetry

poetry add otel-ci

Installing otel-ci

Before you install

Low friction install with a single runtime dependency (opentelemetry-exporter-otlp). Package is actively maintained with a recent release.

License in practice

License status is unclear—no SPDX identifier or license text is declared. Verify the actual license before use in proprietary or restricted contexts.

Quickstart

pip install otel-ci

export OTEL_EXPORTER_FILE_DIRECTORY="/tmp/out"
export OTEL_TRACES_EXPORTER="file"
otel-ci exec ls

export OTEL_TRACES_EXPORTER="otlp"
export OTEL_EXPORTER_OTLP_ENDPOINT="localhost:4317"
otel-ci replay -d "/tmp/out"

Requires Python 3.12.1 or later.

Verify before relying

  • Whether the package is documented beyond the description excerpt provided.
  • What the actual license is (SPDX identifier or text).
  • Whether nested span recording and service naming work as shown in the usage examples.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.12.1)
Install friction low — pure-Python wheel
Runtime dependencies 1 — opentelemetry-exporter-otlp
Maintenance actively maintained — 4 days since the last release
First released
Downloads 74,419/month — #14,839 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: otel_ci-0.4.0-py3-none-any.whl

Tags

opentelemetry CLI span recordingotel command tracingdistributed tracing CLIspan export to filebatch telemetry replayopentelemetry instrumentation CLIcommand execution tracing
observabilitycli-instrumentationbatch-export

More Monitoring packages

tqdm

Wraps any iterable to display a real-time…

copyleft · top 100 on PyPI

opentelemetry-semantic-conventions

Provides generated Python code for…

permissive · top 100 on PyPI

opentelemetry-sdk

Provides the reference implementation of the…

permissive · top 100 on PyPI

opentelemetry-api

Provides the abstract API and interfaces for…

permissive · top 100 on PyPI

opentelemetry-exporter-otlp-proto-http

Exports OpenTelemetry observability data to an…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation

Provides automatic instrumentation commands and…

permissive · top 1,000 on PyPI

pytest-otel

A pytest plugin that captures and exports…

permissive · top 15,000 on PyPI

pyroscope-otel

Connects OpenTelemetry tracing with Pyroscope…

permissive · top 5,000 on PyPI

otel-extensions

Provides helper classes, decorators, and…

permissive · top 15,000 on PyPI

asciinema

Records and replays terminal sessions, saving…

copyleft · top 5,000 on PyPI

opentelemetry-instrumentation-click

Adds distributed tracing instrumentation to the…

permissive · top 5,000 on PyPI

opentelemetry-instrumentation-redis

Adds distributed tracing to Redis client calls…

permissive · top 1,000 on PyPI

azure-monitor-opentelemetry-exporter

Exports OpenTelemetry traces, metrics, and logs…

permissive · top 1,000 on PyPI

opentelemetry-instrumentation-ollama

Adds distributed tracing to Ollama Python…

permissive · top 5,000 on PyPI

azure-core-tracing-opentelemetry

Integrates Azure SDK clients with OpenTelemetry…

unclear · top 5,000 on PyPI