peterza2019 / pygumroad

A Python API client for interacting with the Gumroad API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gumroad API Client

A Python API client for interacting with the Gumroad API (https://gumroad.com/api). Comments, suggestions, and improvements are always welcome. Be sure to follow @opsdisk on Twitter for the latest updates.

Note that not all of the endpoints and HTTP verbs supported by the Gumroad API have been added.

Installation

pip install pygumroad
git clone https://github.com/opsdisk/pygumroad.git
cd pygumroad
virtualenv -p python3.7 .venv  # If using a virtual environment.
source .venv/bin/activate  # If using a virtual environment.
pip install -r requirements.txt
python setup.py install

Update Credentials

If using a secrets file, create/update the gumroad_secrets.json file with the host and API key. See the usage section on how to pass a secrets dictionary.

cp gumroad_secrets_empty.json gumroad_secrets.json
{
    "gumroad": {
        "host": "api.gumroad.com",
        "token": "7a4d...b388",
    }
}

Usage

import pygumroad

# Pass a secrets file.
full_path_to_secrets_file_location="/home/user/gumroad_secrets.json"
gumroad_client = pygumroad.GumroadClient(secrets_file_location=full_path_to_secrets_file_location)

# Pass a secrets dictionary.
secrets_dict = {
    "gumroad": {
        "host": "api.gumroad.com",
        "token": "7a4d...b388",
    }
}

gumroad_client = pygumroad.GumroadClient(secrets_dict=secrets_dict)
all_products = gumroad_client.retrieve_all_products()

for product in all_products:
    print(f"Product Name: {product['name']} - Product ID: {product['id']}")


all_sales = gumroad_client.retrieve_all_sales()

for sale in all_sales:
    print(f"Product: {sale['product_name']} was sold on {sale['created_at']}")

About

A Python API client for interacting with the Gumroad API

License:GNU General Public License v3.0


Languages

Language:Python 100.0%