neuralqx.utils.io.loggers package

class AbstractLogger

Bases: ABC

Abstract base class defining the logging interface used throughout neuraLQX.

A logger is responsible for collecting, organizing, sanitizing, displaying, and persisting structured information produced during solver execution, including configuration parameters, runtime metadata, and numerical results.

Concrete implementations may differ in storage backend, output format, user interface, or execution context (e.g. serial vs distributed), but must expose the same public behavioral contract defined by this interface.

This abstraction intentionally does not prescribe how logs are stored or rendered, it only defines what operations must be supported.

class Logger(random_seed, solver_seed)

Bases: AbstractLogger

Structured logger for neuraLQX solver executions.

This class collects, organizes, and manages simulation metadata, configuration parameters, and numerical results produced during solver runs. Logged data is stored in a hierarchical dictionary structure with predefined categories that can be extended dynamically at runtime.

The logger supports:
  • Incremental logging of scalar and structured values

  • Runtime extension of log fields

  • Recursive sanitisation of unset entries

  • Human-readable display using Rich panels

  • Persistent export to a signed HTML file

The logger is distributed-aware: all logging, display, and file output operations are performed exclusively on process 0 to avoid duplicated output.

Submodules