Skip to main content

Description

Humble Client is a command line client for downloading your DRM-free games purchased on the Humble Bundle online store. It allows listing your orders (or bundles) and your games and downloading DRM-free ones.

It includes basic filtering capabilities to exclude platforms you do not want or to download only a precise list of games.

This client is not supported in any way by Humble Bundle !

Quickstart

Simply put your login information into the configuration file (see Configuration) and run humblec download to get all your DRM-free games. You can also use humblec --key KEY download to get the games of a bundle without using an account.

See Usage for more details.

Dependencies

Python modules:

  • PyYAML,

  • requests.

Command line tool:

  • wget (which is used to effectively download files).

Installation

You can always install the latest version from PyPi using:

$ pip install humbleclient

Using an archive, this software can be installed using

$ python setup.py install

Usage

Add --key KEY before a command to avoid the need for an account (where KEY comes from the key= of a bundle URL https://www.humblebundle.com/downloads?key=XXXXXXXXXXXX).

Listing orders

$ humblec list-bundles

Options:

  • --content: display the content of each bundle,

  • --files : display the individual files associated to each game.

Listing games

$ humblec list-games

Options:

  • --files: display the individual files associated to each game.

This command is slower than the previous one since it requires to download the complete games list before displaying it in order to display once games which have been purchased multiple times.

Downloading games

$ humblec download

Only the files which are not filtered out by the filters (see Filtering) will be downloaded.

To precisely select what to download or to override the filters given in the configuration file, the following command line flags are available:

  • --bundles BUNDLE [BUNDLE ...]: download only the given bundles,

  • --games GAME [GAME ...]: download only the given games,

  • --platforms PLATFORM [PLATFORM ...]: download only files for the given platforms,

  • --files FILE [FILE ...]: download only files corresponding to the given codenames.

Be careful that other filters are still applied: for example, if you select a particular file with --files but the platform of this file is filtered out, nothing will be downloaded, you also need to override the platform with --platforms.

Other options:

  • --directory DIRECTORY or -d DIRECTORY: download files to this directory instead of the one in the configuration file,

  • --dry-run or -n: do not download anything, just display download commands.

Configuration

The configuration goes to ~/.config/humbleclient/config.yml (or $XDG_CONFIG_HOME/humbleclient/config.yml).

To begin to download files, you just need to enter your login details in the account section:

account:
  email: you@example.com
  password: xxxxxxxx

You can also add key of bundles which are not claimed by your account using (you can mix account and keys, all bundles will be processed):

keys:
  - XXXXXXXXXXXX
  - YYYYYYYYYYYY

Files will go the directory ~/Humble or any directory of your choice:

directory: ~/Humble

Advanced users may customize the format used to display list of games and orders and to generate the destination directories of download files (see Formatting).

Some filters allow to select more precisely the files which will be downloaded (see Filtering).

Example

The default values are the following:

account:
  email:
  password:

keys: []

directory: ~/Humble

exclude:
  bundles: []
  # bundles:
  #   - hib8 # I do not like games from the Humble Indie Bundle 8
  platforms: []
  # platforms:
  #   - mac # I do not have a mac
  games: []
  files: []

format:
  download: "{game_name}/{filename}"
  file:     "- {title} ({platform}, {human_size}, {name}, {filename})"
  game:     "- {title} ({name}, {url})"
  order:    "* {title} ({name}, {url})"

Filtering

There are 4 filters available:

  • bundles

  • platforms

  • games

  • files

Each filter expects a list of code names which can be found using list-orders or list-games.

Formatting

Output format can be customized using the format section of the configuration file. There are 4 different format string, which accept different variables:

  • order

    • key: Key of the bundle

    • title: Title of the bundle

    • name: Code name of the bundle

    • url: URL of the bundle

  • game

    • name: Code name of the game

    • title: Human name of the game

    • icon: URL of an icon

    • url: URL of the game

    • editor: Editor of the game

  • file and download

    • game_name: Code name of the game

    • game_title: Human name of the game

    • game_editor: Human name of the editor

    • platform: Platform

    • name: Code name of the file

    • title: Human name of the download (often not really interesting, like “Download”)

    • size: Size of the file

    • human_size: Human size of the file

    • sha1: SHA1 hash of the file (if available)

    • md5: MD5 hash of the file (if available)

    • url: Download url

    • torrent: Torrent url (if available)

    • filename: Filename

Download

Bugs and comments

Please submit bug reports on the issues tracker.

Licence

Humble is free software, released under the term of the GPLv3+.

Copyright 2014-2015 Olivier Schwander <olivier.schwander@ens-lyon.org>

Metadata

Release files for humbleclient 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for humbleclient 0.1.3
File Size Uploaded Provenance Actions
humbleclient-0.1.3.tar.gz 7.4 kB Without provenance Details for humbleclient-0.1.3.tar.gz

Release files / humbleclient-0.1.3.tar.gz

Download URL humbleclient-0.1.3.tar.gz
Size 7.4 kB
Tags Source
SHA-256 checksum
How to use checksums
882c2bf98c36fef0a4e542284b22804b9386e451a206591d468f40d54ba2e3f2
BLAKE2b-256 checksum
How to use checksums
abce9d19f007c84561f47d254af907ead6698beb34c673693d6f0d8d9df2b262
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for humbleclient 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.3 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page