A silent, professional CLI tool to download Spotify playlists using Exportify CSVs.
Project description
🎵 MyMusic Downloader (v1.3.1)
A high-performance, silent CLI tool designed to convert Spotify playlists into high-quality MP3s with 100% accurate metadata. This tool eliminates common glitches like wrong artist names or "remix" mismatches by using verified Exportify data and MusicBrainz matching.
✨ Features
- Zero Spam UI: A clean, single progress bar is the only thing that stays at the bottom of your terminal during the process.
- Smart Resume: Automatically detects a 'backup' folder and skips any songs you have already successfully downloaded.
- Failure Tracking: New in v1.1.0! Automatically logs failed downloads to 'backup/failed_songs.txt' for easy review.
- Single Song Search: Download a specific track instantly without needing a CSV file.
- High-Quality Tags: Stitches Title, Artist, Album, and Year directly into the MP3 metadata.
- Global Access: Once installed, run the 'music' command from any folder on your computer.
🚀 Installation
- Ensure you have FFmpeg (https://ffmpeg.org/) installed and added to your system PATH.
- Install the tool globally via PyPI: pip install mymusic-dl-Rajthespaceman
- Or update your existing version: pip install --upgrade mymusic-dl-Rajthespaceman
📖 How to Use
This tool uses Exportify to bypass Spotify's web security and ensure 100% metadata accuracy.
1. Batch Download (Playlist Mode):
- Go to Exportify (https://watsonbox.github.io/exportify/) and log in.
- Export your desired playlist as a CSV file.
- Run the command: music -i your_file.csv (Or just 'music' if your file is named playlist.csv)
2. Single Search Mode:
- If you just want one song, type: music -s "Artist Name - Song Title"
🛠️ CLI Commands & Arguments
- music: Runs the downloader using the default 'playlist.csv'.
- music -s "Search Query": Searches and downloads a single song.
- music -i <file.csv>: Specify a different CSV input file.
- music -h: Opens the help menu to see all available options.
📂 Backup & Safety
The tool automatically manages a '/backup' folder to save your progress.
- Resume Capability: If the process is interrupted, running 'music' again will resume exactly where you left off.
- Skip Logic: The tool reads 'downloaded_history.txt' to ensure you never waste data on the same song twice.
- Error Logs: Check 'failed_songs.txt' inside the backup folder to see which tracks need a manual retry.
📝 Troubleshooting
- Pasting in Terminal: If 'Ctrl+V' doesn't work in Windows CMD, Right-Click the terminal window to paste.
- FFmpeg Error: If the tool crashes during conversion, double-check that FFmpeg is installed and in your Environment Variables.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mymusic_dl_rajthespaceman-1.3.1.tar.gz.
File metadata
- Download URL: mymusic_dl_rajthespaceman-1.3.1.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c890ab9bb2f2e0b793bb729428a15fb568a66b79f0e98fac2a4910c6635b11c6
|
|
| MD5 |
9d50f6f48a690b79918c9bed9b97314e
|
|
| BLAKE2b-256 |
b1f05c1d5745ad4ee9c152bd573de04809173884edcaaebe245c0e79436427ad
|
File details
Details for the file mymusic_dl_rajthespaceman-1.3.1-py3-none-any.whl.
File metadata
- Download URL: mymusic_dl_rajthespaceman-1.3.1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a403701e7fefc7af91cf205f4ac3097c2113fc036646771f66a2b37caa88ab63
|
|
| MD5 |
5d027d7b3f13572c07ba688c430ff6f0
|
|
| BLAKE2b-256 |
3c45b441189400b7321a3085b09ff76df6038fa9edd1856afeaccf598b75d975
|