Skip to content

segevp/segevmusic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

SegevMusic

A Python library to download songs using:

  • Apple Music API for finding the songs and tagging ID3 metadata
  • Deezer API for the downloading itself, using the deemix library

As for songs searching support:

  • Automatic song selection
  • Interactively searching for songs (the default)
  • Loading song names from a file (-f)
  • Loading a file that contains links! (-x)
  • Validation and modifying of chosen songs (-c)
  • Download an entire album (-a)
  • Download with an Apple Music link (-l) an entire playlist/album or just a single song
    • NEW: You can now give a link from various platforms! (Spotify, YouTube, Pandora, TIDAL, etc.)

At last it supports uploading downloaded files to WeTransfer (-u)! Useful if you use a remote server.

Installation

Requires Python3.6 and higher

Installation is as simple as a one line of code:

pip3 install -U git+https://github.com/segevp/segevmusic.git

Or via SSH:

pip3 install -U git+ssh://git@github.com/segevp/segevmusic.git

Usage

segevmusic [-h] [-u] [-f FILE | -a | -l LINK] [-x] [-d] [path]

download music effortlessly

positional arguments:
  path                  songs download path

optional arguments:
  -h, --help            show this help message and exit
  -u, --upload          upload songs to wetransfer
  -f FILE, --file FILE  load a file with songs list
  -a, --album           download an entire album
  -l LINK, --link LINK  download playlists, albums or songs from a given link
  -x, --links-file      the loaded file contains links
  -d, --dont-validate   don't validate chosen songs

SegevMusic can be run in multiple ways:

From terminal (as a binary):

segevmusic --help

From terminal, via Python:

python -m segevmusic --help

Inside your Python code:

import segevmusic.music_downloader

if __name__ == "__main__":
    segevmusic.music_downloader.main()