skillfed

oslo.reports

oslo.reports library

oslo-reports v3.9.0 165.2K downloads/30d#10,528 on PyPI
Permissive license Apache-2.0 Active released

What it is and what it does

oslo.reports is a framework for generating structured diagnostic reports from running OpenStack services. It addresses the problem that logs alone don't capture the live state of a system—what threads are active, which config parameters are in effect, or what exceptions are currently being handled. The package provides a "guru meditation report" mechanism that collects this state into models (stack traces, thread info, exceptions, config, package versions) and serializes them to JSON, XML, or plain text via Jinja templates.

The framework is built on three layers: Models that define structured data for system state, Generators that populate those models with current runtime information, and Views that serialize the models to output formats. OpenStack projects can register custom generators to add project-specific diagnostic data. It depends on oslo.serialization, oslo.config, oslo.i18n, oslo.utils, Jinja2, psutil, and pbr—all mature OpenStack ecosystem libraries.

Use it for:

  • Generate diagnostic snapshots when an OpenStack service encounters an error or hangs, capturing thread stacks and active configuration.
  • Collect runtime state reports from production deployments to aid in triaging and debugging complex distributed system issues.
  • Export system state in machine-readable formats (JSON, XML) for automated analysis or archival in incident response workflows.
  • Extend with custom generators to include application-specific metrics or state in the diagnostic report.
  • Inspect thread behavior and configuration state without stopping or restarting the running service.

Worth the install?

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

oslo.reports generates structured debug reports from running OpenStack services, capturing thread state, configuration, stack traces, and package information in JSON, XML, or templated text format.

Yes, if you are developing or operating an OpenStack service and need structured diagnostic reporting. The package is actively maintained, has no known vulnerabilities, and integrates cleanly with the oslo ecosystem. Not recommended for non-OpenStack projects unless you need a general-purpose runtime state capture framework and are willing to work with its OpenStack-centric design.

Install

oslo-reports on PyPI

pip

pip install oslo-reports

uv

uv add oslo-reports

poetry

poetry add oslo-reports

Installing oslo.reports

Before you install

Low install friction with a pure-Python wheel. Active maintenance as of 35 days ago. Depends on 7 runtime packages including oslo.serialization, oslo.config, and Jinja2—all standard OpenStack libraries with established track records.

License in practice

Apache-2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions; attribution required but no copyleft obligations.

Quickstart

pip install oslo.reports

from oslo_reports.guru_meditation_report import GuruMeditationReport
report = GuruMeditationReport()
print(report.format_report())

Requires Python 3.11 or later; designed for OpenStack deployments and most useful when integrated into an OpenStack service.

Verify before relying

  • Whether the package works standalone or requires an OpenStack service context to be useful.
  • Performance characteristics when generating reports from long-running processes with many threads.
  • Customization API surface for adding project-specific generators and models beyond the documented standard set.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 7 — pbr, Jinja2, oslo.serialization, psutil, oslo.i18n, oslo.utils, oslo.config
Maintenance actively maintained — 35 days since the last release
First released
Downloads 165,160/month — #10,528 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: oslo_reports-3.9.0-py3-none-any.whl

Environment :: OpenStackIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTyping :: Typed

Tags

openstack debug report generationguru meditation reportruntime state capturethread and config inspectionopenstack diagnostic reportingsystem state serializationerror report framework
openstackdiagnosticsruntime-introspection

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

oslo.serialization

oslo.serialization provides serialization and…

permissive · top 5,000 on PyPI

oslo.service

oslo.service provides a framework for building…

permissive · top 15,000 on PyPI

oslo.log

oslo.log provides standardized logging…

permissive · top 5,000 on PyPI

oslotest

oslotest provides a testing framework with…

permissive · top 15,000 on PyPI

oslo.config

Parses command-line arguments and .ini-style…

permissive · top 5,000 on PyPI

oslo.vmware

oslo.vmware provides a library for common…

permissive · top 15,000 on PyPI

oslo.utils

oslo.utils provides common utility functions…

permissive · top 5,000 on PyPI

osprofiler

OSProfiler generates distributed request traces…

permissive · top 15,000 on PyPI

oslo.policy

oslo.policy enforces role-based access control…

permissive · top 15,000 on PyPI

oslo.versionedobjects

oslo.versionedobjects provides a versioned…

permissive · top 15,000 on PyPI