Skip to main content

python libray for the speedrun.com API

Project description

srcomapipy

A python library for the speedrun.com API

Install

pip install srcomapipy

Examples

Find a game:

from srcompaipy.srcomapipy import SRC
import srcomapipy.srctypes as st

api = SRC(user_agent="username")
# search for a game
games: list[st.Game] = api.search_game("Batman: Arkham City")
print(games)
>>> [<Game: Batman: Arkham City (x3692ldl)>, <Game: Batman: Arkham City Lockdown (9d3808w1)>, <Game: Batman: Arkham City Category Extensions (m1mnnv3d)>]
# get newly submitted runs for a game
bac: st.Game = games[0]
runs: list[st.Run] = api.get_runs(game_id=bac.id, status="new")

Get WR of a specific leaderboard:

# get category and it's variables
cat = bac.categories["Any%"]
var1 = cat.variables["Version"]
var2 = cat.variables["Difficulty"]
lb = api.get_leaderboard(bac, cat, variables=[(var1, "PC"), (var2, "NG+")])
print(lb.wr())
>>> <Run: RTA-14:30.000 (yox7rk5y)-Any%-'Version'=PC 'Difficulty'=NG+ by Bepsi>

Search for specific user:

users: list[st.User] = api.get_users(lookup="username")

Exception example:

try:
    game: st.Game = api.get_game(game_id="id")
except st.SRCAPIException as e:
    print(f"Error: {e.message}")

Change run status (Requires API Key of a moderator):

api = SRC(user_agent="username", api_key="api-key-here")
bac: st.Game = api.search_game("Batman: Arkham City")[0]
# reject a new run
runs: list[st.Run] = api.get_runs(game_id=bac.id, status="new")
# returns the run that was changed
run: st.Run = api.change_run_status(runs[0], status="rejected", reason="reason")

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

srcomapipy-0.5.5.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

srcomapipy-0.5.5-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file srcomapipy-0.5.5.tar.gz.

File metadata

  • Download URL: srcomapipy-0.5.5.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for srcomapipy-0.5.5.tar.gz
Algorithm Hash digest
SHA256 6fa45139e330b9b8b3bfa1bb013d2a770c21512311ad0a1494ce3a0dc8456c98
MD5 031fe176059199f55c86304dce525ace
BLAKE2b-256 298f2d273359be42c1d83140e5290aa7227f4a0b896ce19ecedef0f8fa89203b

See more details on using hashes here.

File details

Details for the file srcomapipy-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: srcomapipy-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for srcomapipy-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6182c9428104c7dfb4f0fb85dcfa2aac67fceacb152056d4052c278fe5827b25
MD5 c67ded7dfd828c4dc4618adbee07b14d
BLAKE2b-256 f9a08c0e09edd07859511415a1baada6d2c05c14394bb60adf5eadabaa90bff5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page