A tool for completists and other pop music collectors. It is inspired by R.I.P the discogs.com Tracks Beta project.
This tool is not yet in pypi.org.
$ pip -v install https://github.com/decitre/discogs_track.git
To start Redis service on Macos:
$ brew services start redis
Shell completion on zsh:
_DISCOGS_TRACK_COMPLETE=zsh_source discogs_track > ~/.discogs_track-complete.zsh
echo ". ~/.discogs_track-complete.zsh" >> ~/.zshrc
discogs_track --help
Usage: discogs_track [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
-v, --verbose [x>=0]
--cache / --no-cache
--help Show this message and exit.
Commands:
artist
Examples:
$ discogs_track artist -i 3281311 show-tracks
$ discogs_track artist -i 3281311 show-completing
$ discogs_track --no-cache artist -i 3281311 show-completing --for-sale
$ discogs_track artist -i 3281311 release -i 20846845 show
The tool expects in ~/.dt.cfg
a INI config file containing a Discogs user credentials:
[Discogs]
user_name = ...
consumer_key = ...
consumer_secret = ...
access_token_here = ...
access_secret_here = ...
Some classes can be used as a SDK giving access to a subset of Discogs API features.
class | comment |
---|---|
api.API |
A very light asynchronous wrapper around the Discogs API. Uses a local redis instance if |
artist.Artist |
Hosts the Json returned by |
record.Record |
|
record.Track |
An abstraction of releases tracklist array elements |
It calculates for a specified artist, a per record missing_tracks_ratio
:
The number of tracks none of the records of the user's collection contain, over the number of tracks in the record.
A record with a 0% score is either already in the collection as one of its various releases, or all its tracks are contained by a set of other records in the collection.
A record with a 100% score only contains tracks not present in any other record of the user's collection.
To install the dev/test tools and contribute to the project, do in your virtualenv:
$ pip install -e ".[dev]"
To upload a change:
$ python setup.py sdist bdist_wheel
$ twine upload dist/*