ale-py
Advanced tools
| import os | ||
| import typing | ||
| from typing import List, Optional | ||
| import numpy as np | ||
| import numpy.typing as npt | ||
| from ale_py import _ale_py | ||
| __all__ = [ | ||
| "Action", | ||
| "ALEInterface", | ||
| "ALEState", | ||
| "LoggerMode", | ||
| "SDL_SUPPORT", | ||
| ] | ||
| class LoggerMode: | ||
| def __eq__(self, other: object) -> bool: ... | ||
| def __getstate__(self) -> int: ... | ||
| def __hash__(self) -> int: ... | ||
| def __index__(self) -> int: ... | ||
| def __init__(self, value: int) -> None: ... | ||
| def __int__(self) -> int: ... | ||
| def __ne__(self, other: object) -> bool: ... | ||
| def __repr__(self) -> str: ... | ||
| def __setstate__(self, state: int) -> None: ... | ||
| @property | ||
| def name(self) -> str: | ||
| """ | ||
| :type: str | ||
| """ | ||
| @property | ||
| def value(self) -> int: | ||
| """ | ||
| :type: int | ||
| """ | ||
| Error: _ale_py.LoggerMode # value = <LoggerMode.Error: 2> | ||
| Info: _ale_py.LoggerMode # value = <LoggerMode.Info: 0> | ||
| Warning: _ale_py.LoggerMode # value = <LoggerMode.Warning: 1> | ||
| __members__: dict # value = {'Info': <LoggerMode.Info: 0>, 'Warning': <LoggerMode.Warning: 1>, 'Error': <LoggerMode.Error: 2>} | ||
| pass | ||
| class Action: | ||
| def __eq__(self, other: object) -> bool: ... | ||
| def __getstate__(self) -> int: ... | ||
| def __hash__(self) -> int: ... | ||
| def __index__(self) -> int: ... | ||
| def __init__(self, value: int) -> None: ... | ||
| def __int__(self) -> int: ... | ||
| def __ne__(self, other: object) -> bool: ... | ||
| def __repr__(self) -> str: ... | ||
| def __setstate__(self, state: int) -> None: ... | ||
| @property | ||
| def name(self) -> str: | ||
| """ | ||
| :type: str | ||
| """ | ||
| @property | ||
| def value(self) -> int: | ||
| """ | ||
| :type: int | ||
| """ | ||
| DOWN: _ale_py.Action # value = <Action.DOWN: 5> | ||
| DOWNFIRE: _ale_py.Action # value = <Action.DOWNFIRE: 13> | ||
| DOWNLEFT: _ale_py.Action # value = <Action.DOWNLEFT: 9> | ||
| DOWNLEFTFIRE: _ale_py.Action # value = <Action.DOWNLEFTFIRE: 17> | ||
| DOWNRIGHT: _ale_py.Action # value = <Action.DOWNRIGHT: 8> | ||
| DOWNRIGHTFIRE: _ale_py.Action # value = <Action.DOWNRIGHTFIRE: 16> | ||
| FIRE: _ale_py.Action # value = <Action.FIRE: 1> | ||
| LEFT: _ale_py.Action # value = <Action.LEFT: 4> | ||
| LEFTFIRE: _ale_py.Action # value = <Action.LEFTFIRE: 12> | ||
| NOOP: _ale_py.Action # value = <Action.NOOP: 0> | ||
| RIGHT: _ale_py.Action # value = <Action.RIGHT: 3> | ||
| RIGHTFIRE: _ale_py.Action # value = <Action.RIGHTFIRE: 11> | ||
| UP: _ale_py.Action # value = <Action.UP: 2> | ||
| UPFIRE: _ale_py.Action # value = <Action.UPFIRE: 10> | ||
| UPLEFT: _ale_py.Action # value = <Action.UPLEFT: 7> | ||
| UPLEFTFIRE: _ale_py.Action # value = <Action.UPLEFTFIRE: 15> | ||
| UPRIGHT: _ale_py.Action # value = <Action.UPRIGHT: 6> | ||
| UPRIGHTFIRE: _ale_py.Action # value = <Action.UPRIGHTFIRE: 14> | ||
| __members__: dict # value = {'NOOP': <Action.NOOP: 0>, 'FIRE': <Action.FIRE: 1>, 'UP': <Action.UP: 2>, 'RIGHT': <Action.RIGHT: 3>, 'LEFT': <Action.LEFT: 4>, 'DOWN': <Action.DOWN: 5>, 'UPRIGHT': <Action.UPRIGHT: 6>, 'UPLEFT': <Action.UPLEFT: 7>, 'DOWNRIGHT': <Action.DOWNRIGHT: 8>, 'DOWNLEFT': <Action.DOWNLEFT: 9>, 'UPFIRE': <Action.UPFIRE: 10>, 'RIGHTFIRE': <Action.RIGHTFIRE: 11>, 'LEFTFIRE': <Action.LEFTFIRE: 12>, 'DOWNFIRE': <Action.DOWNFIRE: 13>, 'UPRIGHTFIRE': <Action.UPRIGHTFIRE: 14>, 'UPLEFTFIRE': <Action.UPLEFTFIRE: 15>, 'DOWNRIGHTFIRE': <Action.DOWNRIGHTFIRE: 16>, 'DOWNLEFTFIRE': <Action.DOWNLEFTFIRE: 17>} | ||
| pass | ||
| class ALEState: | ||
| def __eq__(self, other: ALEState) -> bool: ... | ||
| def __getstate__(self) -> tuple: ... | ||
| @typing.overload | ||
| def __init__(self) -> None: ... | ||
| @typing.overload | ||
| def __init__(self, state: ALEState, serialized: str) -> None: ... | ||
| @typing.overload | ||
| def __init__(self, serialized: str) -> None: ... | ||
| def __setstate__(self, state: tuple) -> None: ... | ||
| def equals(self, other: ALEState) -> bool: ... | ||
| def getCurrentMode(self) -> int: ... | ||
| def getDifficulty(self) -> int: ... | ||
| def getEpisodeFrameNumber(self) -> int: ... | ||
| def getFrameNumber(self) -> int: ... | ||
| def serialize(self) -> str: ... | ||
| __hash__ = None # type: ignore | ||
| pass | ||
| class ALEInterface: | ||
| def __init__(self) -> None: ... | ||
| @typing.overload | ||
| def act(self, action: Action) -> int: ... | ||
| @typing.overload | ||
| def act(self, action: int) -> int: ... | ||
| def cloneState(self, *, include_rng: bool = False) -> ALEState: ... | ||
| def cloneSystemState(self) -> ALEState: ... | ||
| def game_over(self, *, with_truncation: bool = True) -> bool: ... | ||
| def game_truncated(self) -> bool: ... | ||
| def getAvailableDifficulties(self) -> List[int]: ... | ||
| def getAvailableModes(self) -> List[int]: ... | ||
| def getBool(self, key: str) -> bool: ... | ||
| def getEpisodeFrameNumber(self) -> int: ... | ||
| def getFloat(self, key: str) -> float: ... | ||
| def getFrameNumber(self) -> int: ... | ||
| def getInt(self, key: str) -> int: ... | ||
| def getLegalActionSet(self) -> List[Action]: ... | ||
| def getMinimalActionSet(self) -> List[Action]: ... | ||
| @typing.overload | ||
| def getRAM(self) -> npt.NDArray[np.uint8]: ... | ||
| @typing.overload | ||
| def getRAM(self, arg0: npt.NDArray[np.uint8]) -> None: ... | ||
| def getRAMSize(self) -> int: ... | ||
| @typing.overload | ||
| def getScreen(self) -> npt.NDArray[np.uint8]: ... | ||
| @typing.overload | ||
| def getScreen(self, array: npt.NDArray[np.uint8]) -> None: ... | ||
| def getScreenDims(self) -> tuple: ... | ||
| @typing.overload | ||
| def getScreenGrayscale(self) -> npt.NDArray[np.uint8]: ... | ||
| @typing.overload | ||
| def getScreenGrayscale(self, array: npt.NDArray[np.uint8]) -> None: ... | ||
| @typing.overload | ||
| def getScreenRGB(self) -> npt.NDArray[np.uint8]: ... | ||
| @typing.overload | ||
| def getScreenRGB(self, array: npt.NDArray[np.uint8]) -> None: ... | ||
| def getString(self, key: str) -> str: ... | ||
| @staticmethod | ||
| @typing.overload | ||
| def isSupportedROM(rom: os.PathLike) -> Optional[str]: ... | ||
| @staticmethod | ||
| @typing.overload | ||
| def isSupportedROM(rom: str) -> Optional[str]: ... | ||
| def lives(self) -> int: ... | ||
| @typing.overload | ||
| def loadROM(self, rom: os.PathLike) -> None: ... | ||
| @typing.overload | ||
| def loadROM(self, rom: str) -> None: ... | ||
| def reset_game(self) -> None: ... | ||
| def restoreState(self, state: ALEState) -> None: ... | ||
| def restoreSystemState(self, state: ALEState) -> None: ... | ||
| def saveScreenPNG(self, path: str) -> None: ... | ||
| def setBool(self, key: str, value: bool) -> None: ... | ||
| def setDifficulty(self, difficulty: int) -> None: ... | ||
| def setFloat(self, key: str, value: float) -> None: ... | ||
| def setInt(self, key: str, value: int) -> None: ... | ||
| @staticmethod | ||
| def setLoggerMode(mode: LoggerMode) -> None: ... | ||
| def setMode(self, mode: int) -> None: ... | ||
| def setRAM(self, index: int, value: int) -> None: ... | ||
| def setString(self, key: str, value: str) -> None: ... | ||
| pass | ||
| SDL_SUPPORT: bool | ||
| __version__: str |
@@ -419,1 +419,8 @@ import sys | ||
| return self._obs_space | ||
| @property | ||
| def render_mode(self) -> str: | ||
| """ | ||
| Attribute render_mode to comply Gym API. | ||
| """ | ||
| return self._render_mode |
@@ -6,3 +6,2 @@ import functools | ||
| import sys | ||
| import threading | ||
| import warnings | ||
@@ -9,0 +8,0 @@ from typing import List, Optional |
@@ -100,4 +100,4 @@ # The following is a list of the md5 checksums for the various roms supported by ALE. | ||
| 539d26b6e9df0da8e7465f0f5ad863b7 video_checkers.bin | ||
| f0b7db930ca0e548c41a97160b9f6275 videochess.bin | ||
| 3f540a30fdee0b20aed7288e4a5ea528 videocube.bin | ||
| f0b7db930ca0e548c41a97160b9f6275 video_chess.bin | ||
| 3f540a30fdee0b20aed7288e4a5ea528 video_cube.bin | ||
| 107cc025334211e6d29da0b6be46aec7 video_pinball.bin | ||
@@ -104,0 +104,0 @@ 7e8aa18bc9502eb57daaf5e7c1e94da7 wizard_of_wor.bin |
@@ -0,1 +1,6 @@ | ||
| import re | ||
| _ROM_NAME_TO_ID_RE = re.compile(r"([0-9]*[A-Z][a-z]*(\d*$)?)") | ||
| def rom_id_to_name(rom: str) -> str: | ||
@@ -24,4 +29,2 @@ """ | ||
| """ | ||
| return "".join( | ||
| map(lambda ch: "_" + ch.lower() if ch.isupper() else ch, rom) | ||
| ).lstrip("_") | ||
| return _ROM_NAME_TO_ID_RE.sub(r"\1_", rom).lower().rstrip("_") |
+1
-1
| Metadata-Version: 2.1 | ||
| Name: ale-py | ||
| Version: 0.8.0 | ||
| Version: 0.8.1 | ||
| Summary: The Arcade Learning Environment (ALE) - a platform for AI research. | ||
@@ -5,0 +5,0 @@ Author: Marc G. Bellemare, Yavar Naddaf, Joel Veness, Michael Bowling |
+15
-14
@@ -0,20 +1,21 @@ | ||
| ale_py/gym.py,sha256=XWMncw-QofvtvYPJbW7G38G--Hwixc876pmMTSU6dGc,5403 | ||
| ale_py/__init__.pyi,sha256=g3jt2cKK8uqS-Xs3SgscZfI15c7f3bmHb41vV-djE5M,6834 | ||
| ale_py/_ale_py.cpython-310-darwin.so,sha256=taTTUpY8yiJZQBWbiWaFP7_UOmrwWq5ojgD-9d6sIi4,2093672 | ||
| ale_py/__init__.py,sha256=VIsw3ndD4g3C2CtyvfGbeE-Bfn_drkhehRjlLTT1hJU,1717 | ||
| ale_py/_ale_py.cpython-310-darwin.so,sha256=-BNlsqAwzVGv6bAb3LCVgSXbkMsxZ2lXzQFiwGjvfZ0,2093016 | ||
| ale_py/gym.py,sha256=XWMncw-QofvtvYPJbW7G38G--Hwixc876pmMTSU6dGc,5403 | ||
| ale_py/libSDL2-2.0.dylib,sha256=cK2glDt5GroPsFv7ZEW1c3wdj8YqaA512a88qjUFpzI,1457040 | ||
| ale_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 | ||
| ale_py/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 | ||
| ale_py/env/gym.py,sha256=zaGhXDoRCLttF7cr4jAi9RwQkQfHxDjdrjsMkQ3y5e0,15838 | ||
| ale_py/roms/__init__.py,sha256=MHpvT5pCaafyb7S67VV_u_0yH_I5bXjZZGinJq9C1Mc,5198 | ||
| ale_py/roms/md5.txt,sha256=Ymb95rZ5J4v_Vx9aX-_k6-Vk0LuvBXl9TEyUSEJHPFk,4988 | ||
| ale_py/libSDL2-2.0.dylib,sha256=KPp35ygdbwzrvaWj-F68-ceb2dNXhIL1dExeFmCKEIY,1489704 | ||
| ale_py/roms/plugins.py,sha256=jztygINEe0E9IUx69A7oljRYjGEtZCZZtEO1qwAG79Y,3071 | ||
| ale_py/roms/__init__.py,sha256=6pLm1mu8fUCefomjcYqezzKlGioLkf19nq-NyWBDdP0,5181 | ||
| ale_py/roms/tetris.bin,sha256=NtW10yIvAHyo42kc_Bf2OYAUU7mEOLEoLf1pWuRHUvY,2048 | ||
| ale_py/roms/utils.py,sha256=hvwKMCK6QepQXyz3vHayqixZKFQAr56ULbxzHbs_EmE,792 | ||
| ale_py/roms/md5.txt,sha256=S0TETrS_MMNJJRLE5tT5NAFvRmPV1aRtNZ4fT4I37Ow,4990 | ||
| ale_py/roms/utils.py,sha256=vjngvPcXYQ5ckKznWYuB_NC9tEB7YPDMNqhXVEsunmM,827 | ||
| ale_py/env/gym.py,sha256=uRqAQaTfFuIPI1RClcNf9r0SP6gjizpSP25iB7Vj1QQ,15993 | ||
| ale_py/env/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 | ||
| ale_py/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 | ||
| ale_py/scripts/import_roms.py,sha256=mUIAp0Gs6VCduy6MF8shB48n4mtXOTyYxWhtCFHnmjE,2949 | ||
| ale_py-0.8.0.dist-info/LICENSE.md,sha256=MVVce6oSrBFQvJpI-22FtV2c6hM2rjr6k9ZT9o_km7I,17879 | ||
| ale_py-0.8.0.dist-info/METADATA,sha256=4V61tDj0Gx6wy5OA4jXMIGUZsyYPjJFVQlsNFBItK8E,8101 | ||
| ale_py-0.8.0.dist-info/WHEEL,sha256=Mp26lirrtUNzLUWsPKBAjl3RVvrCg7YEjI0nue_kNcE,112 | ||
| ale_py-0.8.0.dist-info/entry_points.txt,sha256=y-Mjhw52560lZExLGDF_6BxsRWWHyU8yh0-_I_dvQbM,166 | ||
| ale_py-0.8.0.dist-info/top_level.txt,sha256=CjHTcYlCUfmSaCGbLLpKEKIY5hZteuawsHZy3TWVyNk,7 | ||
| ale_py-0.8.0.dist-info/RECORD,, | ||
| ale_py-0.8.1.dist-info/LICENSE.md,sha256=MVVce6oSrBFQvJpI-22FtV2c6hM2rjr6k9ZT9o_km7I,17879 | ||
| ale_py-0.8.1.dist-info/RECORD,, | ||
| ale_py-0.8.1.dist-info/WHEEL,sha256=zst1g9R8aYeeErNlettjC8XiRzZ23gBXlMBKueiQ9-0,112 | ||
| ale_py-0.8.1.dist-info/entry_points.txt,sha256=y-Mjhw52560lZExLGDF_6BxsRWWHyU8yh0-_I_dvQbM,166 | ||
| ale_py-0.8.1.dist-info/top_level.txt,sha256=CjHTcYlCUfmSaCGbLLpKEKIY5hZteuawsHZy3TWVyNk,7 | ||
| ale_py-0.8.1.dist-info/METADATA,sha256=5zOH3do0wQaxapvNNdNSg13mNlPUdNLnOLXR7OzK5Hs,8101 |
+1
-1
| Wheel-Version: 1.0 | ||
| Generator: bdist_wheel (0.37.1) | ||
| Generator: bdist_wheel (0.38.4) | ||
| Root-Is-Purelib: false | ||
| Tag: cp310-cp310-macosx_10_15_x86_64 | ||
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.