A terminal based application written in Python3, which helps you download songs in MP3 format, with meta-data like artist information and album-arts just like on Spotify.
- Python3.6 or above
- ffmpeg (in PATH)
To install the latest Release just do
pip install spotidnldr- Clone the repo first (using git clone or downloading and extracting the zip)
git clone https://github.com/raprocks/spotidnldrOR download zip
wget https://github.com/raprocks/spotidnldr/archive/master.zipunzip it
unzip master.zip- Change Working directory to the project root and do
pip install .-
spotipy - The python wrapper for Spotify's Web API.
-
requests - The HTTP library used to get data from Youtube.
-
youtube-dl - The awesome masterpiece to get audio files.
-
ffmpeg-python - The ffmpeg wrapper for python
-
eyeD3 - The Meta-Data Writer
-
Click - The module which converts the package to a CLI app.
-
ytmusicapi - the module which retrives youtube links of songs.
You will probably need the root user permissions if you are on a linux system or Mac. Just add sudo at the begining of the command and it should work without any issues.
- Done.
curl https://raw.githubusercontent.com/raprocks/spotidnldr/master/termux_setup.sh >> "termux_setup.sh" && sh termux_setup.shThis script above will setup spotidnldr for your device on termux, making the songs folder, setting up the environment and setting up permissions.
- Get FFMPEG from here
- Make a new folder named ffmpeg somewhere and install or extract the downloaded zip to it.
- Add FFMPEG to system path by following this guide here.
- Now you have enables access of FFMPEG from python.
- Follow this guide here.
- Done.
-
SPOTIFY_DOWNLOAD_PATH This default Path for download. This is where all songs will be saved if you do not provide a value to the -o flag. If not set the songs will be downloaded in the Current Folder('./').
-
Just run the program by doing.
spoti download [url]
Anywhere!
-
Access help for program by doing
spoti download --help. -
Usage: spoti download [OPTIONS] URL
Downloads Songs from URL.
URL must be a valid spotify link of a song, album or a playlist.
Options: -v, --verbose flag for verbosity, usage of this flag gives more output use this for sending or finding errors.
-o, --output PATH provide a output path for the song explicitly. [default: ./]
--version Show the version and exit. --help Show this message and exit.
- ME(obviously) - did everything on my phone. Not kidding, it's Hard.
- All the respective devs of pypi packages. All Gawds.
- Swapnil Soni sir for making me do this(?).
- @AyamDobhal sir for fixing readme.
- @Sharvil234 sir for hard testing.
- Termux.
-
Make this into a cli application using Click.
-
try to complete your suggestions and squash the bugs.
-
make a web interface.
-
Leave a Star if you think I deserve it. Also Checkout F8L on spotify.
