Skip to main content

Track price drops and find deals on books in your TBR list across audiobook and ebook formats.

Project description

tbr-deal-finder

Track price drops and find deals on books in your TBR (To Be Read) and wishlist across digital book retailers.

Features

  • Use your StoryGraph exports, Goodreads exports, and custom csvs (spreadsheet) to track book deals
  • Supports multiple of the library exports above
  • Tracks deals on the wishlist of all your configured retailers like audible
  • Supports multiple locales and currencies
  • Find the latest and active deals from supported sellers
  • Simple CLI interface for setup and usage
  • Only get notified for new deals or view all active deals
  • Filters out books you already own to prevent purchasing the same book on multiple retailers

Support

Audiobooks

  • Audible
  • Chirp
  • Libro.fm

Locales

  • US
  • CA
  • UK
  • AU
  • FR
  • DE
  • JP
  • IT
  • IN
  • ES
  • BR

Installation Guide

Python (Recommended)

  1. If it's not already on your computer, download Python https://www.python.org/downloads/
    1. tbr-deal-finder requires Python3.13 or higher
  2. Optional: Install and use virtualenv
  3. Open your Terminal/Command Prompt
  4. Run pip3.13 install tbr-deal-finder

UV

  1. Clone the repository:
    git clone https://github.com/yourusername/tbr-deal-finder.git
    cd tbr-deal-finder
    
  2. Install uv: https://docs.astral.sh/uv/getting-started/installation/

Configuration

This tool can use the csv generated by the app you use to track your TBRs. Here are the steps to get your export.

StoryGraph

  • Open https://app.thestorygraph.com/ in the browser of your choice
  • Click on your profile icon in the top right corner
  • Select "Manage Account"
  • Scroll down to "Manage Your Data"
  • Click the button "Export StoryGraph Library"
  • You will be navigated to https://app.thestorygraph.com/user-export
  • Click "Generate export"
  • Wait a few minutes and refresh the page
  • A new item will appear that says "Your export from ... - Download" will appear
  • Click "Download"

Goodreads

  • Open https://www.goodreads.com/review/import in the browser of your choice
  • At the top of the page click the button "Export Library"
  • Wait a few minutes and refresh the page
  • A new item will appear that says "Your export from ..." will appear
  • Click it to download the csv

Custom csv

If you've got your own CSV you're using to track your TBRs all you need are the following columns for it to be in a valid format

  • Title
  • Authors
  • Read Status* (See below)

Optionally, you can add the Read Status column. Set to-read for all books you want to be tracked. If you don't add this column the deal finder will run on ALL books in the CSV.

tbr-deal-finder setup

Python

tbr-deal-finder setup

UV

uv run -m tbr_deal_finder.cli setup

You will be prompted to:

  • Enter the path(s) to your StoryGraph export CSV file(s)
  • Select your locale (country/region)
  • Set your maximum price for deals
  • Set your minimum discount percentage

The configuration will be saved for future runs.

Usage

All commands are available via the CLI:

  • setup – Set up or update your configuration interactively.
  • latest-deals – Find and print the latest book deals based on your config.
  • active-deals – Show all currently active deals.

Python

tbr-deal-finder [COMMAND]

UV

uv run -m tbr_deal_finder.cli [COMMAND]

Example:

tbr-deal-finder latest-deals

# or

uv run -m tbr_deal_finder.cli latest-deals

Updating your TBR

To update tbr-deal-finder as your TBR changes, regenerate and download your library export. See Configuration for steps.

Updating the tbr-deal-finder

Python

pip3.13 install tbr-deal-finder --upgrade

UV

# From the repo directory
git checkout main && git fetch

Happy deal hunting!

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

tbr_deal_finder-0.1.8.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tbr_deal_finder-0.1.8-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file tbr_deal_finder-0.1.8.tar.gz.

File metadata

  • Download URL: tbr_deal_finder-0.1.8.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.10

File hashes

Hashes for tbr_deal_finder-0.1.8.tar.gz
Algorithm Hash digest
SHA256 79c6293294e6160b6743d0df7ce13367a4fe890cea34e9a5d8f7fdaaebdd94f2
MD5 edf73db4b98caa0cfaef4edac8e6c156
BLAKE2b-256 c409a8e7bb181d4a8a3579a21475b9b4229a8980ead4e64aeba4d4aa80300f1d

See more details on using hashes here.

File details

Details for the file tbr_deal_finder-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for tbr_deal_finder-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 f45477a3c7ec6ed0fbba5341829e11b5ec700994ea131ac157ecb3793becdb27
MD5 e5308187dc4e5d5beed157e2606071ae
BLAKE2b-256 8a1015e5783884836f6dcf31af0aecd36b405e0845a0a7c268ce322e347be9a6

See more details on using hashes here.

Supported by

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