MMDL [Mega Music Downloader] - A tool to easily download music.
Project description
mmdl - Mega Music Downloader
What is mmdl ❓
TLDR: MMDL is a cli app which allows you to quickly and efficiently download one or multiple songs from YouTube.
I wanted a tool to quickly and efficiently download songs/audios from YouTube based on the name of the song. I also wanted the songs to be tagged with metadata. This is why I created this simple to use tool.
Why
-
🕖 Fast: Thanks to async code and multithreading.
-
⚡ Simple: Type
mmdl go
and get started with downloading songs. -
✨ Powerful
-
Find songs based on songs query/title
-
Skip already existing songs
-
Add metadata such as artist name and artwork
-
Requirements 👇
-
Python 3
-
FFmpeg
Here is a quick guide: https://github.com/adaptlearning/adapt_authoring/wiki/Installing-FFmpeg
Install ❤️
Make sure you have installed FFmpeg. Else this programm won’t work.
pip install mmdl
⚡ That’s it! ⚡
Usage 🔥
Go
Very quick and easy way of running the cli. Few questions will be asked via prompts. This is the recommended way!
mmdl go
Download
Fast and traditional way of running the cli. Pass arguments and have your songs downloaded. Useful for automation scripts.
mmdl download <method> #(add -h for more information)
Methods
-
File
mmdl download file <location>
: Get songs from file. Then download them. -
List
mmdl download list "Term1" "Term2" ...
ormmdl download list -a
for a prompt: Add multiple songs as cli arguments or enter them in a prompt. -
YTMusic (beta)
mmdl download ytmusi
: Download multiple songs from YouTube Music liked songs playlist (via parsing HTML) -
Single
mmdl download single song name
: Download a single song.
Support ⚡
Bugs 🐛
Please open a issue with some information to reproduce your problem.
Questions ❓
Please start/search for a discussion.
Contributing 🤜
We welcome contributions very much (Even small ones). They are appreciated.
Steps
-
Check for bugs/issues you would like to solve or think of new features you would like to implement.
-
Fork the repo and make your changes.
-
Send a pull request.
Credits 🥂
The following amazing libraries helped me make this project:
-
https://github.com/tmbo/questionary - Questionary by Tom Bocklisch and Kian Cross
-
https://github.com/alexmercerind/youtube-search-python - Youtube Search Python by Hiteh Kumar Saini
-
https://github.com/willmcgugan/rich - Rich by Will McGugan
-
https://github.com/ytdl-org/youtube-dl - YoutubeDl
Legality ⚖️
I assume no liability or responsibility for how this app is used. Please stay legal and respect the laws in your country. This tool is intended for archiving music for which you have a license.
License 📜
The MIT License (MIT)
Copyright (c) 2021 - techboy-coder
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mmdl-0.1.6.tar.gz
.
File metadata
- Download URL: mmdl-0.1.6.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37aaf764897da5b13b7db72915167c6cc9df7351e13bae0634d7d4e093d45956 |
|
MD5 | a0baf5996a42f8c9ce3765ce840cdcb4 |
|
BLAKE2b-256 | a495a5ea52487a20924e7d513486151cd99e592436b965207b2d7d772f784893 |
File details
Details for the file mmdl-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: mmdl-0.1.6-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc0649eb2480aa3ebb918cdaf1f072d3bf479e54c79b69eb83187c3124a19b69 |
|
MD5 | b25ef1f32bc801732abae70796689e7d |
|
BLAKE2b-256 | c83084e114106ff97acc4d61246e79e6992768468bef86db8a7e0f611ff049d2 |