# Module: constants ## Purpose Centralizes shared configuration constants and provides the application-wide logging interface via Loguru. ## Public Interface ### Constants (cdef, module-level) | Name | Type | Value | |------------------------|------|--------------------------------| | CONFIG_FILE | str | `"config.yaml"` | | QUEUE_CONFIG_FILENAME | str | `"secured-config.json"` | | AI_ONNX_MODEL_FILE | str | `"azaion.onnx"` | | CDN_CONFIG | str | `"cdn.yaml"` | | MODELS_FOLDER | str | `"models"` | | SMALL_SIZE_KB | int | `3` | | ALIGNMENT_WIDTH | int | `32` | Note: `QUEUE_MAXSIZE`, `COMMANDS_QUEUE`, `ANNOTATIONS_QUEUE` are declared in the `.pxd` but not defined in the `.pyx` — they are unused in this codebase. ### Functions (cdef, Cython-only visibility) | Function | Signature | Description | |------------------------|----------------------------|------------------------------| | `log` | `cdef log(str log_message)` | Logs at INFO level via Loguru | | `logerror` | `cdef logerror(str error)` | Logs at ERROR level via Loguru | ## Internal Logic Loguru is configured with three sinks: - **File sink**: `Logs/log_loader_{date}.txt`, INFO level, daily rotation, 30-day retention, async (enqueue=True) - **Stdout sink**: DEBUG level, filtered to INFO/DEBUG/SUCCESS only, colorized - **Stderr sink**: WARNING+ level, colorized Log format: `[HH:mm:ss LEVEL] message` ## Dependencies - **Internal**: none (leaf module) - **External**: `loguru` (0.7.3), `sys`, `time` ## Consumers - `hardware_service` — calls `log()` - `cdn_manager` — calls `log()`, `logerror()` - `api_client` — calls `log()`, `logerror()`, reads `CDN_CONFIG`, `SMALL_SIZE_KB` ## Data Models None. ## Configuration No env vars consumed directly. Log file path is hardcoded to `Logs/log_loader_{date}.txt`. ## External Integrations None. ## Security None. ## Tests No tests found.