mpq
Tims-PackageServer
mpq | Tims-PackageServer | |
---|---|---|
1 | 1 | |
32 | 9 | |
- | - | |
4.0 | 8.5 | |
about 1 year ago | 20 days ago | |
Go | Rust | |
Apache License 2.0 | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mpq
-
Show HN: Rust nom parsing Starcraft2 Replays into Arrow for Polars data analysis
SC2 replays are MPQ files, which is a proprietary format created and used by Blizzard. It's an archive that may contain multiple files stored with different compression and optionally encrypted. I wrote a lib to parse MPQ files that embodies SC2Replays: https://github.com/icza/mpq. I also wrote an SC2 replay parser that is more or less a port of the official s2protocol: https://github.com/icza/s2prot
Tims-PackageServer
-
Show HN: Rust nom parsing Starcraft2 Replays into Arrow for Polars data analysis
I'm using nom to parse a simple access control ACL in https://github.com/wbbaddons/Tims-PackageServer/blob/master/.... You can see how it looks in the tests of the linked file.
The DSL supports comparison operators, '&&', '||' and nested expressions, while preventing mixing of '&&' and '||' without making precedence clear using parentheses. This DSL should fit 'non-trivial', but it still should be simple enough to easily understand it.
What are some alternatives?
zephyrus-sc2-parser - A parser for .SC2Replay files
s2protocol-rs - Starcraft 2 Protocol Replay Reader
pdx-tools - View maps, graphs, and tables of your save and compete in a casual, evergreen leaderboard of EU4 achievement speed runs. Upload and share your save with the world.
rust-parser
s2prot - Decoder/parser of Blizzard's StarCraft II replay file format (*.SC2Replay)
blizzard - Go client library for Blizzard API data
nom - Rust parser combinator framework
csvutil - csvutil provides fast and idiomatic mapping between CSV and Go (golang) values.