nes-py


Namenes-py JSON
Version 8.2.1 PyPI version JSON
download
home_pagehttps://github.com/Kautenja/nes-py
SummaryAn NES Emulator and OpenAI Gym interface
upload_time2022-06-21 03:44:53
maintainer
docs_urlNone
authorChristian Kauten
requires_python
licenseMIT
keywords nes emulator openai-gym
VCS
bugtrack_url
requirements gym numpy pyglet tqdm twine
Travis-CI
coveralls test coverage No coveralls.
            <p align="center">
<img
    src="https://user-images.githubusercontent.com/2184469/42918029-a8364c66-8ad1-11e8-8147-2653091ccd38.png"
    width="50%"
/>
</p>

[![build-status][]][ci-server]
[![PackageVersion][pypi-version]][pypi-home]
[![PythonVersion][python-version]][python-home]
[![Stable][pypi-status]][pypi-home]
[![Format][pypi-format]][pypi-home]
[![License][pypi-license]](LICENSE)

[build-status]: https://app.travis-ci.com/Kautenja/nes-py.svg?branch=master
[ci-server]: https://app.travis-ci.com/Kautenja/nes-py
[pypi-version]: https://badge.fury.io/py/nes-py.svg
[pypi-license]: https://img.shields.io/pypi/l/nes-py.svg
[pypi-status]: https://img.shields.io/pypi/status/nes-py.svg
[pypi-format]: https://img.shields.io/pypi/format/nes-py.svg
[pypi-home]: https://badge.fury.io/py/nes-py
[python-version]: https://img.shields.io/pypi/pyversions/nes-py.svg
[python-home]: https://python.org

