Skip to main content

yb-observability

Reusable Python infrastructure for application configuration and observability.

yb-observability provides common infrastructure that can be shared across Python applications without coupling the library to a specific application or architecture.

The project currently focuses on configuration and logging, with additional observability capabilities planned for future releases.

Features

Configuration

  • YAML configuration loading.
  • Environment variable resolution.
  • Nested environment variable support.
  • Configuration validation.
  • Clear configuration-related exceptions.

Logging

  • Loguru-based logging.
  • Explicit application/service identity.
  • Consistent human-readable log format.
  • Console logging.
  • File logging.
  • Daily log rotation.
  • Configurable retention.
  • Per-service log directories.

Future

The library is designed to grow with additional infrastructure such as:

  • Structured/JSON logging.
  • Request and correlation IDs.
  • Metrics.
  • Distributed tracing.
  • OpenTelemetry integrations.
  • Additional observability integrations.

Features are introduced incrementally and remain independent where possible.

Installation

Install the package from PyPI:

pip install yb-observability

With uv:

uv add yb-observability

Basic Usage

Configuration:

from yb_observability.config import ConfigLoader

config = ConfigLoader("config.yml").load()

Logging:

from yb_observability.logging import configure_logging

configure_logging(service="my-service")

The application remains responsible for deciding what should be logged. yb-observability is responsible for configuring the logging infrastructure and providing a consistent logging interface.

Design Goals

Reusable

The library must not depend on a specific application, framework, infrastructure provider, or domain.

Explicit

Applications should explicitly configure the behavior they require rather than relying on hidden conventions.

Consistent

Applications using the library should receive consistent configuration and logging behavior.

Extensible

New capabilities should be possible without breaking the existing public API.

Testable

Core functionality should be covered by automated tests.

Production-oriented

The library should be suitable for both local development and production applications.

Project Structure

yb-observability/
├── src/
│   └── yb_observability/
│       ├── config/
│       └── logging/
│
├── tests/
│   ├── config/
│   └── logging/
│
├── .github/
│   ├── ISSUE_TEMPLATE/
│   └── workflows/
│
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
└── pyproject.toml

Development

The project uses:

  • Python 3.14
  • uv
  • Ruff
  • Pyright
  • Pytest
  • Loguru
  • PyYAML

Install development dependencies:

uv sync

Run the test suite:

uv run pytest

Run linting:

uv run ruff check .

Check formatting:

uv run ruff format --check .

Run type checking:

uv run pyright

Build the package:

uv build

Contributing

Contributions are welcome.

Before submitting a pull request, make sure that:

  • Tests pass.
  • Ruff checks pass.
  • Formatting checks pass.
  • Pyright checks pass.
  • The package builds successfully.
  • New functionality includes appropriate tests.
  • Public API changes are documented.

See CONTRIBUTING.md for development and contribution guidelines.

License

This project is licensed under the terms defined in LICENSE.

Release files for yb-observability 0.2.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 yb-observability 0.2.3
File Size Uploaded
yb_observability-0.2.3.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yb-observability 0.2.3
File Interpreter ABI Platform
yb_observability-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / yb_observability-0.2.3.tar.gz

Download URL yb_observability-0.2.3.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f4c68085ab2de00f5ecfaa4fb719bd803e72ce798f3e63d4fea625424f3bbd33
BLAKE2b-256 checksum
How to use checksums
343d91ea85ea351c8465432b824a94cc0bb61c47e47c0f8fcdc9a9d2feb46e67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 25, 2026.

Transparency log

Release files / yb_observability-0.2.3-py3-none-any.whl

Download URL yb_observability-0.2.3-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e9951003976815566d4acaf762e3d01f8d40098ebd5feaab2ed6ee17000c8739
BLAKE2b-256 checksum
How to use checksums
cd1f1f4e92639e09e615888d1cef3ab7cf22c5da10e7158b2a76730b94acdc1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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