Skip to main content

Python wrapper for Evermizer

Project description

pyevermizer

Python wrapper for Secret of Evermore Randomizer from https://github.com/black-sliver/evermizer

This is used in Archipelago cross-game multiworld randomizer.

Import from package

  • Install from PyPI via pip install pyevermizer
  • Or download a release and pip install it
  • Or clone, build and install a wheel from source using
    git clone https://github.com/black-sliver/pyevermizer --recurse-submodules
    python3 -m build --wheel
    pip install dist/*.whl
    

Import from source

  • Clone with submodules using
    git clone https://github.com/black-sliver/pyevermizer --recurse-submodules
    
  • Simply import the cloned repo, it will auto-compile or run through cppyy. Either a C compiler or cppyy is required.

API

main(src: Path, dst: Path, placement: Path, apseed: str, apslot: str, seed: int, flags: str,
     money: int, exp: int, switches: list[str])  # create a randomized rom
get_locations() -> List[Location]  # returns a list of all non-sniff locations
get_sniff_locations() -> List[Location]  # returns a lof of all sniff spots
get_items() -> List[Item]  # returns a lost of all vanilla non-sniff items
get_sniff_items() -> List[Item]  # returns a list of vanilla sniff spot items
get_extra_items() -> List[Item]  # returns all extra items that can be placed, but are not vanilla
get_traps() -> List[Item]  # returns all traps that can be placed
get_logic() -> List[Location]  # returns the logic as real and pseudo locations for all locations that provide progress
P_...  # some progression IDs

class Location:
    name: str
    type: int  # location type, i.e. gourd, alchemy, boss
    index: int  # location index for each location type. (type, index) gives a unique ID
    difficulty: int  # difficulty 0..2 for bad/hidden spots
    requires: List[Tuple[int, int]]  # list of (amount, progression) required to reach the spot
    provides: List[Tuple[int, int]]  # list of (amount, progression) provided by reaching the spot

class Item:
    name: str
    progression: bool
    useful: bool
    type: int  # vanilla location type or extra location type, i.e. gourd, alchemy, boss, trap
    index: int  # item index for each location type. (type, index) gives a unique ID
    provides: List[Tuple[int, int]]  # list of (amount, progression) provided by obtaining the item

See Archipelago/worlds/soe for a complete example.

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

pyevermizer-0.48.0.tar.gz (218.2 kB view hashes)

Uploaded Source

Built Distributions

pyevermizer-0.48.0-cp312-cp312-win_amd64.whl (87.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

pyevermizer-0.48.0-cp312-cp312-musllinux_1_1_x86_64.whl (83.7 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

pyevermizer-0.48.0-cp312-cp312-musllinux_1_1_aarch64.whl (88.3 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

pyevermizer-0.48.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (88.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

pyevermizer-0.48.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.7 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pyevermizer-0.48.0-cp312-cp312-macosx_10_9_x86_64.whl (76.3 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

pyevermizer-0.48.0-cp312-cp312-macosx_10_9_universal2.whl (138.3 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

pyevermizer-0.48.0-cp311-cp311-win_amd64.whl (87.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyevermizer-0.48.0-cp311-cp311-musllinux_1_1_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pyevermizer-0.48.0-cp311-cp311-musllinux_1_1_aarch64.whl (87.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

pyevermizer-0.48.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (87.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

pyevermizer-0.48.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pyevermizer-0.48.0-cp311-cp311-macosx_10_9_x86_64.whl (76.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

pyevermizer-0.48.0-cp311-cp311-macosx_10_9_universal2.whl (138.1 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

pyevermizer-0.48.0-cp310-cp310-win_amd64.whl (87.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyevermizer-0.48.0-cp310-cp310-musllinux_1_1_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pyevermizer-0.48.0-cp310-cp310-musllinux_1_1_aarch64.whl (87.9 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

pyevermizer-0.48.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (87.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

pyevermizer-0.48.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pyevermizer-0.48.0-cp310-cp310-macosx_10_9_x86_64.whl (76.2 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

pyevermizer-0.48.0-cp310-cp310-macosx_10_9_universal2.whl (138.1 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

pyevermizer-0.48.0-cp39-cp39-win_amd64.whl (87.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyevermizer-0.48.0-cp39-cp39-musllinux_1_1_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pyevermizer-0.48.0-cp39-cp39-musllinux_1_1_aarch64.whl (87.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

pyevermizer-0.48.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (87.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

pyevermizer-0.48.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pyevermizer-0.48.0-cp39-cp39-macosx_10_9_x86_64.whl (76.2 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

pyevermizer-0.48.0-cp39-cp39-macosx_10_9_universal2.whl (138.1 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

pyevermizer-0.48.0-cp38-cp38-win_amd64.whl (87.7 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyevermizer-0.48.0-cp38-cp38-musllinux_1_1_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pyevermizer-0.48.0-cp38-cp38-musllinux_1_1_aarch64.whl (87.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

pyevermizer-0.48.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (87.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

pyevermizer-0.48.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (83.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

pyevermizer-0.48.0-cp38-cp38-macosx_10_9_x86_64.whl (76.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

pyevermizer-0.48.0-cp38-cp38-macosx_10_9_universal2.whl (138.1 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

Supported by

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