/osuparse

Crate for parsing osu! beatmap files

Primary LanguageRustGNU General Public License v3.0GPL-3.0

osuparse - An osu! beatmap parser crate

Build Status

osuparse is a Rust crate for parsing osu! .osu beatmap files. Usage is as simple as:

let mut file = File::open("map.osu").unwrap();
let mut contents = String::new();
file.read_to_string(&mut contents).unwrap();

parse_beatmap(contents.as_str()).unwrap();

Documentation for this crate can be found here

osuparse fully supports the osu! beatmap file specification, with the important exception of the Events section, which is pending implmentation.

Python bindings

This repository includes python bindings. You can install a prebuilt package from PyPi:

$ pip install osuparse

You can also build and install from source:

$ cd py_osuparse
$ python setup.py install

Usage is as follows:

import osuparse

map = osuparse.parse_beatmap('beatmap.osu')

License:

This crate is licensed under terms of the GPL-3.0 license, as published by the Free Software Foundation. Code documentation comments are partially sourced from the osu!wiki, which is licensed under terms of the CC-BY-NC 4.0 license.