Stats library for SSBM replay files
Project description
SlippiStats
pip install slippistats
Please refer to the wiki for quick start and API reference. Also check out StatsExamples jupyter notebooks, which contain some example stat generations from ~1400 of my own replays.
SlippiStats is a Python parser for .slp game replay files for Super Smash Brothers Melee for the Nintendo GameCube. These replays are generated by Jas Laferriere's Project Slippi, which runs on a Wii or the Dolphin emulator.
Overview
SlippiStats is a library for slippi replay parsing and automatic stat/combo generation. It is based heavily on both slippi-js and py-slippi, though with some modifications.
The goal of SlippiStats is to provide a set of more useful, accurate, and detailed statistics than what slippi-js currently offers. The stats are targeted towards competitive players, with a notable absence of some "novelty" stats like APM. The output integrates easily with existing data science libraries and can provide indications for where a player should improve, as well as tracking that improvement over time.
Features
-
Combo generation with an enhanced algorithm and togglable criteria (with clippi/dolphin-compatible json output)
-
Stat generation with useful, high detail fields
-
~70-90% faster replay parsing compared to py-slippi
- Effortless conversion to Pandas/Polars DataFrames
Differences from Py-Slippi
SlippiStats originated as a fork of py-slippi, which was meant to be merged in at some point. Unfortunately, the scope increased a lot, the dev behind py-slippi has shifted focus from python to rust's Peppi parser, and the changes required to make stats work resulted in more and more breaking changes from py-slippi's existing framework. Thus the decision was made to make this its own project. Below are some of the major changes:
-
Support for all slippi replay features through version 3.14.0
-
Minimum python version 3.7 -> 3.10
-
Live parsing is no longer supported
-
All slippi file metrics are present in the output regardless of adjacent stats (e.g.
hitstun->misc_timer, no longer requires hitstun bitflag to populate) -
More robust enums including character-specific states and ground ID's for tournament legal stages.
-
Many variables renamed to keep consistency with community and/or slippi file spec (e.g.
damage->percent) -
Some class structures have been flattened (e.g.
slippi.version->slippi_version,metadata.player[i].netplay.code->metadata.player[i].connect_code) -
Parsing code has been heavily modified to maximize speed
-
Additional dependencies for data processing support
Known issues/limitations
- Stats/combo generation support only games with 2 players. Doubles stats/combos are not supported.
Project details
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 slippistats-0.1.1.tar.gz.
File metadata
- Download URL: slippistats-0.1.1.tar.gz
- Upload date:
- Size: 68.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
929617261359eecd36358d2521f6d6d538da97751756907a17400d520eb41db0
|
|
| MD5 |
0bd22bd6016decb99dca945e42bc4751
|
|
| BLAKE2b-256 |
ff31535dcd63e326e037d9bd4b354b263a14db5ef5d97ab497b005681bdeebbb
|
File details
Details for the file slippistats-0.1.1-py3-none-any.whl.
File metadata
- Download URL: slippistats-0.1.1-py3-none-any.whl
- Upload date:
- Size: 72.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39f886b2d8728216429335a4f4d0449e88726eb4b19083e4ccfc961c158310b8
|
|
| MD5 |
31aef5d559afef5423d59a1ca3d719a8
|
|
| BLAKE2b-256 |
7c98d4668610196b2c4b8343fc7915a1ebcf1d76ab64d06f36e1663a62b32dcf
|