Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_prime_rando-0.20.1.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_prime_rando-0.20.1-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

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

Hashes for open_prime_rando-0.20.1.tar.gz
Algorithm Hash digest
SHA256 0548b86f9d8982307b81401d1d349af451123e956b9fd892b00922dbead0d41e
MD5 d7fccdb95ca6d739c1bb00a9b63fb6d2
BLAKE2b-256 2fa8940482e94dc2b9d319e118a48c3fd638e322bb00f60c492bb2e0b8feefaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for open_prime_rando-0.20.1.tar.gz:

Publisher: python.yml on randovania/open-prime-rando

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file open_prime_rando-0.20.1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_prime_rando-0.20.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e9777854c3700be2e27ccfa422eafc086ea5a1f940a693e2f18997cac0239d7
MD5 953981ee544d601300be82409440f762
BLAKE2b-256 450df0d3b07214d2510bae8c337e0c0e567f33bb3eb6cc9d707765698b7d74b3

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page