Types¶
The downmixer.types module provides the core data structures used throughout Downmixer. These types standardize how
song metadata and search results are represented across different music platforms.
Submodules¶
| Submodule | Description |
|---|---|
library |
Core music metadata types (Song, Album, Artist, Playlist, User) |
search |
Generic search result wrapper |
exceptions |
Custom exceptions and warnings |
LoggerLike Protocol¶
The module also defines LoggerLike, a protocol describing the logging interface used throughout Downmixer. It mirrors Python's standard logging.Logger interface:
class LoggerLike(Protocol):
def debug(self, msg): ...
def info(self, msg): ...
def warning(self, msg): ...
def error(self, msg, exc_info): ...
This allows any logger implementation compatible with the standard library to be used, or a completely custom
implementation; as long as it follows this Protocol. The default Logger used by most modules in the app is
ConsoleLogger.
See the reference for complete API documentation.