Performance of the MARS engine can be improved by roughly a factor of four with a few minor refactorings.
See https://github.com/dietmarwo/drq_fast_mars. If you are interested, I can open a PR.
Alternatively, you can copy mars.py and corewar_util.py from my fork:
This introduces one additional dependency—Numba—which accounts for most of the speedup.
A complete separation between the corewar base library and the drq sources no longer seems beneficial, so I placed mars.py under src/corewar.