Skip to content

types

Core type definitions and protocols used throughout Downmixer.

This module provides common types including the LoggerLike protocol for logging interfaces. Submodules contain specific type definitions:

  • library: Core music metadata types (Song, Album, Artist, Playlist, User)
  • processing: Types for download/conversion workflow state (LocalFile)
  • search: Generic search result wrapper (SearchResult)
  • exceptions: Custom exceptions and warnings
MODULE DESCRIPTION
exceptions

Custom exceptions and warnings used throughout Downmixer.

library

Data classes to hold standardized metadata about songs, artists, and albums.

search

Types for wrapping search results from providers.

CLASS DESCRIPTION
LoggerLike

Defines the logging interface supported by all modules. Is essentially the same as standard lib's

LoggerLike

Bases: Protocol

Defines the logging interface supported by all modules. Is essentially the same as standard lib's logging.Logger.

debug

debug(msg)
Source code in src/downmixer/types/__init__.py
22
def debug(self, msg): ...

info

info(msg)
Source code in src/downmixer/types/__init__.py
23
def info(self, msg): ...

warning

warning(msg)
Source code in src/downmixer/types/__init__.py
24
def warning(self, msg): ...

error

error(msg, exc_info)
Source code in src/downmixer/types/__init__.py
25
def error(self, msg, exc_info): ...