Download, filter and transform data from music review aggregator websites.
Project description
MusicLists
Description
A command-line tool for downloading, filtering, and transforming top album and track lists from music review websites.
The tool helps you easily aggregate and explore curated album rankings across different platforms, making it ideal for music enthusiasts and data-driven listeners.
Features
- Download lists of the top albums and tracks from multiple platforms such as AlbumOfTheYear.org and ProgArchives.com.
- Find local albums and tracks in directories and add them to a list.
- Manipulate individually the lists via filtering, sorting, and limiting of entries.
- Operate between lists as sets (union, intersection, difference).
- Export to a text file.
- Convert local albums lists (including transformed ones) to playlists.
Dependencies
bs4, to navigate and parse HTML tags and values.clickandclick_help_colors, to implement the CLI.m3u8to write data into a playlist.mutagen, to extract metadata from track files.polars, to storage and manipulate data.
Commands
Usage: musiclists [OPTIONS] COMMAND [ARGS]...
Commands:
download Download lists of albums and tracks from music databases.
duplicates Manage duplicated entries between lists.
export Export lists to other formats.
files Get and manage albums and tracks data from files.
transform Transform, merge and compare lists.
Subcommands of download
Usage: musiclists download [OPTIONS] COMMAND [ARGS]...
Commands:
aoty Download a list of top albums and tracks from AlbumOfTheYear.org.
prog Download a list of top albums and tracks from ProgArchives.com.
Subcommands of transform
Usage: musiclists transform [albums|tracks] [OPTIONS] COMMAND [ARGS]...
Commands:
diff Find the difference between lists.
filter Filter a list.
intersect Join lists, only returning entries that are in both lists.
union Merge downloaded lists into one, returning any entry of each.
Options
Downloading a list
Usage: musiclists download [aoty|prog] [OPTIONS]
Options:
-t, --types Types of albums to download.
-c, --ceil / -f, --floor Round up (ceil) or down (floor) the score.
-s, --min-score INTEGER Minimum score threshold for including
albums.
-S, --max-score INTEGER Maximum score threshold for including
albums.
Finding duplicated entries
Usage: musiclists duplicates find [OPTIONS] [SEARCH]...
Options:
-c, --columns Columns to consider for the process.
-d, --data-1 Source for the data 1.
-D, --data-2 Source for the data 2.
-H, --highest / -A, --all-matches
Returns only the highest match of each
entry, or every match.
-s, --min-rate FLOAT Minimum rate of similarity for including
matches.
-r, --max-results INTEGER Limit of results to return.
Exporting or filtering a list
Usage: musiclists export [albums|tracks] [OPTIONS]
Options:
-m, --markdown / --no-markdown Output as MarkDown.
-d, --data Source for the data.
-n, --name TEXT Use a personalized name instead of an auto-
generated one.
-s, --min-score INTEGER Minimum score threshold for including
tracks.
-S, --max-score INTEGER Maximum score threshold for including
tracks.
--min-album-score FLOAT Minimum score threshold for including
albums.
--max-album-score FLOAT Maximum score threshold for including
albums.
-r, --min-ratings INTEGER Minimum ratings for including entries.
-R, --max-ratings INTEGER Maximum ratings for including entries.
-c, --columns Columns to include.
-C, --sort-by Columns to sort by.
-a, --limit-album INTEGER Limit of albums returned per album column.
-A, --limit-artist INTEGER Limit of tracks returned per artist column.
-y, --limit-year INTEGER Limit of tracks returned per year column.
Getting a set operation result between two lists
Usage: musiclists transform [albums|tracks] [diff|intersect|union] [OPTIONS]
Options:
-d, --data-1 Source for the data 1.
-D, --data-2 Source for the data 2.
-n, --name TEXT Use a personalized name instead of an auto-
generated one.
-c, --columns Columns to consider for the process.
-k, --key Key for the process.
-d, --dedup / --no-dedup Deduplicate the output based on its
deduplicates file.
-K, --dedup-key Key for the dedup process.
Donating and Supporting
If you like this project or it's helpful to you in any way, consider supporting and donating to the websites that made it possible, helping them keep running:
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 musiclists-0.2.2.tar.gz.
File metadata
- Download URL: musiclists-0.2.2.tar.gz
- Upload date:
- Size: 66.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ce26ee1b3aec3a3c19a0e845b6160b7d5bb6e2227cd2e3d6819a9908fe50d7
|
|
| MD5 |
b1846c70e2ec88bef250ae4a5b0f5271
|
|
| BLAKE2b-256 |
ce21b2ea863577bb3c1b0ebb8a850a03a6b2fc48a42abd45d88fe49b9c44a878
|
File details
Details for the file musiclists-0.2.2-py3-none-any.whl.
File metadata
- Download URL: musiclists-0.2.2-py3-none-any.whl
- Upload date:
- Size: 60.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6cf522516bb6e922014c7e29b054accaa2d952de510391dc9647e4ec99c5cfb
|
|
| MD5 |
78d1243802c5a0a91ab6fdfceadd1eea
|
|
| BLAKE2b-256 |
f50094b4b25f1b0da6190e97da5d53e2f439ca247c7d6b1504fe80417a5ba14f
|