Python bindings for the Rocket League replay processing library subtr-actor.
Project description
subtr-actor-py
Python bindings for subtr-actor, a Rocket League replay processing library.
Installation
pip install subtr-actor-py
Usage
import subtr_actor
replay_path = "path/to/replay.replay"
# Parse raw replay bytes into the full replay structure.
with open(replay_path, "rb") as replay_file:
replay = subtr_actor.parse_replay(replay_file.read())
# Build a numpy ndarray plus metadata.
meta, ndarray = subtr_actor.get_ndarray_with_info_from_replay_filepath(
replay_path,
global_feature_adders=["BallRigidBody", "SecondsRemaining"],
player_feature_adders=["PlayerRigidBody", "PlayerBoost", "PlayerAnyJump"],
fps=10.0,
dtype="float32",
)
headers = subtr_actor.get_column_headers(
global_feature_adders=["BallRigidBody", "SecondsRemaining"],
player_feature_adders=["PlayerRigidBody", "PlayerBoost"],
)
replay_meta = subtr_actor.get_replay_meta(replay_path)
frames_data = subtr_actor.get_replay_frames_data(replay_path)
stats_module_names = subtr_actor.get_stats_module_names()
stats = subtr_actor.get_stats(replay_path, module_names=["core", "boost", "movement"])
stats_snapshot_data = subtr_actor.get_stats_snapshot_data(
replay_path,
module_names=["core", "boost"],
frame_step_seconds=1.0,
)
stats_timeline = subtr_actor.get_stats_timeline(
replay_path,
module_names=["core", "boost", "movement"],
frame_step_seconds=1.0,
)
print(ndarray.shape)
print(headers["player_headers"][:5])
print(replay_meta["map_name"])
print(stats_module_names)
print(stats["modules"]["core"]["team_zero"]["score"])
print(stats_snapshot_data["frames"][-1]["modules"]["boost"]["team_zero"]["amount_collected"])
print(stats_timeline["frames"][-1]["team_zero"]["boost"]["amount_collected"])
API Surface
parse_replay(data: bytes) -> dict
Parse raw replay bytes and return the full replay structure as Python data.
get_ndarray_with_info_from_replay_filepath(filepath, global_feature_adders=None, player_feature_adders=None, fps=None, dtype=None) -> tuple[dict, numpy.ndarray]
Process a replay file and return metadata plus a numpy.ndarray.
Parameters:
filepath: path to the replay fileglobal_feature_adders: list of global feature names, default["BallRigidBody"]player_feature_adders: list of player feature names, default["PlayerRigidBody", "PlayerBoost", "PlayerAnyJump"]fps: target FPS for resampling, default10.0dtype: output dtype string. Supported values arefloat16/f16/half,float32/f32, andfloat64/f64/double
get_replay_meta(filepath, global_feature_adders=None, player_feature_adders=None) -> dict
Get replay metadata and ndarray headers without materializing the full ndarray.
get_column_headers(global_feature_adders=None, player_feature_adders=None) -> dict
Get header information for the configured ndarray layout.
get_replay_frames_data(filepath) -> dict
Get structured frame-by-frame game state data with no FPS resampling.
get_stats_module_names() -> list[str]
List the builtin stats modules that can be selected in get_stats,
get_stats_snapshot_data, and get_stats_timeline.
get_stats(filepath, module_names=None) -> dict
Get aggregate replay stats for the selected builtin modules.
Parameters:
filepath: path to the replay filemodule_names: optional list of builtin stats module names. By default all builtin modules are included.
get_stats_snapshot_data(filepath, module_names=None, frame_step_seconds=None) -> dict
Get the raw stats snapshot payload produced by StatsCollector, including:
config: module configuration emitted by the selected stats modulesmodules: aggregate module outputsframes: per-sample module snapshots keyed by module name
Parameters:
filepath: path to the replay filemodule_names: optional list of builtin stats module names. By default all builtin modules are included.frame_step_seconds: optional positive sampling interval in seconds. By default every replay frame is captured.
get_stats_timeline(filepath, module_names=None, frame_step_seconds=None) -> dict
Get cumulative typed stats snapshots for each replay sample.
Parameters:
filepath: path to the replay filemodule_names: optional list of builtin stats module names. By default all builtin modules are included.frame_step_seconds: optional positive sampling interval in seconds. By default every replay frame is captured.
Feature Adders
See the subtr-actor ndarray docs for the full list of feature-adder names.
Common global features:
BallRigidBodyCurrentTimeSecondsRemaining
Common player features:
PlayerRigidBodyPlayerBallDistancePlayerBoostPlayerAnyJumpPlayerJumpPlayerDodgeRefreshed
PlayerBoost is exposed in raw replay units (0-255), not 0-100 percent.
Development
Repository-level compile check:
just build-python
For an importable local Python environment, use maturin develop from the python/ directory:
cd python
uv sync --group dev
uv run maturin develop
uv run pytest
If you are using the repo flake, nix develop now provides the pinned CPython 3.11 toolchain and Python dev dependencies via uv2nix. Create a writable virtual environment from that interpreter, then install the local extension into it:
nix develop
uv venv /tmp/subtr-actor-venv
source /tmp/subtr-actor-venv/bin/activate
cd python
maturin develop
pytest
If you are not using uv or Nix, install maturin, pytest, and numpy in a virtual environment and run maturin develop directly.
Publishing Notes
This binding depends on the workspace crate via:
[dependencies.subtr-actor]
path = ".."
version = "0.4.0"
That keeps local development wired to the workspace crate while still pinning the published dependency version. Use just bump <version> to update the workspace and binding versions together.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 subtr_actor_py-0.5.2.tar.gz.
File metadata
- Download URL: subtr_actor_py-0.5.2.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f83e24e7a82217506e3039101de865abe211f3a07b39c22f0d139c75f07bd293
|
|
| MD5 |
aee23c6baf57512450407b189330f203
|
|
| BLAKE2b-256 |
6222550559418c0a40cb9a694222f3597ac06b63248148faaaffea415a56ea38
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2.tar.gz:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2.tar.gz -
Subject digest:
f83e24e7a82217506e3039101de865abe211f3a07b39c22f0d139c75f07bd293 - Sigstore transparency entry: 1472347824
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee0130580585bb857c5ad455e29a661fd088b6c93436788812db4e64c4d708cf
|
|
| MD5 |
81e092e875909be4ab042e1f45ec21ab
|
|
| BLAKE2b-256 |
81895ac7a3e4ca18a7317f86ba3748994b7eab84dc3f9e2a8a2bf0d827bbf28b
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
ee0130580585bb857c5ad455e29a661fd088b6c93436788812db4e64c4d708cf - Sigstore transparency entry: 1472348579
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6038aca1971d4dee7d046987bef394578130a7bd43162134f49ae8d83a93dcf5
|
|
| MD5 |
37e0c11f6ec714169316e2b0740664d2
|
|
| BLAKE2b-256 |
848d3b910a8b777c6acf9cf8e0a88e43eac9121d4c6429103e38dc68c7927194
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp312-cp312-win_amd64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp312-cp312-win_amd64.whl -
Subject digest:
6038aca1971d4dee7d046987bef394578130a7bd43162134f49ae8d83a93dcf5 - Sigstore transparency entry: 1472348769
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4bc665dc13b9763d1492c598aa04324b1e5f0714b4ead876b93cdb6b6576e36
|
|
| MD5 |
31d55bb5bee2a6d036219bd9a6976467
|
|
| BLAKE2b-256 |
0bcbf0a6dae185b9dabbd136f12d405412b90bc81f8e6774eb565ab9eb0d872b
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
e4bc665dc13b9763d1492c598aa04324b1e5f0714b4ead876b93cdb6b6576e36 - Sigstore transparency entry: 1472348880
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f72aa3703236081f2441bc40e34e8a96b772c7b6f299c0492c4fa9c6febf2ff9
|
|
| MD5 |
a9fd26f21a10e0ee2edbdeff950bfd2a
|
|
| BLAKE2b-256 |
69b068f3f6a30774880e7b6a19cbf58cd3c9fdc2427910a339c26aa4cc5409b1
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
f72aa3703236081f2441bc40e34e8a96b772c7b6f299c0492c4fa9c6febf2ff9 - Sigstore transparency entry: 1472347964
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9af768a5470b19849b164b5a558f44331bc3d6e3bed2e8170000fea9f580e28b
|
|
| MD5 |
b4ca9308b11386b558112ac398f677ee
|
|
| BLAKE2b-256 |
1cfb0589ce645eb77d4c5364061aa01e8238242baae5a1353a5b9dcdf62c3f44
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
9af768a5470b19849b164b5a558f44331bc3d6e3bed2e8170000fea9f580e28b - Sigstore transparency entry: 1472348304
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3fae7f6b5353fd0984dd7342bd622e8e955e061626b310587f0515b885fed74f
|
|
| MD5 |
e2ccc082de0b59d8cbf8d61b5d0334d6
|
|
| BLAKE2b-256 |
efb4f0b05e2564fc534a32c4a4f266f3da69a79d0022bb2919a169b052e6b4ce
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
3fae7f6b5353fd0984dd7342bd622e8e955e061626b310587f0515b885fed74f - Sigstore transparency entry: 1472348191
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06130549c6d2176fc94530c76a064a69325c5485541b0be62f11cb6e32a6c6b1
|
|
| MD5 |
84cb963ba637de2d75bf7581fd6aec6b
|
|
| BLAKE2b-256 |
ad5e4ead5c81745e0195969c78902b5ebaaa2897bf643bab8470dcb5f28b64d6
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
06130549c6d2176fc94530c76a064a69325c5485541b0be62f11cb6e32a6c6b1 - Sigstore transparency entry: 1472348080
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file subtr_actor_py-0.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: subtr_actor_py-0.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 1.4 MB
- Tags: CPython 3.8, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ff4d673e44dd46d53340814ce7792e1ee16e1977fefe04ab955fa2b4bab3028
|
|
| MD5 |
8aed5d399db41bd29964416556629313
|
|
| BLAKE2b-256 |
b7be14284ee08c37601640d760bb614ed8b86436b1bafc7014853b70af61de13
|
Provenance
The following attestation bundles were made for subtr_actor_py-0.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
release-python.yml on rlrml/subtr-actor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
subtr_actor_py-0.5.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
8ff4d673e44dd46d53340814ce7792e1ee16e1977fefe04ab955fa2b4bab3028 - Sigstore transparency entry: 1472348436
- Sigstore integration time:
-
Permalink:
rlrml/subtr-actor@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Branch / Tag:
refs/tags/v0.5.2 - Owner: https://github.com/rlrml
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-python.yml@71410363aaecffd39dfdb8a2e37c3f2bdbc8acb9 -
Trigger Event:
push
-
Statement type: