Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/decitre/discogs_track
https://github.com/decitre/discogs_track
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/decitre/discogs_track
- Owner: decitre
- License: gpl-3.0
- Created: 2022-03-08T15:33:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-04-03T14:19:03.000Z (over 2 years ago)
- Last Synced: 2024-10-12T14:39:59.480Z (27 days ago)
- Language: Python
- Size: 71.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# discogs track
A tool for completists and other pop music collectors.
It is inspired by R.I.P the discogs.com [Tracks Beta project](https://www.discogs.com/track).## Installation
This tool is not yet in pypi.org.
```shell
$ pip -v install https://github.com/decitre/discogs_track.git
```To start Redis service on Macos:
```shell
$ brew services start redis
```[Shell completion](https://click.palletsprojects.com/en/latest/shell-completion) on zsh:
```shell
_DISCOGS_TRACK_COMPLETE=zsh_source discogs_track > ~/.discogs_track-complete.zsh
echo ". ~/.discogs_track-complete.zsh" >> ~/.zshrc
```## Usage
```help
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:
```shell
$ 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:
```ini
[Discogs]
user_name = ...
consumer_key = ...
consumer_secret = ...
access_token_here = ...
access_secret_here = ...
```## SDK
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](https://www.discogs.com/developers/).Uses a local redis instance if
cached=True
is passed to its constructor. |
| `artist.Artist` |Hosts the Json returned by `/artists/{artist_id}`.
and a few derived attributes. |
| `record.Record` | |
| `record.Track` | An abstraction of releases `tracklist` array elements|## missing tracks ratio
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 contribute
To install the dev/test tools and contribute to the project, do in your virtualenv:
```shell
$ pip install -e ".[dev]"
```To upload a change:
```shell
$ python setup.py sdist bdist_wheel
$ twine upload dist/*
```## Reference & Links
1. [pypi page](https://pypi.org/project/discogs-track/)
2. [Contributing]()