* add pygame GUI for frozen_lake.py env
* add new line at EOF
* pre-commit reformat
* improve graphics
* new images and dynamic window size
* darker tile borders and fix ICC profile
* pre-commit hook
* adjust elf and stool size
* Update frozen_lake.py
* reformat
* fix#2600
* #2600
* add rgb_array support
* reformat
* test render api change on FrozenLake
* add render support for reset on frozenlake
* add clock on pygame render
* new render api for blackjack
* new render api for cliffwalking
* new render api for Env class
* update reset method, lunar and Env
* fix wrapper
* fix reset lunar
* new render api for box2d envs
* new render api for mujoco envs
* fix bug
* new render api for classic control envs
* fix tests
* add render_mode None for CartPole
* new render api for test fake envs
* pre-commit hook
* fix FrozenLake
* fix FrozenLake
* more render_mode to super - frozenlake
* remove kwargs from frozen_lake new
* pre-commit hook
* add deprecated render method
* add backwards compatibility
* fix test
* add _render
* move pygame.init() (avoid pygame dependency on init)
* fix pygame dependencies
* remove collect_render() maintain multi-behaviours .render()
* add type hints
* fix renderer
* don't call .render() with None
* improve docstring
* add single_rgb_array to all envs
* remove None from metadata["render_modes"]
* add type hints to test_env_checkers
* fix lint
* add comments to renderer
* add comments to single_depth_array and single_state_pixels
* reformat
* add deprecation warnings and env.render_mode declaration
* fix lint
* reformat
* fix tests
* add docs
* fix car racing determinism
* remove warning test envs, customizable modes on renderer
* remove commments and add todo for env_checker
* fix car racing
* replace render mode check with assert
* update new mujoco
* reformat
* reformat
* change metaclass definition
* fix tests
* implement mark suggestions (test, docs, sets)
* check_render
Co-authored-by: J K Terry <jkterry0@gmail.com>
* Updated docstrings using darglint, ignoring 402 and 202 plus shortened lines into multiple where they were overflowing
* Remove abstract method decorators, for a future PR
* Add __future__ import annotation for python 3.7+ notion
* Added missing bracket
* Fix minor docstring tables
* Place try except around all imports for pygame and optional modules in box2d, classic_control and toy_text
* Updated all ImportErrors to DependencyNotInstalled
* Re-add comment on why pygame is imported
* Remove additional ignores from flake8
* Remove all unused imports
* Remove all unused imports
* Update flake8 and pyupgrade
* F841, removed unused variables
* E731, removed lambda assignment to variables
* Remove E731, F403, F405, F524
* Remove E722, bare exceptions
* Remove E712, compare variable == True or == False to is True or is False
* Remove E402, module level import not at top of file
* Added --pre-file-ignores
* Add --per-file-ignores removing E741, E302 and E704
* Add E741, do not use variables named ‘l’, ‘O’, or ‘I’ to ignore issues in classic control
* Fixed issues for pytest==6.2
* Remove unnecessary # noqa
* Edit comment with the removal of E302
* Added warnings and declared module, attr for pyright type hinting
* Remove unused import
* Removed flake8 E302
* Updated flake8 from 3.9.2 to 4.0.1
* Remove unused variable
* Updated cartpole-v0 to v1 to prevent warning and added pytest.mark.filterwarnings for tests where warnings are unavoidable
* Change np.bool to bool as numpy raises a warning and bool is the suggested solution
* Seeding randint is deprecated in the future, integers is new solution
* Fixed errors thrown when the video recorder is deleted but not closed
* spaces.Box expects a floating array, updated all cases where this was not true and modified float32 to float64 as float array default to float64. Otherwise space.Box raises warning that dtype precision (float32) is lower than array precision (float64).
* Added pytest.mark.filterwarnings to preventing the raising of an intended warning
* Added comment to explain why a warning is raised that can't be prevented without version update to the environment
* Added comment to explain why warning is raised
* Changed values to float as expected by the box which default to float64
* Removed --forked from pytest as the pytest-forked project is no being maintained and was not raising warnings as expected
* When AsyncVectorEnv has shared_memory=True then a ValueError is raised before _state is initialised. Therefore, on the destruction on the env an error is thrown in .close_extra as _state does not exist
* Possible fix that was causing an error in test_call_async_vector_env by ensuring that pygame resources are released
* Pygame throws an error with ALSA when closed, using a fix from PettingZoo (https://github.com/Farama-Foundation/PettingZoo/blob/master/pettingzoo/__init__.py). We use the dsp audiodriver to prevent this issue
* Modification due to running pre-commit locally
* Updated cartpole-v0 to v1 to prevent warning and added pytest.mark.filterwarnings for tests where warnings are unavoidable
* Change np.bool to bool as numpy raises a warning and bool is the suggested solution
* Seeding randint is deprecated in the future, integers is new solution
* Fixed errors thrown when the video recorder is deleted but not closed
* spaces.Box expects a floating array, updated all cases where this was not true and modified float32 to float64 as float array default to float64. Otherwise space.Box raises warning that dtype precision (float32) is lower than array precision (float64).
* Added pytest.mark.filterwarnings to preventing the raising of an intended warning
* Added comment to explain why a warning is raised that can't be prevented without version update to the environment
* Added comment to explain why warning is raised
* Changed values to float as expected by the box which default to float64
* Removed --forked from pytest as the pytest-forked project is no being maintained and was not raising warnings as expected
* When AsyncVectorEnv has shared_memory=True then a ValueError is raised before _state is initialised. Therefore, on the destruction on the env an error is thrown in .close_extra as _state does not exist
* Possible fix that was causing an error in test_call_async_vector_env by ensuring that pygame resources are released
* Pygame throws an error with ALSA when closed, using a fix from PettingZoo (https://github.com/Farama-Foundation/PettingZoo/blob/master/pettingzoo/__init__.py). We use the dsp audiodriver to prevent this issue
* Modification due to running pre-commit locally
* Locked framerate in human-mode rendering for box2d and classic_control
* Fixed pyright errors
* Use the new metadata key for FPS, add toytext environments
* Update pendulum.py
* version warnings
* black
* try except
* update notices version
* Exception
* nosec
* black
* no loop, stderr
* black
* convert ## to ###
* correct subheader
* black
* despace
* spacing
* frozen lake fixes
* rename render modes/fps
* fix API test
* fix API test
* fix more API tests
* black
* add render fps
* initial draft of optional info dict in reset function, implemented for cartpole, tests seem to be passing
* merged core.py
* updated return type annotation for reset function in core.py
* optional metadata with return_info from reset added for all first party environments, with corresponding tests. Incomplete implementation for wrappers and vector wrappers
* removed Optional type for return_info arguments
* added tests for return_info to normalize wrapper and sync_vector_env
* autoformatted using black
* added optional reset metadata tests to several wrappers
* added return_info capability to async_vector_env.py and test to verify functionality
* added optional return_info test for record_video.py
* removed tests for mujoco environments
* autoformatted
* improved test coverage for optional reset return_info
* re-removed unit test envs accidentally reintroduced in merge
* removed unnecessary import
* changes based on code-review
* small fix to core wrapper typing and autoformatted record_epsisode_stats
* small change to pass flake8 style
* docs+credits
* docs: refactor box2d + comment version history
* fix mujoco line lengths
* fix more env line lengths
* black
* typos
* put docstrings in base environments rather than highest version
* fix richer reacher
* black
* correct black version
* continuous mountain car docstring to markdown
* remove unneeded images
* black
Co-authored-by: Andrea PIERRÉ <andrea_pierre@brown.edu>
* docs+credits
* docs: refactor box2d + comment version history
* fix mujoco line lengths
* fix more env line lengths
* black
* typos
Co-authored-by: Andrea PIERRÉ <andrea_pierre@brown.edu>
* First find/replace, now tests
* Fixes to the vector env
* Make seed keyword only in wrappers
* (try to) fix the bug with old environments using new wrappers (with the seed keyword)
* black
* Change **kwargs to options, try to make it work; black
* Add OrderEnforcing wrapper to wrapper exports
Add a test for compatibility with old (pybullet-like) envs
* Add OrderEnforcing wrapper to wrapper exports
Add a test for compatibility with old (pybullet-like) envs
black
* Update the env checker
* Update the env checker
* Update the env checker to use inspect (might fail tests, let's see)
* Allow the signature to include kwargs in env_checker
* Minor fix
* Ditch most of the seeding.py and replace np_random with the numpy default_rng. Let's see if tests pass
* Updated a bunch of RNG calls from the RandomState API to Generator API
* black; didn't expect that, did ya?
* Undo a typo
* blaaack
* More typo fixes
* Fixed setting/getting state in multidiscrete spaces
* Fix typo, fix a test to work with the new sampling
* Correctly (?) pass the randomly generated seed if np_random is called with None as seed
* Convert the Discrete sample to a python int (as opposed to np.int64)
* Remove some redundant imports
* First version of the compatibility layer for old-style RNG. Mainly to trigger tests.
* Removed redundant f-strings
* Style fixes, removing unused imports
* Try to make tests pass by removing atari from the dockerfile
* Try to make tests pass by removing atari from the setup
* Try to make tests pass by removing atari from the setup
* Try to make tests pass by removing atari from the setup
* First attempt at deprecating `env.seed` and supporting `env.reset(seed=seed)` instead. Tests should hopefully pass but throw up a million warnings.
* black; didn't expect that, didya?
* Rename the reset parameter in VecEnvs back to `seed`
* Updated tests to use the new seeding method
* Removed a bunch of old `seed` calls.
Fixed a bug in AsyncVectorEnv
* Stop Discrete envs from doing part of the setup (and using the randomness) in init (as opposed to reset)
* Add explicit seed to wrappers reset
* Remove an accidental return
* Re-add some legacy functions with a warning.
* Use deprecation instead of regular warnings for the newly deprecated methods/functions
* Update pendulum.py
I have added the description of the class as much as I could, it needs to be completed.
* Update pendulum.py
* Update pendulum.py
* Update pendulum.py
* Update pendulum.py
* Update pendulum.py
I think the observation space is Box(1) as per the __init__ func.
* Pendulum env updates
Simplify the math a bit (no difference in behavior)
* Reorder the clipping of angular velocity
* Bump version of Pendulum
* black
* Update mentions of Pendulum-v0 to Pendulum-v1.
* Changed the dtypes of classic control envs to float32
* Fixed formatting via black
* Added dtype tests
* Formatting, and test error message
* Only test dtypes for Box space
* Fix Bipedal Walker and Car Racing
* Undo the car racing dtype change
* Redo the car racing dtype change - set to np.float32, and updated observation_space to reflect it
* Added pendulumV2 with SI units
* Added pendulumV2 with SI units
* Fix gravity constant
* Delete pendulumV2.py
* Update pendulum.py
* Update pendulum.py
* Update pendulum.py
* add dtype to Box
* remove board_game, debugging, safety, parameter_tuning environments
* massive set of breaking changes
- remove python logging module
- _step, _reset, _seed, _close => non underscored method
- remove benchmark and scoring folder
* Improve render("human"), now resizable, closable window.
* get rid of default step and reset in wrappers, so it doesn’t silently fail for people with underscore methods
* CubeCrash unit test environment
* followup fixes
* MemorizeDigits unit test envrionment
* refactored spaces a bit
fixed indentation
disabled test_env_semantics
* fix unit tests
* fixes
* CubeCrash, MemorizeDigits tested
* gym backwards compatibility patch
* gym backwards compatibility, followup fixes
* changelist, add spaces to main namespaces
* undo_logger_setup for backwards compat
* remove configuration.py
* added continuous mountain car v0
* spotted that the action should be a vector, not a scalar
* fixed bug on action format
* bug fixed in scoreboard registering
* the observation (aka state) should be a numpy array
* added comment on reward range as requested
* Make environments seedable
* Fix monitor bugs
- Set monitor_id before setting the infix. This was a bug that would yield incorrect results with multiple monitors.
- Remove extra pid from stats recorder filename. This should be purely cosmetic.
* Start uploading seeds in episode_batch
* Fix _bigint_from_bytes for python3
* Set seed explicitly in random_agent
* Pass through seed argument
* Also pass through random state to spaces
* Pass random state into the observation/action spaces
* Make all _seed methods return the list of used seeds
* Switch over to np.random where possible
* Start hashing seeds, and also seed doom engine
* Fixup seeding determinism in many cases
* Seed before loading the ROM
* Make seeding more Python3 friendly
* Make the MuJoCo skipping a bit more forgiving
* Remove debugging PDB calls
* Make setInt argument into raw bytes
* Validate and upload seeds
* Skip box2d
* Make seeds smaller, and change representation of seeds in upload
* Handle long seeds
* Fix RandomAgent example to be deterministic
* Handle integer types correctly in Python2 and Python3
* Try caching pip
* Try adding swap
* Add df and free calls
* Bump swap
* Bump swap size
* Try setting overcommit
* Try other sysctls
* Try fixing overcommit
* Try just setting overcommit_memory=1
* Add explanatory comment
* Add what's new section to readme
* BUG: Mark ElevatorAction-ram-v0 as non-deterministic for now
* Document seed
* Move nondetermistic check into spec