Performance points (pp)¶
Use Performance to compute pp. Unset hit counts are
generated automatically from the accuracy and miss count.
From accuracy¶
from parsecore.Performance import Beatmap, Performance
bm = Beatmap.from_path("path/to/map.osu")
result = Performance(bm).mods(64).accuracy(98.5).misses(2).calculate()
print(result.pp)
From an explicit lazer score¶
result = (
Performance(bm)
.lazer(True)
.n300(194).n100(0).n50(0).misses(0)
.combo(277)
.slider_end_hits(68)
.large_tick_hits(15)
.calculate()
)
print(result.pp, result.pp_aim, result.pp_speed, result.pp_acc, result.pp_reading)
From an osu!(stable) / classic score¶
Stable scores estimate slider breaks from the legacy total score:
result = (
Performance(bm)
.lazer(False)
.n300(2020).n100(27).misses(4)
.combo(1699)
.legacy_total_score(31_546_804)
.calculate()
)
print(result.pp, result.effective_miss_count)
See also
The difference between the two scoring systems is explained in Lazer vs stable scoring.