Skip to main content

Progress Observability Instrumentation (Python)

Zero-intrusion telemetry for AI agents and LLM apps. Built on Traceloop SDK and OpenTelemetry with a simple one-line init and optional decorators.

Installation

pip install progress-observability

Or from wheel file:

pip install progress_observability-x.y.z-py3-none-any.whl

Quick Start

from progress.observability import Observability, ObservabilityInstruments

# Initialize once at process start
Observability.instrument(
    app_name="my-app",
    api_key="<your-api-key>",
    # endpoint="https://collector.observability.progress.com:443"  # Optional: has default
)

Configuration

Common options (for Observability.instrument):

  • app_name - Application name for telemetry
  • endpoint - OpenTelemetry collector endpoint
  • api_key - Authentication key
  • debug - Show sanitized OTLP trace-delivery failures on standard error (default: False)
  • instruments / block_instruments - Control what gets traced via ObservabilityInstruments
  • trace_content - when set to False will stop sending LLM prompt/responses as part of the telemetry data
  • additional_tags - custom tags (see below)

Environment overrides (optional):

  • OBSERVABILITY_APP_NAME sets the application name (e.g. "my-app")
  • OBSERVABILITY_ENDPOINT sets a custom endpoint for collecting data (e.g. "https://collector.observability.progress.com:443")
  • OBSERVABILITY_API_KEY sets the authentication key to use when sending data
  • OBSERVABILITY_TRACE_CONTENT when set to false will stop sending LLM prompt/responses as part of the telemetry data
  • OBSERVABILITY_DEBUG enables sanitized trace-delivery errors when set to 1, true, or yes

Auth headers are added automatically for HTTP(S) endpoints when api_key is provided. Invalid endpoints and missing or empty API keys raise during initialization. Delivery failures do not terminate the application and remain silent unless debug logging is enabled. Debug messages never include API keys, authorization headers, or telemetry payloads.

Custom Tags

Tags are user-defined strings (max 200 characters each) attached to observations for filtering and grouping.

Global tags — applied to every span:

Observability.instrument(
    app_name="my-app",
    api_key="<your-api-key>",
    additional_tags=["production", "release:2.4.1"],
)

Scoped tags — applied to spans within a specific block via propagate_attributes:

from progress.observability import propagate_attributes

with propagate_attributes(tags=["tenant:acme", "experiment-v2"]):
    # All spans created here inherit these tags
    my_agent_function()

Nesting is supported — tags accumulate from outer to inner scopes.

Decorator tags — applied to a single decorated function:

from progress.observability import task

@task(tags=["cohort-a"])
def my_task():
    ...

Package Structure

src/progress/observability/
├── __init__.py                 # Package entry point
├── sdk.py                      # Main Observability SDK
├── decorators.py               # @task, @workflow, @agent, @tool decorators
├── constants.py                # Environment variables and constants
├── enums.py                    # ObservabilityInstruments enum
├── exceptions.py               # Custom exception types
├── genai_message_processor.py  # LLM span content normalization
├── helpers.py                  # Helper functions
├── model_fix_processor.py      # LLM span attribute repair
├── tags.py                     # Tag propagation span processor

Metadata

Release files for progress-observability 1.5.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for progress-observability 1.5.3
File Size Uploaded
progress_observability-1.5.3.tar.gz 166.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for progress-observability 1.5.3
File Interpreter ABI Platform
progress_observability-1.5.3-py3-none-any.whl Python 3 none any Details

Total release size: 219.5 kB

Release files / progress_observability-1.5.3.tar.gz

Download URL progress_observability-1.5.3.tar.gz
Size 166.1 kB
Tags Source
SHA-256 checksum
How to use checksums
bc2271f580ceb22a135be8eb9b19a15f856e09fcc9f9a8823ddf5027124810ee
BLAKE2b-256 checksum
How to use checksums
3eb9ca859b36fa0b3d5d926acccf84920f8097734cc2f3c81c591a2046f968e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / progress_observability-1.5.3-py3-none-any.whl

Download URL progress_observability-1.5.3-py3-none-any.whl
Size 53.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7029103fe7e71fc04666475e6a5b836a7d1124ac945ea32ecab73718bee215e1
BLAKE2b-256 checksum
How to use checksums
19bf506adfaf8b8e6f0f877ed66abc0e294e151973dcb1cbb30d7417454de660
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.5.3 This release

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.6

2 release files

1.4.3

2 release files

1.4.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page