nes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and
Windows based on the [SimpleNES](https://github.com/amhndu/SimpleNES) emulator.

<table align="center">
    <tr>
        <td>
            <img
                width="256"
                alt="Bomberman II"
                src="https://user-images.githubusercontent.com/2184469/84821320-8c52e780-afe0-11ea-820a-662d0e54fc90.png"
            />
        </td>
        <td>
             <img
                width="256"
                alt="Castelvania II"
                src="https://user-images.githubusercontent.com/2184469/84821323-8ceb7e00-afe0-11ea-89f1-56d379ae4286.png"
            />
        </td>
        <td>
            <img
                width="256"
                alt="Excitebike"
                src="https://user-images.githubusercontent.com/2184469/84821325-8d841480-afe0-11ea-9ae2-599b83af6f65.png"
            />
        </td>
    </tr>
    <tr>
        <td>
            <img
                width="256"
                alt="Super Mario Bros."
                src="https://user-images.githubusercontent.com/2184469/84821327-8d841480-afe0-11ea-8172-d564aca35b5e.png"
            />
        </td>
        <td>
            <img
                width="256"
                alt="The Legend of Zelda"
                src="https://user-images.githubusercontent.com/2184469/84821329-8d841480-afe0-11ea-9a57-c9daca04ed3b.png"
            />
        </td>
        <td>
            <img
                 width="256"
                 alt="Tetris"
                 src="https://user-images.githubusercontent.com/2184469/84822244-fc15a200-afe1-11ea-81de-2323845d7537.png"
            />
        </td>
    </tr>
    <tr>
        <td>
            <img
                 width="256"
                 alt="Contra"
                 src="https://user-images.githubusercontent.com/2184469/84822247-fcae3880-afe1-11ea-901d-1ef5e8378989.png"
            />
        </td>
        <td>
            <img
                 width="256"
                 alt="Mega Man II"
                 src="https://user-images.githubusercontent.com/2184469/84822249-fcae3880-afe1-11ea-8271-9e898933e571.png"
            />
        </td>
        <td>
            <img
                width="256"
                alt="Bubble Bobble"
                src="https://user-images.githubusercontent.com/2184469/84822551-79411700-afe2-11ea-9ed6-947d78f29e8f.png"
            />
        </td>
    </tr>
</table>

# Installation

The preferred installation of `nes-py` is from `pip`:

```shell
pip install nes-py
```

## Debian

Make sure you have the `clang++` compiler installed:

```shell
sudo apt-get install clang
```

## Windows

You'll need to install the Visual-Studio 17.0 tools for Windows installation.
The [Visual Studio Community](https://visualstudio.microsoft.com/downloads/)
package provides these tools for free.

# Usage

To access the NES emulator from the command line use the following command.

```shell
nes_py -r <path_to_rom>
```

To print out documentation for the command line interface execute:

```shell
nes_py -h
```

## Controls

| Keyboard Key | NES Joypad    |
|:-------------|:--------------|
| W            | Up            |
| A            | Left          |
| S            | Down          |
| D            | Right         |
| O            | A             |
| P            | B             |
| Enter        | Start         |
| Space        | Select        |

## Parallelism Caveats

both the `threading` and `multiprocessing` packages are supported by
`nes-py` with some caveats related to rendering:

1.  rendering **is not** supported from instances of `threading.Thread`
2.  rendering **is** supported from instances of `multiprocessing.Process`,
    but `nes-py` must be imported within the process that executes the render
    call

# Development

To design a custom environment using `nes-py`, introduce new features, or fix
a bug, please refer to the [Wiki](https://github.com/Kautenja/nes-py/wiki).
There you will find instructions for:

-   setting up the development environment
-   designing environments based on the `NESEnv` class
-   reference material for the `NESEnv` API
-   documentation for the `nes_py.wrappers` module

# Cartridge Mapper Compatibility

0.  NROM
1.  MMC1 / SxROM
2.  UxROM
3.  CNROM

You can check the compatibility for each ROM in the following
[list](https://github.com/Kautenja/nes-py/blob/master/nesmapper.txt)

# Disclaimer

**This project is provided for educational purposes only. It is not
affiliated with and has not been approved by Nintendo.**



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Kautenja/nes-py",
    "name": "nes-py",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "NES Emulator OpenAI-Gym",
    "author": "Christian Kauten",
    "author_email": "kautencreations@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/04/6b/51c9efe4fc67a9311b1125a19ec7a6176c8f0b8334e418d7f5bc53aeec56/nes_py-8.2.1.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n<img\n    src=\"https://user-images.githubusercontent.com/2184469/42918029-a8364c66-8ad1-11e8-8147-2653091ccd38.png\"\n    width=\"50%\"\n/>\n</p>\n\n[![build-status][]][ci-server]\n[![PackageVersion][pypi-version]][pypi-home]\n[![PythonVersion][python-version]][python-home]\n[![Stable][pypi-status]][pypi-home]\n[![Format][pypi-format]][pypi-home]\n[![License][pypi-license]](LICENSE)\n\n[build-status]: https://app.travis-ci.com/Kautenja/nes-py.svg?branch=master\n[ci-server]: https://app.travis-ci.com/Kautenja/nes-py\n[pypi-version]: https://badge.fury.io/py/nes-py.svg\n[pypi-license]: https://img.shields.io/pypi/l/nes-py.svg\n[pypi-status]: https://img.shields.io/pypi/status/nes-py.svg\n[pypi-format]: https://img.shields.io/pypi/format/nes-py.svg\n[pypi-home]: https://badge.fury.io/py/nes-py\n[python-version]: https://img.shields.io/pypi/pyversions/nes-py.svg\n[python-home]: https://python.org\n\nnes-py is an NES emulator and OpenAI Gym interface for MacOS, Linux, and\nWindows based on the [SimpleNES](https://github.com/amhndu/SimpleNES) emulator.\n\n<table align=\"center\">\n    <tr>\n        <td>\n            <img\n                width=\"256\"\n                alt=\"Bomberman II\"\n                src=\"https://user-images.githubusercontent.com/2184469/84821320-8c52e780-afe0-11ea-820a-662d0e54fc90.png\"\n            />\n        </td>\n        <td>\n             <img\n                width=\"256\"\n                alt=\"Castelvania II\"\n                src=\"https://user-images.githubusercontent.com/2184469/84821323-8ceb7e00-afe0-11ea-89f1-56d379ae4286.png\"\n            />\n        </td>\n        <td>\n            <img\n                width=\"256\"\n                alt=\"Excitebike\"\n                src=\"https://user-images.githubusercontent.com/2184469/84821325-8d841480-afe0-11ea-9ae2-599b83af6f65.png\"\n            />\n        </td>\n    </tr>\n    <tr>\n        <td>\n            <img\n                width=\"256\"\n                alt=\"Super Mario Bros.\"\n                src=\"https://user-images.githubusercontent.com/2184469/84821327-8d841480-afe0-11ea-8172-d564aca35b5e.png\"\n            />\n        </td>\n        <td>\n            <img\n                width=\"256\"\n                alt=\"The Legend of Zelda\"\n                src=\"https://user-images.githubusercontent.com/2184469/84821329-8d841480-afe0-11ea-9a57-c9daca04ed3b.png\"\n            />\n        </td>\n        <td>\n            <img\n                 width=\"256\"\n                 alt=\"Tetris\"\n                 src=\"https://user-images.githubusercontent.com/2184469/84822244-fc15a200-afe1-11ea-81de-2323845d7537.png\"\n            />\n        </td>\n    </tr>\n    <tr>\n        <td>\n            <img\n                 width=\"256\"\n                 alt=\"Contra\"\n                 src=\"https://user-images.githubusercontent.com/2184469/84822247-fcae3880-afe1-11ea-901d-1ef5e8378989.png\"\n            />\n        </td>\n        <td>\n            <img\n                 width=\"256\"\n                 alt=\"Mega Man II\"\n                 src=\"https://user-images.githubusercontent.com/2184469/84822249-fcae3880-afe1-11ea-8271-9e898933e571.png\"\n            />\n        </td>\n        <td>\n            <img\n                width=\"256\"\n                alt=\"Bubble Bobble\"\n                src=\"https://user-images.githubusercontent.com/2184469/84822551-79411700-afe2-11ea-9ed6-947d78f29e8f.png\"\n            />\n        </td>\n    </tr>\n</table>\n\n# Installation\n\nThe preferred installation of `nes-py` is from `pip`:\n\n```shell\npip install nes-py\n```\n\n## Debian\n\nMake sure you have the `clang++` compiler installed:\n\n```shell\nsudo apt-get install clang\n```\n\n## Windows\n\nYou'll need to install the Visual-Studio 17.0 tools for Windows installation.\nThe [Visual Studio Community](https://visualstudio.microsoft.com/downloads/)\npackage provides these tools for free.\n\n# Usage\n\nTo access the NES emulator from the command line use the following command.\n\n```shell\nnes_py -r <path_to_rom>\n```\n\nTo print out documentation for the command line interface execute:\n\n```shell\nnes_py -h\n```\n\n## Controls\n\n| Keyboard Key | NES Joypad    |\n|:-------------|:--------------|\n| W            | Up            |\n| A            | Left          |\n| S            | Down          |\n| D            | Right         |\n| O            | A             |\n| P            | B             |\n| Enter        | Start         |\n| Space        | Select        |\n\n## Parallelism Caveats\n\nboth the `threading` and `multiprocessing` packages are supported by\n`nes-py` with some caveats related to rendering:\n\n1.  rendering **is not** supported from instances of `threading.Thread`\n2.  rendering **is** supported from instances of `multiprocessing.Process`,\n    but `nes-py` must be imported within the process that executes the render\n    call\n\n# Development\n\nTo design a custom environment using `nes-py`, introduce new features, or fix\na bug, please refer to the [Wiki](https://github.com/Kautenja/nes-py/wiki).\nThere you will find instructions for:\n\n-   setting up the development environment\n-   designing environments based on the `NESEnv` class\n-   reference material for the `NESEnv` API\n-   documentation for the `nes_py.wrappers` module\n\n# Cartridge Mapper Compatibility\n\n0.  NROM\n1.  MMC1 / SxROM\n2.  UxROM\n3.  CNROM\n\nYou can check the compatibility for each ROM in the following\n[list](https://github.com/Kautenja/nes-py/blob/master/nesmapper.txt)\n\n# Disclaimer\n\n**This project is provided for educational purposes only. It is not\naffiliated with and has not been approved by Nintendo.**\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An NES Emulator and OpenAI Gym interface",
    "version": "8.2.1",
    "project_urls": {
        "Homepage": "https://github.com/Kautenja/nes-py"
    },
    "split_keywords": [
        "nes",
        "emulator",
        "openai-gym"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ecf6d474ae0de47c6ede2cc2b6f00b48db81e51b5ac4b10bf52eefb64f9df957",
                "md5": "0e037097f864a999073151e0d9390d96",
                "sha256": "3fc6502a9eb502fe0af3848e9a2669f2eda5d9087a411214d3d330b24a2fea43"
            },
            "downloads": -1,
            "filename": "nes_py-8.2.1-cp39-cp39-macosx_11_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0e037097f864a999073151e0d9390d96",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 54342,
            "upload_time": "2022-06-21T03:44:50",
            "upload_time_iso_8601": "2022-06-21T03:44:50.903797Z",
            "url": "https://files.pythonhosted.org/packages/ec/f6/d474ae0de47c6ede2cc2b6f00b48db81e51b5ac4b10bf52eefb64f9df957/nes_py-8.2.1-cp39-cp39-macosx_11_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "046b51c9efe4fc67a9311b1125a19ec7a6176c8f0b8334e418d7f5bc53aeec56",
                "md5": "89c2c1c809f82d3cc03714660dcac133",
                "sha256": "82f6cb9a6f065fb4b248951a6e334cfeb2a3c83316b7c95cfe3dbe176e6c854a"
            },
            "downloads": -1,
            "filename": "nes_py-8.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "89c2c1c809f82d3cc03714660dcac133",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 77667,
            "upload_time": "2022-06-21T03:44:53",
            "upload_time_iso_8601": "2022-06-21T03:44:53.103532Z",
            "url": "https://files.pythonhosted.org/packages/04/6b/51c9efe4fc67a9311b1125a19ec7a6176c8f0b8334e418d7f5bc53aeec56/nes_py-8.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-06-21 03:44:53",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Kautenja",
    "github_project": "nes-py",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "gym",
            "specs": [
                [
                    ">=",
                    "0.17.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.18.5"
                ]
            ]
        },
        {
            "name": "pyglet",
            "specs": [
                [
                    ">=",
                    "1.4.0"
                ],
                [
                    "<=",
                    "1.5.21"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.48.2"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    ">=",
                    "1.11.0"
                ]
            ]
        }
    ],
    "lcname": "nes-py"
}
        
Elapsed time: 0.07229s