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-v1.0.0-x86_64.AppImage
-
Run it:
./DiscogsRenamer-v1.0.0-x86_64.AppImage
- 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 --extra 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 --extra 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.
