Declarative tag-and-folder normalizer for Brandon's audiobook library. One source of truth (`catalog/books.py`) drives both embedded metadata (`retag`) and the on-disk folder tree (`reorg`); engine (`audiobooktools/`) and catalog (`catalog/`) are deliberately separate.
python cli metadata tagging python3 pytest mutagen ruff audiobooks library-management m4b uv dry-run python-310 mutagen-only-runtime-dep
-
Updated
Sep 17, 2026 - Python