Skip to main content

Deemix library upgrader, automatically matching local files

Project description

deefuse_logo_high_dpi

DeeFuse

PyPI Python Versions License Build GitHub release GitHub Downloads (all assets, all releases) Issues Contributions Welcome

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, .mp3 and .m4a files
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deefuse-0.1.7-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

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

Hashes for deefuse-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5e620a32b0ad54b57f272909694059e7c1ce10e3118f00affcf9f04050d0dbfe
MD5 639831e578ffabedf5cdb197b6f2b47c
BLAKE2b-256 7eafebb5eb35578b741b08fcfb0cbc8cc9d5e3236f4394f6d17eae3c2b3946e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for deefuse-0.1.7-py3-none-any.whl:

Publisher: build.yml on mojwinter/DeeFuse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page