Skip to main content

Synchronize streaming libraries easily!

Project description

Downmixer logo

Download songs from streaming services easily. Can be an alternative or replacement to spotDL, however, it is only a Python library, not a CLI tool. A very simple download command is available for convenience and testing only.

It is structured to be platform independent - by default, it syncs Spotify libraries downloaded from either or YouTube Music, with lyrics from AZLyrics. However, it can be extended to sync from any streaming service using any audio file source, and any lyrics provider.

This project is currently in alpha version.

Basic functionality works, with Spotify libraries and YT Music audio sources.

Installation

Install the package with:

pip install downmixer

Usage

Command line

downmixer download [spotify id]

Downloads the first matched result for a Spotify song ID. Use downmixer -h for all options or refer to our documentation.

Use as a library

Downmixer is made to be used as a library by other apps, not by end users - its purpose is to abstract searching and downloading songs to make extensible apps. By creating classes inheriting BaseInfoProvider, BaseAudioProvider, and BaseLyricsProvider you can adapt Downmixer to use any kind of source for track info, audio and lyrics.

If you want to use Downmixer in your project, refer to the documentation here: https://neufter.github.io/downmixer/

Building

Uses uv package manager. To build from source, run:

git clone https://github.com/neufter/downmixer
cd downmixer
uv build

Project details


Download files

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

Source Distribution

downmixer-0.1.0a0.tar.gz (112.4 kB view details)

Uploaded Source

Built Distribution

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

downmixer-0.1.0a0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file downmixer-0.1.0a0.tar.gz.

File metadata

  • Download URL: downmixer-0.1.0a0.tar.gz
  • Upload date:
  • Size: 112.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for downmixer-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 8ba76fa06a146e959a29f963dfaee20cc646386ef9d1d9941771c061e0c52d6f
MD5 3bc1f59602e99ff396abe61397bee886
BLAKE2b-256 04b8aad0d82b08ff8f2c9dcf713189fcc2367859900ddad75741a8b9967ec328

See more details on using hashes here.

File details

Details for the file downmixer-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: downmixer-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for downmixer-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eaf83a09afabb25eb64f4db841dce0141f0c399d0ec33d93f5ec3c305677f5b
MD5 978ba4f5615776dd43368d5620ac08db
BLAKE2b-256 110a47419abfff6e80662aa5ec95ee19ad3684905b51657129f6f5698bdd647d

See more details on using hashes here.

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