Skip to main content

A set of wrapper and tools to make use of the discogs api

Project description


Discogspy is a type-safe and easy to use python wrapper around the Discogs API.

General information

What's the use case for discogspy?

I have a small label/distro, and I sell my items via Discogs and my own website. To keep both stores in sync is tidies. That's why I want to automate this process. Therefore I need to be able to get information from my Discogs store. That can be done via the official Discogs python client. However, I also need to be able to update orders, add and remove items etc. and this doesn't seem to work via the Discogs python client. That's why I decided to wrap the Discogs API myself.

Important information:
Requests to the Discogs API are throttled by the server by source IP to 60 per minute for authenticated requests, and 25 per minute for unauthenticated requests, with some exceptions.


pip install discogspy

Road Map

  1. Create type save python wrapper around the Discogs API

    a) Wrap database calls (done - except search request cause I personally dont have any use case for it)
    b) Wrap marketplace calls (done)
    c) Wrap inventory export calls (done)
    d) Wrap inventory upload calls (done)
    e) Wrap user identity calls (maybe later - I personally dont have any use case for it)
    f) Wrap user collection calls (done)
    g) Wrap user wantlist calls (done)
    h) Wrap user lists calls

  2. Create response wrapper

How to use

For a detailed explanation and more examples, please visit the documentation.

Currently, you have two options for starting requests to Discogs.

  1. Create a user object without authentication. This will limit your options cause a lot of API calls do require authentication.
from discogspy.core.discogs_user import UserWithoutAuthentication
from discogspy.core import rq_database

user = UserWithoutAuthentication()
resp = rq_database.get_release(user, 1972502)
  1. Create a user object with user token authentication. This will allow you to send any request.
from discogspy.core.discogs_user import UserWithUserTokenBasedAuthentication
from discogspy.core import rq_database

user_with_authentication = UserWithUserTokenBasedAuthentication(user_token="your_user_token",
resp = rq_database.get_release(user, 1972502)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

discogspy-0.6.0.tar.gz (19.6 kB view hashes)

Uploaded source

Built Distribution

discogspy-0.6.0-py3-none-any.whl (24.1 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page