Skip to main content

Download spotify and youtube playlists without having to enter any API keys!

Project description

A simple music downloading app which doesn't require any API keys.

Check pymusicdl-termux for android setup.


Features

  • Download single song
  • Download Youtube Playlist
  • Download Spotify playlist/album (searches on youtube and downloads the top result)
  • Convert downloaded songs to mp3 or flac

The final result

https://open.spotify.com/playlist/4WtqLI6gaRFaWB4g6mDnAX

Setup

Check it out on YouTube!

Installation and usage:


Windows
Note

Read the instructions carefully

  • Make sure Python is added to your Path.
    • You can check it by typing py --version in cmd.
      • Consider running this piece of code (in cmd) for installing python (if you don't have python installed):
      curl -o python.exe https://www.python.org/ftp/python/3.9.5/python-3.9.5-amd64.exe && python.exe
      
      make sure to check "add to PATH"
  • Make sure PIP is added to your Path.
    • You can check it by typing pip --version or py -m pip --version in cmd.
      • Consider running this piece of code (in cmd) for installing pip (if you don't have PIP installed):
      curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py && py get-pip.py
      
  • Run the following command in Command prompt
curl -o setup.bat https://raw.githubusercontent.com/insaiyancvk/pymusicdl/main/setup.bat && setup && del setup.bat
  • Everytime you want to download music just type musicdl in cmd :)

Linux
  • Install the pymusicdl.
pip install pymusicdl
pip install https://github.com/mps-youtube/pafy/archive/refs/heads/develop.zip
  • Install FFMPEG based on the distro.

    • Debian/Ubuntu - sudo apt install ffmpeg
    • Fedora/RHEL - sudo dnf install ffmpeg
    • Arch - sudo pacman -S ffmpeg

    Referred from ubuntupit

  • Download "musicdl" to ~/.local/bin, make it executable.

curl -o ~/.local/bin/musicdl https://raw.githubusercontent.com/insaiyancvk/pymusicdl/pure-python/musicdl && chmod +x ~/.local/bin/musicdl && clear && echo -e '\n\nType \033[1m\033[3mmusicdl\033[0m in your terminal to download music :)\n\n'
  • Everytime you want to download music just type musicdl in terminal :)

Android

Check pymusicdl-termux for sample images

  • Download Termux.

    DO NOT DOWNLOAD IT FROM PLAYSTORE, for more info check here

    • If you have Android version >=7, then click here to directly download termux apk
    • Otherwise, download F-Droid apk and install it. Then install Termux from it.
  • Run the below command for installing everything automatically.

curl -sS -o setup.sh https://raw.githubusercontent.com/insaiyancvk/pymusicdl/pymusicdl-termux/setup.sh && chmod +x setup.sh && ./setup.sh
  • Everytime you want to download music just type musicdl in termux :)

Updating the package:

pip install pymusicdl_termux -U
  • or you can use python3 -m pip install pymusicdl -U in Termux

To fix the 'dislike_count' error:

  • Uninstall pafy and install from github repository.

    (run the following command in command prompt)

    pip uninstall pafy && pip install git+https://github.com/mps-youtube/pafy.git#egg=pafy


Updating the package:

pip install pymusicdl -U
  • or you can use python3 -m pip install pymusicdl -U if you are on linux

  • and py -m pip install pymusicdl -U if you are on windows

Fun fact: I did this project when I got covid :)

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

pymusicdl-1.0.0.tar.gz (15.3 kB view details)

Uploaded Source

File details

Details for the file pymusicdl-1.0.0.tar.gz.

File metadata

  • Download URL: pymusicdl-1.0.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/57.4.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

File hashes

Hashes for pymusicdl-1.0.0.tar.gz
Algorithm Hash digest
SHA256 52f875b994c9c4c7d29e6ac4fefcd9aaaf3e02682a2f1a03f3548e9cb4e2db63
MD5 0a5ccc9a8e7ce88be7680bac2c8a06a0
BLAKE2b-256 39d794f7507fa62fb4d203b4cdfc9be96f4a2303d942e3f23c82a59e1feef94f

See more details on using hashes here.

Supported by

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