Circleguard

Latest version: v5.4.3

Safety actively analyzes 682244 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 16

5.2.5

* fix `replay.username` being null when `replay` was created by a `User`

5.2.4

* store all score info attributes in `ReplayMap` and `ReplayPath`
* these attributes are: `count_300`, `count_100`, `count_50`, `count_geki`, `count_katu`, `count_miss`, `score`, `max_combo`, and `is_perfect_combo` (plus `life_bar_graph` for `ReplayPath`)
* rework loader exception handling. Most of the exception hierarchy has been removed. The remaining exceptions are: `APIException`, `InvalidKeyException`, `ReplayUnavailableException`, and `NoInfoAvailableException`
* switch license from MIT to GPL3

5.2.3

* rename almost all occurrences of `map_id` to `beatmap_id`. I've tried to leave aliases in all occurrences so old code won't break, but if I've missed one, please update to using `beatmap_id` instead
* remove `Cacher` class, all its logic now lives inside `Loader`
* `Circleguard`'s `loader` argument must now be an instance of a `Loader` class (or subclass) instead of the class itself. This is a breaking change, but since I don't think a single person is using this feature besides us, I'm making it anyway (and if you are using it, please message me because I'm very curious what your use case is!)
* add `__str__` to `MapUser` and `User`

5.2.2

* add player name, mods, and beatmap to frametime graph title
* add `load` param to `cg.replaycontainer` methods (`cg.Map`, etc) to create a fully loaded replay container instead of just info loaded
* add `cg.ReplayDir` method
* fix rare error in ratelimit sleeping

5.2.1

* fix spinners always being marked as misses

5.2.0

* add a vertical red line at the expected frametime in frametime graphs
* `KeylessCircleguard` can now load replays which don't require any api calls, such as `ReplayPath` and `ReplayString`
* However, certain attributes of these replays, like `map_id` or `user_id`, are lazy loaded since they do require api calls, and will error if accessed after being loaded by a `KeylessCircleguard`
* the `Hit` class returned by `Circleguardhits` has a new attribute, `type: JudgmentType`, which says whether this hit was a 50, 100, or 300
* add `Circleguardjudgments` method, which returns all judgments, both misses and hits
* sliderbreak judgments are currently not implemented
* add `Hiterror` convenience method which calculates the error in ms from being a perfect hit
* add a `beatmap` parameter to `Circleguardur`, `Circleguardsnaps`, `Circleguardhits`, and `Circleguardjudgments`
* this can be passed to override the replay's beatmap and use the passed beatmap to calculate the relevant statistic instead
* It can also be used as an optimization to avoid re-retrieving the beatmap if you already have the replay's beatmap
* add `Replaymap_available` method which returns whether the replay can, if request, provide the beatmap it was played on
* add `Circleguardmap_available` method as a convenience for calling `Replaymap_available` without needing a `library`
* add `HitObject.time` and `Hit.time` instance attributes as aliases for `HitObject.t` and `Hit.t` respectively
* `time` should be preferred over `t`, and `t` will be removed as deprecated in core 6.0.0

Page 2 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.