Skip to main content

Py-Exhaust-MA

Tests GitHub release (latest by date) GitHub issues GitHub Awesome?

Exhaust-MA is a highly optimized Redcode simulator. Py-Exhaust-MA is the python bindings for Exhaust-MA.

Installation

Use pip to install Py-Exhaust-MA.

pip install exhaust-ma

Usage

from exhaust_ma import Warrior, Core, CoreSettings

jaguar = "jaguar.rc"
imp = "imp.rc"

cs = CoreSettings()
w1 = Warrior.from_filename(cs, jaguar)
w2 = Warrior.from_filename(cs, imp)

c = Core(cs)
c.load_warriors([w1, w2])

print(c.run())

Exhaust-MA includes a set of warriors which you can access using importlib.resources:

import importlib.resources

jaguar = importlib.resources.files("exhaust_ma") / "exhaust-ma" / "jaguar.rc"

A full list of included files can be found In the exhaust-MA repository.

Contributing

To get going:

    # Clone the git repository
    git clone git@github.com:SuperDoxin/py-exhaust-ma.git

    cd py-exhaust-ma

    # Update the submodules. This is needed for building the exhaust-ma cffi
    # library
    git submodule init
    git submodule update

    # Activate pre-commit hooks
    pre-commit install

At this point running

    uv run -m exhaust_ma

Should output

   BattleResult(dead=[Warrior(name='imp.rc')], alive={Warrior(name='jaguar.rc')})

If it doesn't something has gone wrong, If you need further assistance open an issue and include all the output of all the commands you have run and I'll see what I can do.

Pull requests are more than welcome. As long as you've installed the pre-commit hooks most code style issues should be checked automatically.

Updating/adding tests is appreciated but by no means a requirement for a PR to get accepted.

License

GNU GENERAL PUBLIC LICENSE Version 2

Release files for exhaust-ma 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exhaust-ma 0.0.6
File Size Uploaded
exhaust_ma-0.0.6.tar.gz 51.8 kB Details

Release files / exhaust_ma-0.0.6.tar.gz

Download URL exhaust_ma-0.0.6.tar.gz
Size 51.8 kB
Tags Source
SHA-256 checksum
How to use checksums
62036ffe32f0dee66b9a579b630852343cb259835ce524936c7622d96b62b4ee
BLAKE2b-256 checksum
How to use checksums
09305729ffdd25a434d7f4807e1f62df60d4e404929a0ea296b55f01ee19c8bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.0.6 This release

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page