osrparse, a python parser for osu! replays
This is a parser for the .osr format for osu! replay files, as described by the wiki.
Installation
To install, simply:
pip install osrparse
Documentation
Please see the full documentation for a comprehensive guide: https://kszlim.github.io/osu-replay-parser. A quickstart follows below for the impatient, but you should read the full documentation if you are at all confused.
Quickstart
from osrparse import Replay, parse_replay_data
# parse from a path
replay = Replay.from_path("path/to/osr.osr")
# or from an opened file object
with open("path/to/osr.osr") as f:
replay = Replay.from_file(f)
# or from a string
with open("path/to/osr.osr") as f:
replay_string = f.read()
replay = Replay.from_string(replay_string)
# a replay has various attributes
r = replay
print(r.mode, r.game_version, r.beatmap_hash, r.username,
r.replay_hash, r.count_300, r.count_100, r.count_50,
r.count_geki, r.count_miss, r.score, r.max_combo, r.perfect,
r.mods, r.life_bar_graph, r.timestamp, r.replay_data,
r.replay_id, r.rng_seed)
# parse the replay data from api v1's /get_replay endpoint
lzma_string = retrieve_from_api()
replay_data = parse_replay_data(lzma_string)
# replay_data is a list of ReplayEvents
# write a replay back to a path
replay.write_path("path/to/osr.osr")
# or to an opened file object
with open("path/to/osr.osr") as f:
replay.write_file(f)
# or to a string
packed = replay.pack()
# edited attributes are saved
replay.username = "fake username"
replay.write_path("path/to/new_osr.osr")
Metadata
Release files for osrparse 7.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| osrparse-7.0.1.tar.gz | 12.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| osrparse-7.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.5 kB
Release files / osrparse-7.0.1.tar.gz
| Download URL | osrparse-7.0.1.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
61e160979c1d1a796a25e83b55effc07ddfadcb126a5cec28b2244cb1b48acdd
|
|
BLAKE2b-256 checksum How to use checksums |
4e42c2f93b6fee9b92ac80b8b75724b79422bf5a63d6cb81aeacb63349ca7d4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / osrparse-7.0.1-py3-none-any.whl
| Download URL | osrparse-7.0.1-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84a0b3377d42751c3bea375b535dda0e71d90a8b378026f2f02b614553bb7163
|
|
BLAKE2b-256 checksum How to use checksums |
6aa4aa42de117b3b7460b1f83b6ed0578d0a086245db6e90f6d0503d2057d76f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|