Skip to main content

Download and keep up to date your purchases from DriveThruRPG

Project description

dRPG downloads and keeps your purchases from DriveThruRPG up to date

Maintainability PyPI

Installation

This script runs with Python 3.9 and newer.

You can install dRPG from PyPI:

pip install --user drpg
drpg --help  # or python -m drpg --help

Usage

  1. Go to your account settings and generate a new application key.
  2. Copy the key and run the script: drpg --token <YOUR_DRPG_TOKEN> - or set DRPG_TOKEN env variable and run drpg.
  3. Now just sit, relax and wait. Initial synchronization may take a while so why don't you grab a cup of tea or whatever your favourite beverage is. On consecutive runs the script will download only new and changed files which will be a way faster.

Compatibility

Because of the nature of using an undocumented API, this software may break without a notice. Version number indicates a year and a month when the software was proved to be working with a real DriveThruRPG account.

File name compatibility

The DriveThruRPG client does some interesting things with the names of directories. For example, if you buy a product from publisher "Game Designers' Workshop (GDW)" the DriveThruRPG client app will download it to a directory with the unwieldy name "Game Designers__039_ Workshop GDW".

By default, drpg gives directories more user friendly name. In the example above, the directory would be "Game Designers' Workshop (GDW)". However, this causes a problem if you intend to try to manage the same e-book library using both drpg and the DriveThruRPG client app. When you run the former, you'll get a friendly name, then when you run the latter it will download all the same files again and put them in a directory with the unfriendly name.

You can use the command line option --compatibility-mode to make drpg use the same naming scheme for files and directories as the DriveThruRPG client. We have also done our best to imitate DriveThruRPG's bugs while in --compatibility-mode but I'm sure there are some we missed.

Advanced options

You can change where your files will be downloaded by using --library-path path/to/your/directory.

By default the script does not compare files by md5 checksum to save time. You can turn it on by using --use-checksums.

You can change a log level by using --log-level=<YOUR_LOG_LEVEL>. Choices are DEBUG, INFO, WARNING, ERROR, CRITICAL.

You can do a "dry run" of the app by specifying --dry-run. This will determine all the digital content you have purchased, but instead of downloading each file it will print one line of information to show what file would have been downloaded if the --dry-run flag wasn't on. Use this if you want to test out the app without taking the time to download anything.

For more information, run the script with --help.

Found a bug?

Pull requests and bug reports are welcomed! See CONTRIBUTING.md for more details.

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

drpg-2024.11.8.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

drpg-2024.11.8-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file drpg-2024.11.8.tar.gz.

File metadata

  • Download URL: drpg-2024.11.8.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for drpg-2024.11.8.tar.gz
Algorithm Hash digest
SHA256 b20c5a1091a6b1d6f2beab6f7e638b9a3c99830a25fa60964e36045856c3ac82
MD5 0dfd2e4d9b170e2c852af9d7b40177d6
BLAKE2b-256 de586de302d5ddc8532fee880c9815ec8a5215525a626fc207fe0bbc489190fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for drpg-2024.11.8.tar.gz:

Publisher: build-and-publish.yml on glujan/drpg

Attestations:

File details

Details for the file drpg-2024.11.8-py3-none-any.whl.

File metadata

  • Download URL: drpg-2024.11.8-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for drpg-2024.11.8-py3-none-any.whl
Algorithm Hash digest
SHA256 990e35e4960d39119894091402ed284286338c931ac3c3b9afa462bfbe57978b
MD5 2e712ad3e7bcfbc44204e3605b02b880
BLAKE2b-256 08a38c43e47617ea1e684805a7faaa32da5df735c911a78c24b1e4f2d62ed128

See more details on using hashes here.

Provenance

The following attestation bundles were made for drpg-2024.11.8-py3-none-any.whl:

Publisher: build-and-publish.yml on glujan/drpg

Attestations:

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