A modular music archival program
OrpheusDL is a modular music archival tool written in Python which allows archiving from multiple different services.
Follow these steps to get a local copy of Orpheus up and running:
- Python 3.7+ (due to the requirement of dataclasses)
- Clone the repo
- Without modules:
git clone https://github.com/yarrm80s/orpheusdl.git
- Or with all modules
git clone --recurse-submodules https://github.com/yarrm80s/orpheusdl.git
- Without modules:
- Install all requirements
pip install -r requirements.txt
- Run the program at least once
python3 orpheus.py
- Enter your credentials in
config/settings.json
Just call orpheus.py with any link you want to archive, for example Qobuz:
shell python3 orpheus.py https://open.qobuz.com/album/c9wsrrjh49ftb
Alternatively do a search (luckysearch to automatically select the first option):
shell python3 orpheus.py search qobuz track darkside alan walker
You can customize every module from Orpheus individually and also set general/global settings which are active in every
loaded module. You'll find the configuration file here: config/settings.json
track_filename_format: How tracks are formatted in albums and playlists. The relevant extension is appended to the end.
album_format, playlist_format, artist_format: Base directories for their respective formats - tracks and cover art are stored here. May have slashes in it,
for instance {artist}/{album}.
single_full_path_format: How singles are handled, which is separate to how the above work. Instead, this has both the folder's name and the track's name.
track_format variables are {title}, {artist}, {album_artist}, {album}, {track_number},
{total_tracks}, {disc_number}, {total_discs}, {date}, {isrc}, {explicit}.
album_format variables are {album_name}, {artist_name}, {artist_id}, {album_year}, {explicit}, {quality}.
Yarrm80s - @yarrm80s
Dniel97 - @Dniel97
Project Link: Orpheus Public GitHub Repository
- Chimera by Aesir - the inspiration to the project
- Icon modified from a freepik image