otel-ci
Add your description here
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12.1 or later.
- Low friction install with a single runtime dependency (opentelemetry-exporter-otlp).
- Package is actively maintained with a recent release.
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or license text is declared. Verify the actual license before use in proprietary or restricted contexts.
last release 2026-08-10 (4 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 74,419 downloads/mo, #14,839 on PyPI
Alternatives
Verify before relying
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"- 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.
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 on it.
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
Before you install
Low friction install with a single runtime dependency (opentelemetry-exporter-otlp). Package is actively maintained with a recent release.
Requires Python 3.12.1 or later.
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"
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 packageopentelemetry-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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “opentelemetry CLI span recording”
- otel-ciRecords and exports OpenTelemetry spans from CLI commands, with…
- opentelemetry-instrumentation-falconAdds distributed tracing to Falcon web applications by instrumenting…
- opentelemetry-semantic-conventions-aiProvides OpenTelemetry semantic conventions and attributes for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Monitoring packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.
Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.
Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.
Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.
Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.
Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.
Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.
Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.
See also pytest-otel · pyroscope-otel · otel-extensions · asciinema · opentelemetry-instrumentation-click · opentelemetry-instrumentation-redis · azure-monitor-opentelemetry-exporter · opentelemetry-instrumentation-ollama · azure-core-tracing-opentelemetry