src/eyed3/utils/log.py changes global logging configuration. That's fine when eyeD3 is used as a CLI tool, but not when eyeD3 is imported by other code. Libraries shouldn't change global logging configuration.
One simple solution is to expose
_initLogging() in log.py and move
initLogging() to src/eyed3/main.py.
Until fixed, if anyone bumps into this problem, a workaround is to revert eyeD3's global logging modifications post import, like
import eyed3 logging.getLogger().handlers.pop() logging.setLoggerClass(logging.Logger)