An NES Emulator and OpenAI Gym interface
nes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and Windows based on the SimpleNES emulator.
The preferred installation of
nes-py is from
pip install nes-py
Make sure you have the
clang++ compiler installed:
sudo apt-get install clang
You'll need to install the Visual-Studio 17.0 tools for Windows installation. The Visual Studio Community package provides these tools for free.
To access the NES emulator from the command line use the following command.
nes_py -r <path_to_rom>
To print out documentation for the command line interface execute:
|Keyboard Key||NES Joypad|
multiprocessing packages are supported by
nes-py with some caveats related to rendering:
- rendering is not supported from instances of
- rendering is supported from instances of
nes-pymust be imported within the process that executes the render call
To design a custom environment using
nes-py, introduce new features, or fix
a bug, please refer to the Wiki.
There you will find instructions for:
- setting up the development environment
- designing environments based on the
- reference material for the
- documentation for the
Cartridge Mapper Compatibility
- MMC1 / SxROM
You can check the compatibility for each ROM in the following list
This project is provided for educational purposes only. It is not affiliated with and has not been approved by Nintendo.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for nes_py-8.1.8-cp39-cp39-macosx_11_0_x86_64.whl