A Python implementation of the splits.io REST API.
Project description
splitsio
A Python implementation of the splits.io REST API.
splitsio currently supports read-only access. To upload runs, use the REST API directly.
Requires Python 3.7 or greater.
To install: pip3 install splitsio
Then to access the main data types in Python:
from splitsio import *
Usage
Game
Get information about a game
>>> sms = Game.from_id('sms')
>>> sms
Game(id='15', name='Super Mario Sunshine', shortname='sms')
>>> sms.created_at
'2014-04-18T06:28:59.764Z'
NOTE: for games, the identifier for querying is the shortname (here 'sms'), not the numerical id.
Get all games in the database
>>> games = Game.all() # this can take a minute or so
>>> len(games)
17237
>>> games[0]
Game(id='2206', name='007: Agent Under Fire', shortname='auf')
Search games by name/keyword
>>> mario_games = Game.search('mario')
>>> len(mario_games)
353
>>> mario_games[0]
Game(id='2524', name='Super Mario Advance 4: Super Mario Bros. 3', shortname='sma4')
Category
Get the speedrun categories for a game
>>> oot = Game.from_id('oot')
>>> oot.categories[0]
Category(id='86832', name='No ACE')
Get category from id
>>> no_ace = Category.from_id('86832')
>>> no_ace
Category(id='86832', name='No ACE')
Runner
Get runners for a game or category
>>> oot_runners = Game.from_id('oot').runners()
>>> len(oot_runners)
238
>>> oot_runners[0]
Runner(id='35', twitch_id='31809791', twitch_name='cma2819', display_name='cma2819', name='cma2819')
>>> no_ace_runners = Category.from_id('86832').runners()
>>> no_ace_runners[0]
Runner(id='32189', twitch_id='63370787', twitch_name='bigmikey_', display_name='bigmikey_', name='bigmikey_')
Get runner from id
>>> bigmikey = Runner.from_id('bigmikey_')
>>> bigmikey
Runner(id='32189', twitch_id='63370787', twitch_name='bigmikey_', display_name='bigmikey_', name='bigmikey_')
NOTE: for runners, the identifier for querying is the name all lowercased (here 'bigmikey_'), not the numerical id.
Run
Get runs for a game, category, or runner
>>> oot_runs = Game.from_id('oot').runs()
>>> run = oot_runs[0]
>>> run.realtime_duration_ms
1507300
>>> run.program
'livesplit'
>>> run.attempts
97
>>> len(Category.from_id('86832').runs())
11
>>> len(Runner.from_id('bigmikey_').runs())
2
Get attempt histories for a run and its segments
>>> run = Game.from_id('oot').runs()[0]
>>> run = Run.from_id(run.id, historic = True)
>>> len(run.histories)
90
>>> run.histories[1]
History(attempt_number=89, realtime_duration_ms=1507300, gametime_duration_ms=None, started_at='2020-03-10T20:06:08.000Z', ended_at='2020-03-10T20:31:15.000Z')
>>> run.segments[0].name
'Sword Get'
>>> len(run.segments[0].histories)
67
>>> run.segments[0].histories[0]
History(attempt_number=2, realtime_duration_ms=271832, gametime_duration_ms=0, started_at=None, ended_at=None)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file splitsio-0.1.1.tar.gz.
File metadata
- Download URL: splitsio-0.1.1.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.7.4 Darwin/17.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
215a11c0cefedf02f402509341aed1475a11da864435b5cb0ab9d9abc9d7bdeb
|
|
| MD5 |
fa4ab69c823688f0d8b90c2202cadb9b
|
|
| BLAKE2b-256 |
e0f2637c7ca35dad5b6b6f4f152ce0c29b7235c5c5522c10c5ed737d8b223054
|
File details
Details for the file splitsio-0.1.1-py3-none-any.whl.
File metadata
- Download URL: splitsio-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.3 CPython/3.7.4 Darwin/17.7.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d04e003cdc5c03c4fe714c246bb286362ad1eb34ec94a2c79632b37959a74a32
|
|
| MD5 |
e412ac29fefea74b36f3734059812ce4
|
|
| BLAKE2b-256 |
358eb089efd31850375757e7cd11578d778081c1c068048af87d92b5a6633abf
|