<div style="text-align:center"><img width="800" height="300" src="https://raw.githubusercontent.com/insaiyancvk/pymusicdl/main/assets/banner.png" /></div>
A simple music downloading app which doesn't require any API keys.
Check [pymusicdl-termux](https://github.com/insaiyancvk/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](https://github.com/insaiyancvk/pymusicdl/raw/main/assets/downloads.jfif)
# Setup
Check it out on YouTube!
<a href="https://www.youtube.com/watch?v=1_BmOtZoo1o"><img width="400" src="https://img.youtube.com/vi/1_BmOtZoo1o/maxresdefault.jpg"></a>
## Installation and usage:
<br>
<details>
<summary><b>Windows</b></summary>
<details>
<summary><b>Note</b></summary>
**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
```
</details>
* 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 :)
</details>
<br>
<details>
<summary><b>Linux</b></summary>
* 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](https://www.ubuntupit.com/how-to-install-and-use-ffmpeg-on-linux-distros-beginners-guide/)
* 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 :)
</details>
<br>
<details>
<summary><b>Android</b></summary>
<br>
[Check pymusicdl-termux for sample images](https://github.com/insaiyancvk/pymusicdl-termux)
* Download Termux.
> **DO NOT DOWNLOAD IT FROM PLAYSTORE**, for more info check [here](https://www.xda-developers.com/termux-terminal-linux-google-play-updates-stopped/)
- If you have Android version >=7, then [click here](https://f-droid.org/repo/com.termux_113.apk) to directly download termux apk
- Otherwise, download [F-Droid apk](https://f-droid.org/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
</details>
<br>
## 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 :)
Raw data
{
"_id": null,
"home_page": "https://github.com/insaiyancvk/pymusicdl/",
"name": "pymusicdl",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "spotify,youtube,music download,music,youtube download,spotify download",
"author": "C Vamshi Krishna",
"author_email": "cvamshik1@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c7/dc/35c1d7c196d0549e7e4134d98b71129122e9a12876c57fe11f2aca93fa8a/pymusicdl-1.1.1.tar.gz",
"platform": null,
"description": "<div style=\"text-align:center\"><img width=\"800\" height=\"300\" src=\"https://raw.githubusercontent.com/insaiyancvk/pymusicdl/main/assets/banner.png\" /></div>\n\n\nA simple music downloading app which doesn't require any API keys.\n\nCheck [pymusicdl-termux](https://github.com/insaiyancvk/pymusicdl-termux) for android setup.\n\n---\n# Features\n* Download single song\n* Download Youtube Playlist\n* Download Spotify playlist/album (searches on youtube and downloads the top result)\n* Convert downloaded songs to mp3 or flac\n---\n\n# The final result\n![https://open.spotify.com/playlist/4WtqLI6gaRFaWB4g6mDnAX](https://github.com/insaiyancvk/pymusicdl/raw/main/assets/downloads.jfif)\n\n# Setup\n\nCheck it out on YouTube!\n\n<a href=\"https://www.youtube.com/watch?v=1_BmOtZoo1o\"><img width=\"400\" src=\"https://img.youtube.com/vi/1_BmOtZoo1o/maxresdefault.jpg\"></a>\n\n## Installation and usage:\n\n<br>\n<details>\n <summary><b>Windows</b></summary>\n\n<details>\n <summary><b>Note</b></summary>\n\n**Read the instructions carefully**\n* Make sure Python is added to your Path.\n * You can check it by typing `py --version` in cmd.\n * Consider running this piece of code (in cmd) for installing python (if you don't have python installed): \n ```\n curl -o python.exe https://www.python.org/ftp/python/3.9.5/python-3.9.5-amd64.exe && python.exe\n ```\n **make sure to check \"add to PATH\"**\n* Make sure PIP is added to your Path.\n * You can check it by typing `pip --version` or `py -m pip --version` in cmd.\n * Consider running this piece of code (in cmd) for installing pip (if you don't have PIP installed): \n ```\n curl -o get-pip.py https://bootstrap.pypa.io/get-pip.py && py get-pip.py\n ```\n</details>\n\n* Run the following command in Command prompt\n\n```\ncurl -o setup.bat https://raw.githubusercontent.com/insaiyancvk/pymusicdl/main/setup.bat && setup && del setup.bat\n```\n\n* Everytime you want to download music just type `musicdl` in cmd :)\n</details>\n<br>\n\n<details>\n <summary><b>Linux</b></summary>\n\n* Install the pymusicdl.\n```\npip install pymusicdl\npip install https://github.com/mps-youtube/pafy/archive/refs/heads/develop.zip\n```\n* Install FFMPEG based on the distro.\n * Debian/Ubuntu - `sudo apt install ffmpeg`\n * Fedora/RHEL - `sudo dnf install ffmpeg`\n * Arch - `sudo pacman -S ffmpeg`\n\n Referred from [ubuntupit](https://www.ubuntupit.com/how-to-install-and-use-ffmpeg-on-linux-distros-beginners-guide/)\n* Download \"musicdl\" to ~/.local/bin, make it executable.\n```\ncurl -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'\n```\n\n* Everytime you want to download music just type `musicdl` in terminal :)\n</details>\n<br>\n\n<details>\n <summary><b>Android</b></summary>\n<br>\n\n[Check pymusicdl-termux for sample images](https://github.com/insaiyancvk/pymusicdl-termux)\n\n* Download Termux. \n > **DO NOT DOWNLOAD IT FROM PLAYSTORE**, for more info check [here](https://www.xda-developers.com/termux-terminal-linux-google-play-updates-stopped/)\n - If you have Android version >=7, then [click here](https://f-droid.org/repo/com.termux_113.apk) to directly download termux apk\n - Otherwise, download [F-Droid apk](https://f-droid.org/F-Droid.apk) and install it. Then install Termux from it.\n\n* Run the below command for installing everything automatically.\n```\ncurl -sS -o setup.sh https://raw.githubusercontent.com/insaiyancvk/pymusicdl/pymusicdl-termux/setup.sh && chmod +x setup.sh && ./setup.sh\n```\n\n* Everytime you want to download music just type `musicdl` in termux :)\n---\n## Updating the package:\n\n```\npip install pymusicdl_termux -U\n```\n\n* or you can use `python3 -m pip install pymusicdl -U` in Termux\n</details>\n\n<br>\n\n## To fix the 'dislike_count' error:\n- Uninstall pafy and install from github repository.\n\n (run the following command in command prompt)\n \n ``` pip uninstall pafy && pip install git+https://github.com/mps-youtube/pafy.git#egg=pafy ```\n\n---\n\n## Updating the package:\n\n```\npip install pymusicdl -U\n```\n\n* or you can use `python3 -m pip install pymusicdl -U` if you are on **linux**\n\n* and `py -m pip install pymusicdl -U` if you are on **windows**\n\n### Fun fact: I did this project when I got covid :)\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Download spotify and youtube playlists without having to enter any API keys!",
"version": "1.1.1",
"split_keywords": [
"spotify",
"youtube",
"music download",
"music",
"youtube download",
"spotify download"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0deea4ba3e5d3c7d48d9e1589aa9c13d",
"sha256": "c59a9922cccf7c3597daf3b93e286861340babc7d0ec033f456203af59709d72"
},
"downloads": -1,
"filename": "pymusicdl-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0deea4ba3e5d3c7d48d9e1589aa9c13d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 15521,
"upload_time": "2022-12-02T06:25:28",
"upload_time_iso_8601": "2022-12-02T06:25:28.719969Z",
"url": "https://files.pythonhosted.org/packages/c7/dc/35c1d7c196d0549e7e4134d98b71129122e9a12876c57fe11f2aca93fa8a/pymusicdl-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-12-02 06:25:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "insaiyancvk",
"github_project": "pymusicdl",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pytube",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "spotipy",
"specs": []
},
{
"name": "urllib3",
"specs": []
},
{
"name": "youtube-dl",
"specs": []
},
{
"name": "youtube-title-parse",
"specs": []
},
{
"name": null,
"specs": []
},
{
"name": "windows-curses",
"specs": []
}
],
"lcname": "pymusicdl"
}