Skip to main content

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! youtube decided to remove the video and I didn't back it up anywhere :p

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 https://github.com/mps-youtube/pafy/archive/refs/heads/develop.zip


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 :)

Buy Me A Coffee

Metadata

Release files for pymusicdl 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymusicdl 1.5.0
File Size Uploaded
pymusicdl-1.5.0.tar.gz 15.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymusicdl 1.5.0
File Interpreter ABI Platform
pymusicdl-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.9 kB

Release files / pymusicdl-1.5.0.tar.gz

Download URL pymusicdl-1.5.0.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fc4e6f607e53cadc18f877a00c3cc71d9a95c1f2e0cbba20957d618e1bdf2b2a
BLAKE2b-256 checksum
How to use checksums
c80905af8dc2804b665fc2de9a3cd2b47ae4fa61c1308f773203b2f6051ae7ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / pymusicdl-1.5.0-py3-none-any.whl

Download URL pymusicdl-1.5.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f69a30f839ad8c27b7cf7620e9cae65dcc77d8585b5290a52e28b7f1b13efeb9
BLAKE2b-256 checksum
How to use checksums
71574c0919ab0d580270b88de268cee39c081a4aa6ea550562843ee3ea0333a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.1.1

2 release files

1.1.0

1 release file

1.0.0

1 release file

0.1.1.4

1 release file

0.1.1.1

1 release file

0.1.1

1 release file

0.1.0.1

1 release file

0.1.0

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page