Source code for Configuration.config

"""Static configuration loader for Oizom environmental monitoring devices.

Reads base device configuration from ``Configuration/config.json`` at startup.
This JSON file contains default settings inherited by all sensor wrappers,
including sampling intervals, data formats, and device metadata.

The :class:`Config` singleton is instantiated once by :class:`SensorBase.GenericSensor`
and its ``config`` attribute is shared across all wrapper instances.

Typical usage::

    from Configuration import Config

    cfg = Config()
    print(cfg.config["sampling_interval"])
"""

import json
import os


[docs] class Config: """Loader for the base device configuration file. Reads and parses ``Configuration/config.json`` on instantiation, making the resulting dictionary available via the :attr:`config` attribute. Attributes: config: Parsed contents of ``config.json``. Contains base settings such as sampling intervals, device identifiers, and default parameter configurations shared by all sensor wrappers. """ config: dict = {}
[docs] def __init__(self) -> None: dirname = os.path.dirname(__file__) file_name = os.path.join(dirname, "config.json") with open(file_name) as f: data = json.load(f) self.config = data