Skip to content

Steffo99/steamleaderboards

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

steamleaderboards

Retrieve and parse Steam leaderboards

Links

PyPI

History

It was created with the Isaac Daily Run scoreboards in mind, but it can be used for other games that have a public leaderboard as well.

Usage

In code

To use steamleaderboards, first install it via PyPI:

$ # If you're using pip in a venv on 
$ .venv/bin/pip install steamleaderboards --upgrade
$ # If you're using poetry 
$ poetry add steamleaderboards

Then, create a LeaderboardGroup for the desired game.

import steamleaderboards as sl
lbgroup = sl.LeaderboardGroup(STEAM_APP_ID)

Once you have created the LeaderboardGroup, you can retrieve the desired leaderboards by using the LeaderboardGroup.get method.
You can specify the name, the display name or the id of the leaderboard to retrieve.

leaderboard_a = lbgroup.get(name=LEADERBOARD_NAME)
leaderboard_b = lbgroup.get(lbid=LEADERBOARD_ID)
leaderboard_c = lbgroup.get(display_name=LEADERBOARD_DISPLAY_NAME)

When you have the Leaderboard object, you can find all the entries in the Leaderboard.entries field, or you can search for a specific one through the Leaderboard.find_entry method.

all_scores = leaderboard_a.entries
my_score = leaderboard_a.find_entry(MY_STEAMID_1)
first_place_score = leaderboard_a.find_entry(rank=1)
last_place_score = leaderboard_a.find_entry(rank=-1)

In the terminal

To use steamleaderboards, first install it via PyPI:

$ # Using pipx
$ pipx install steamleaderboards

Then, you can use it to retrieve leaderboards for one or more Steam games via the terminal:

$ steamleaderboards --output_dir="./data" 440

This will download all leaderboards for Team Fortress 2, the game with the app id 440, to the ./data directory.

App ids for games can be found via SteamDB.