Coverage for /home/runner/work/bijux-cli/bijux-cli/src/bijux_cli/infra/__init__.py: 100%
8 statements
« prev ^ index » next coverage.py v7.10.4, created at 2025-08-19 23:36 +0000
« prev ^ index » next coverage.py v7.10.4, created at 2025-08-19 23:36 +0000
1# SPDX-License-Identifier: MIT
2# Copyright © 2025 Bijan Mousavi
4"""Provides the public API for the Bijux CLI's infrastructure layer.
6This module acts as the public facade for the concrete implementations of
7various infrastructure services defined within the `bijux_cli.infra` package.
8It aggregates these components into a single, stable namespace for convenient
9importing and use by the application's service layer.
11The exposed components provide implementations for core cross-cutting
12concerns, including:
13* **Observability:** `Observability` for structured logging.
14* **Serialization:** `OrjsonSerializer` and `PyYAMLSerializer`.
15* **Output:** `Emitter` for printing structured output.
16* **Telemetry:** `LoggingTelemetry` and `NullTelemetry` for analytics.
17* **Concurrency:** `ProcessPool` for managing worker processes.
18* **Resilience:** `ExponentialBackoffRetryPolicy` for handling transient errors.
19"""
21from __future__ import annotations
23from bijux_cli.infra.emitter import Emitter
24from bijux_cli.infra.observability import Observability
25from bijux_cli.infra.process import ProcessPool, get_process_pool
26from bijux_cli.infra.retry import ExponentialBackoffRetryPolicy, TimeoutRetryPolicy
27from bijux_cli.infra.serializer import OrjsonSerializer, PyYAMLSerializer, Redacted
28from bijux_cli.infra.telemetry import LoggingTelemetry, NullTelemetry, TelemetryEvent
30__all__ = [
31 "Emitter",
32 "Observability",
33 "ProcessPool",
34 "get_process_pool",
35 "ExponentialBackoffRetryPolicy",
36 "TimeoutRetryPolicy",
37 "OrjsonSerializer",
38 "PyYAMLSerializer",
39 "Redacted",
40 "LoggingTelemetry",
41 "NullTelemetry",
42 "TelemetryEvent",
43]