https://github.com/steffo99/steamleaderboards
A Python wrapper for the Steam Leaderboards
https://github.com/steffo99/steamleaderboards
leaderboards python steam xml
Last synced: 8 months ago
JSON representation
A Python wrapper for the Steam Leaderboards
- Host: GitHub
- URL: https://github.com/steffo99/steamleaderboards
- Owner: Steffo99
- License: mit
- Created: 2019-02-05T19:52:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-07-06T02:07:30.000Z (over 1 year ago)
- Last Synced: 2025-02-25T12:53:16.035Z (8 months ago)
- Topics: leaderboards, python, steam, xml
- Language: Python
- Homepage: https://pypi.org/project/steamleaderboards/
- Size: 63.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

# `steamleaderboards`
Retrieve and parse Steam leaderboards
## Links
[](https://pypi.org/project/steamleaderboards)
## 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:
```console
$ # If you're using pip in a venv on
$ .venv/bin/pip install steamleaderboards --upgrade
``````console
$ # If you're using poetry
$ poetry add steamleaderboards
```Then, create a `LeaderboardGroup` for the desired game.
```python
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.```python
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.
```python
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:
```console
$ # Using pipx
$ pipx install steamleaderboards
```Then, you can use it to retrieve leaderboards for one or more Steam games via the terminal:
```console
$ 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](https://steamdb.info/).