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 (excluding kindle)
  • 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

EBooks

  • Kindle

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.2.1.tar.gz (60.0 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.2.1-py3-none-any.whl (29.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tbr_deal_finder-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e18f89bfc84e9f73dbdff314778a41b3d388e566933efccb50be71698e2db271
MD5 23a29a070d5dbd988039f82e5e29e17d
BLAKE2b-256 97ad60dc1c0c989d06945fa0db74d5aa8d900ffe0a18def6ddfad97052173d92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tbr_deal_finder-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b0cc4dbb94c2ab7e5bed8292732b9d0cfc2af4b79d7bfd6c36262ea9fd017b29
MD5 26c92a072ffbbb148be84a5648b603e0
BLAKE2b-256 4b401d48c41ed93c04d7a974d46e3ed9f62657245c98c76476528020cc5d0a14

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