An open source randomizer patcher for Metroid Prime 2 and 3.
Project description
Open Prime Rando
Open Source randomizer patcher for Prime 2 and eventually 3.
Running the patcher standalone
After cloning the repository, install the project and its extras:
uv sync --all-groups --all-extras
The command line entrypoint is open-prime-rando. The currently supported game is echoes, and the
randomizer subcommand expects a configuration JSON plus input and output ISO paths:
uv run open-prime-rando echoes \
--input-iso /path/to/prime2.iso \
--output-iso /path/to/output.iso \
randomizer \
--input-json /path/to/config.json
Use uv run open-prime-rando echoes --help to see the available arguments for the Echoes patcher.
Updating hash files
Some tests compare the output of the patcher against pre-recorded hash files. When a code change intentionally alters the output, these files need to be regenerated.
Setup
The tests require ISO files for Metroid Prime 2: Echoes. Create a .env file in the repository root:
PRIME2_ISO=/path/to/prime2_ntsc.iso
PRIME2_PAL_ISO=/path/to/prime2_pal.iso
These can also be set as regular environment variables instead of using
.env.
Running locally
uv run pytest --update-hashes -n 2
This runs only the hash-comparison tests and writes the new hashes in place of the old ones.
Via GitHub (pull requests)
Anyone with write access to the repository can comment /update-hashes on a pull request. A workflow will run the tests on the self-hosted runner, commit the updated files, and push them to the PR branch.
Credits
Echoes
Banner image created by rekameohs.
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 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 open_prime_rando-0.20.1.tar.gz.
File metadata
- Download URL: open_prime_rando-0.20.1.tar.gz
- Upload date:
- Size: 8.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0548b86f9d8982307b81401d1d349af451123e956b9fd892b00922dbead0d41e
|
|
| MD5 |
d7fccdb95ca6d739c1bb00a9b63fb6d2
|
|
| BLAKE2b-256 |
2fa8940482e94dc2b9d319e118a48c3fd638e322bb00f60c492bb2e0b8feefaa
|
Provenance
The following attestation bundles were made for open_prime_rando-0.20.1.tar.gz:
Publisher:
python.yml on randovania/open-prime-rando
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
open_prime_rando-0.20.1.tar.gz -
Subject digest:
0548b86f9d8982307b81401d1d349af451123e956b9fd892b00922dbead0d41e - Sigstore transparency entry: 1914963926
- Sigstore integration time:
-
Permalink:
randovania/open-prime-rando@7e808c3e52ff104d40127129de13e855a4853f14 -
Branch / Tag:
refs/tags/v0.20.1 - Owner: https://github.com/randovania
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python.yml@7e808c3e52ff104d40127129de13e855a4853f14 -
Trigger Event:
push
-
Statement type:
File details
Details for the file open_prime_rando-0.20.1-py3-none-any.whl.
File metadata
- Download URL: open_prime_rando-0.20.1-py3-none-any.whl
- Upload date:
- Size: 3.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e9777854c3700be2e27ccfa422eafc086ea5a1f940a693e2f18997cac0239d7
|
|
| MD5 |
953981ee544d601300be82409440f762
|
|
| BLAKE2b-256 |
450df0d3b07214d2510bae8c337e0c0e567f33bb3eb6cc9d707765698b7d74b3
|
Provenance
The following attestation bundles were made for open_prime_rando-0.20.1-py3-none-any.whl:
Publisher:
python.yml on randovania/open-prime-rando
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
open_prime_rando-0.20.1-py3-none-any.whl -
Subject digest:
1e9777854c3700be2e27ccfa422eafc086ea5a1f940a693e2f18997cac0239d7 - Sigstore transparency entry: 1914964043
- Sigstore integration time:
-
Permalink:
randovania/open-prime-rando@7e808c3e52ff104d40127129de13e855a4853f14 -
Branch / Tag:
refs/tags/v0.20.1 - Owner: https://github.com/randovania
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python.yml@7e808c3e52ff104d40127129de13e855a4853f14 -
Trigger Event:
push
-
Statement type: