Download and keep up to date your purchases from DriveThruRPG
Project description
dRPG downloads and keeps your purchases from DriveThruRPG up to date
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
- Go to your account settings and generate a new application key.
- Copy the key and run the script:
drpg --token <YOUR_DRPG_TOKEN>
- or setDRPG_TOKEN
env variable and rundrpg
. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b20c5a1091a6b1d6f2beab6f7e638b9a3c99830a25fa60964e36045856c3ac82 |
|
MD5 | 0dfd2e4d9b170e2c852af9d7b40177d6 |
|
BLAKE2b-256 | de586de302d5ddc8532fee880c9815ec8a5215525a626fc207fe0bbc489190fd |
Provenance
The following attestation bundles were made for drpg-2024.11.8.tar.gz
:
Publisher:
build-and-publish.yml
on glujan/drpg
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
drpg-2024.11.8.tar.gz
- Subject digest:
b20c5a1091a6b1d6f2beab6f7e638b9a3c99830a25fa60964e36045856c3ac82
- Sigstore transparency entry: 147571338
- Sigstore integration time:
- Predicate type:
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 990e35e4960d39119894091402ed284286338c931ac3c3b9afa462bfbe57978b |
|
MD5 | 2e712ad3e7bcfbc44204e3605b02b880 |
|
BLAKE2b-256 | 08a38c43e47617ea1e684805a7faaa32da5df735c911a78c24b1e4f2d62ed128 |
Provenance
The following attestation bundles were made for drpg-2024.11.8-py3-none-any.whl
:
Publisher:
build-and-publish.yml
on glujan/drpg
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
drpg-2024.11.8-py3-none-any.whl
- Subject digest:
990e35e4960d39119894091402ed284286338c931ac3c3b9afa462bfbe57978b
- Sigstore transparency entry: 147571339
- Sigstore integration time:
- Predicate type: