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

1# SPDX-License-Identifier: MIT 

2# Copyright © 2025 Bijan Mousavi 

3 

4"""Provides the public API for the Bijux CLI's infrastructure layer. 

5 

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. 

10 

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""" 

20 

21from __future__ import annotations 

22 

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 

29 

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]