Deemix library upgrader, automatically matching local files
Project description
DeeFuse
DeeFuse is a desktop application for upgrading your existing music library using tracks downloaded from Deezer. It scans your existing files, finds matches via the Deezer API and downloads the highest quality versions using the deemix command line interface. This aims to improve bitrate, metadata and organization.
Features
- Automatic scanning of a directory for
.flac,.mp3and.m4afiles - Strict matching of artist, title and duration for unattended downloads
- Manual search and relaxed matching when no automatic match is found
- Progress dialog with the ability to cancel a scan
- CSV logs for skipped and matched tracks
Requirements
- Python 3.9 or newer
- The deemix CLI available on your
PATH
The application installs its Python dependencies automatically when you install the package.
Installation
Install the package from source:
pip install .
This will install a deefuse entry point.
Building a standalone executable
Use PyInstaller's module mode to bundle the application:
pyinstaller --noconsole --onefile \
--icon assets/deefuse_desktop.ico \
--add-data "assets/deefuse_desktop.ico;assets" \
-n DeeFuse -m deefuse
Running in module mode ensures the package context is correctly set when the executable starts.
Usage
Run the program either with the installed command or via the module:
deefuse
# or
python -m deefuse
Select your music directory and click Scan & Download. Matches will be downloaded automatically. Unmatched tracks will appear in the Skipped Tracks table where you can perform manual searches and downloads.
Matched and skipped tracks are recorded in matched_tracks.csv and skipped_tracks.csv respectively.
License
This project is licensed under the terms of the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deefuse-0.1.7-py3-none-any.whl.
File metadata
- Download URL: deefuse-0.1.7-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e620a32b0ad54b57f272909694059e7c1ce10e3118f00affcf9f04050d0dbfe
|
|
| MD5 |
639831e578ffabedf5cdb197b6f2b47c
|
|
| BLAKE2b-256 |
7eafebb5eb35578b741b08fcfb0cbc8cc9d5e3236f4394f6d17eae3c2b3946e0
|
Provenance
The following attestation bundles were made for deefuse-0.1.7-py3-none-any.whl:
Publisher:
build.yml on mojwinter/DeeFuse
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deefuse-0.1.7-py3-none-any.whl -
Subject digest:
5e620a32b0ad54b57f272909694059e7c1ce10e3118f00affcf9f04050d0dbfe - Sigstore transparency entry: 271885258
- Sigstore integration time:
-
Permalink:
mojwinter/DeeFuse@6e0f991ffbb6dd680951e7961c6735c2256dd971 -
Branch / Tag:
refs/tags/v0.1.11 - Owner: https://github.com/mojwinter
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@6e0f991ffbb6dd680951e7961c6735c2256dd971 -
Trigger Event:
push
-
Statement type: