cc.StatusQ-cpu
Efficient monitoring and management of CPU status.
💊⚛️
Installation
pip install cc.statusq-cpu
Usage
from cc_statusq_cpu.core import StatusqCPU, CPUEventBus
from cc_statusq_cpu.capsule import PsutilCPUProvider, ConsoleSubscriber
# 1. Initialize the Event Bus (The Communication Channel)
event_bus = CPUEventBus()
# 2. Initialize the Infrastructure Provider (The Data Source)
provider = PsutilCPUProvider()
# 3. Setup Subscribers (The Consumers)
# The ConsoleSubscriber implements the CPUEventSubscriber contract
console_logger = ConsoleSubscriber()
console_logger.subscribe_to(event_bus)
# 4. Initialize the Domain Controller
cpu_monitor = StatusqCPU(provider=provider, event_bus=event_bus)
# 5. Run Monitoring
print("--- Single Check ---")
cpu_monitor.run_single_check()
print("\n--- Continuous Monitoring (3 iterations) ---")
cpu_monitor.run_continuous_monitoring(interval=1.0, iterations=3)
Architecture Overview
-
core: : Contains the business logic (StatusqCPU), Event definitions, and Interfaces (CPUProvider). It has zero dependencies on external libraries.
-
capsule: Contains concrete implementations like PsutilCPUProvider (using psutil) and ConsoleSubscriber (using print).
Metadata
Release files for cc.statusq.cpu 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cc_statusq_cpu-0.9.0.tar.gz | 15.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cc_statusq_cpu-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.7 kB
Release files / cc_statusq_cpu-0.9.0.tar.gz
| Download URL | cc_statusq_cpu-0.9.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff7fff12a06c03cb812e9c3364d91b65b4cc062813dd3a16753e59154f6ce886
|
|
BLAKE2b-256 checksum How to use checksums |
2a0ca724e312f985b6ed1c016cf396684502ad1aaa70dbd6c981f566a021e3ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / cc_statusq_cpu-0.9.0-py3-none-any.whl
| Download URL | cc_statusq_cpu-0.9.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74018af7d895a4d0aa37a2624ee3bf918061c54c0e3d028d124a6012f743f0d1
|
|
BLAKE2b-256 checksum How to use checksums |
f24cb41c23ee1c1a8afa8d05649126450e6c305474e17f0809a7cab819f9c2fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|