Skip to main content

PyPi version

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)

Source distribution for osrparse 7.0.1
File Size Uploaded
osrparse-7.0.1.tar.gz 12.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for osrparse 7.0.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

7.0.1 This release

2 release files

7.0.0

2 release files

6.0.2

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.0.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.0.0

1 release file

2.1.0

1 release file

2.0.2

1 release file

2.0.1

1 release file

1.0.2

1 release file

1.0.1

1 release file

0.2.2

1 release file

0.2.0

1 release file

0.1.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page