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.2

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.2
File Size Uploaded
yb_observability-0.2.2.tar.gz 6.9 kB Details

Built distribution (wheel)

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

Total release size: 13.3 kB

Release files / yb_observability-0.2.2.tar.gz

Download URL yb_observability-0.2.2.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
0b995e2d6f1740a29737c8f7c406bdb88e6642f977b6440c2db1af7de76bb98a
BLAKE2b-256 checksum
How to use checksums
cd3713a2a182cb33120544342bd8f321fc745e3766dede75b74d34789212b83a
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.2-py3-none-any.whl

Download URL yb_observability-0.2.2-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37e65af1f421b917037ac69910f186c0b0a4fed573e543be74ebbbc2c0534720
BLAKE2b-256 checksum
How to use checksums
4af1670570b85caba315901f849a75c1f3702ab0c40a5047b2d7c96c9cada6f6
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

0.2.3

2 release files

This release

0.2.2 This release

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