Skip to main content

Dota 2 hero grid generator using OpenDotaAPI stats

Project description


Small script that generates a custom Dota 2 Hero Grid layout of heroes sorted by winrate in public or professional games, using stats from OpenDota.


pip install odherogrid


  odhg [OPTIONS]

  [-b, --brackets] BRACKET (default: 7)
    Which skill bracket to get winrates from.
      <1, herald, h>                          Herald
      <2, guardian, g>                        Guardian
      <3, crusader, c>                        Crusader
      <4, archon, a>                          Archon
      <5, legend, l>                          Legend
      <6, ancient, n>                         Ancient
      <7, divine, d>                          Divine
      <8, immortal, i>                        Immortal
      <9, pro, p>                             Pro
      <0, all, A>                             All
    Hero grids for multiple brackets can be generated by specifying the -b option several times.

  [-l, --layout] LAYOUT (default: 1)
    Which Hero Grid layout to use.
      <1, mainstat, m>                        Mainstat
      <2, attack, a>                          Attack
      <3, role, r>                            Role
      <0, single, s>                          Single

  [-p, --path] PATH
    Specify absolute path of Dota 2 userdata/cfg directory.
    (It's usually better to run --setup to configure this path.)

  [-a, --ascending] (flag)
    Sort heroes by winrate in ascending order. (Default: descending).

  [-s, --setup] (flag)
    Runs first-time setup in order to create a persistent config.

  [-n, --name] NAME
    Sort heroes by winrate in an existing custom hero grid. This option is ONLY for sorting hand-made grids. Grids generated by ODHG do not require this option.

  [-h, --help] (flag)
    Show this message and exit.

  [-q, --quiet] (flag)
    Suppress all terminal output except errors.

Using standard configuration

$ odhg

Prompts to create config file in ~/.odhg/ the first time the program runs.

This is the recommended way to run ODHG.

Command-line options

Command-line options can be supplied to override config settings.


Create grid for Herald hero winrates:

$ odhg --brackets 1

Bracket names can also be used:

$ odhg --brackets herald


$ odhg -b h

Create grids for Herald, Divine & Pro winrates:

$ odhg -b 1 -b 7 -b 8


$ odhg -b h -b d -b p

Create grids for all brackets:

$ odhg -b 0


Use role layout (Carry/Support/Flex).

$ odhg --layout role

Single category layout

$ odhg --layout single


Specify a specific Steam user CFG directory:

$ odhg --path /home/bob/Steam/userdata/420666/570/remote/cfg


The format is based on Keep a Changelog,

0.3.0 (August 13th, 2020)


  • Immortal bracket support (-b <8, i, immortal>)


  • Parameter --sort renamed to --ascending
  • Accepted Pro bracket arguments changed to <9, pro, p>
  • Improved Steam directory detection for Windows users

0.2.0 (February 14th, 2020)


  • Attempt to adhere to Semantic Versioning
  • --quiet option to suppress stdout. Errors are still displayed.
  • Printing of program progress ("Fetching data", "generating grids", etc.).
  • Printing of ASCII table displaying generated grids upon program completion.


  • Parameter --grouping renamed to --layout.
  • Layout none renamed to single.
  • Large parts of the program have been rewritten, but user experience should be identical.
  • Logo has received a small facelift.

0.1.2 (January 24th, 2020)


  • Sorting of specific custom grids by using the --name parameter


  • ~/.odhg/config.yml now lists full path of hero_grid_config.json instead of just its directory.

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

odherogrid-0.3.1.tar.gz (17.0 kB view hashes)

Uploaded source

Built Distribution

odherogrid-0.3.1-py3-none-any.whl (20.8 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page