A PyQt6-based desktop application that automates renaming audio files in a folder using tracklisting data from a selected Discogs release.
It retrieves release tracklisting data, allows you to match tracks to files, and applies consistent filename rules through a clean GUI.
- Enter a Discogs release ID to fetch its tracklisting
- Browse and select your local folder of audio tracks
- The files being renamed can be reordered if needed
- Rename every file in the folder or just a selected subset
- Specify the formatting of the filename and the information included
- Rename files safely with user-controlled substitution for invalid filename characters
-
Download the .exe from the Assets of the latest release
-
Double‑click to run
-
Download the AppImage from the Assets of the latest release
-
Make it executable:
chmod +x DiscogsRenamer-*.AppImage -
Run it:
./DiscogsRenamer-*.AppImageIf you see a message like
dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the --appimage-extract option. See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information
then you will need to install FUSE v2. Modern distros ship with FUSE v3, but AppImages are built to run on FUSE v2
It is ok to install fuse2 alongside fuse3:
sudo apt install libfuse2
- Install system dependencies
chmod +x scripts/setup-system.sh
./scripts/setup-system.shThis installs Python tooling (pipx, uv) and the system libraries required for running PyQt6 applications and building the project with PyInstaller.
- Create and activate a virtual environment
# In a new terminal (to pick up the uv path update)
uv venv
source .venv/bin/activate- Install project dependencies
uv sync --group devThis installs both the runtime and development dependencies defined in pyproject.toml.
- Install pipx (Python application manager)
# In a PowerShell terminal
.\scripts\setup-system.ps1This installs pipx and updates your PATH. A new terminal is required for the PATH change to take effect.
- Install uv
# In a new PowerShell terminal (to pick up the PATH update)
pipx install uv- Create and activate a virtual environment
uv venv
.\.venv\Scripts\activate.ps1- Install project dependencies
uv sync --group devThis installs both the runtime and development dependencies defined in pyproject.toml.
python main.py- Use the included launch.json to start the application from main.py
If you want to build a standalone executable for your own system (not an AppImage), use PyInstaller in onefile mode. This applies to both Windows and Linux.
Note that PyInstaller uses different path separators for --add-data depending on the platform:
- Linux / macOS: SRC:DEST
- Windows: SRC;DEST
uv run pyinstaller --noconfirm --name DiscogsRenamer --windowed --onefile --add-data="discogsrenamer/gui/icons:discogsrenamer/gui/icons" main.pyThis command produces a single executable in the dist/ directory.
If you want to build an AppImage, use PyInstaller in onedir mode and then package the directory using appimagetool.
See CONTRIBUTING.md for guidelines on pull requests and testing requirements.
GPL-3.0. See LICENSE for details.
