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.1.0.tar.gz (15.6 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for pymusicdl-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7e354377ff909d77f816a0befd02e24981b868ffb35b9e94f64a47222be3ffb7
MD5 557200af7bd4413733b7402e023230bf
BLAKE2b-256 3fdf83c289dc12ad37d3af8587da2f648ef8d108ed919fe494f198f8e5f4de3d

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