* initial commit
* Fix CI
* Fixed CI
* third time the charm
* Fix mujoco environment render modes order
* Remove unnecessary changes
* pre-commit
* Fix tests
* Comment out test render modes
* Fix code review and readd mujoco
* pre-commit
* Fix testing envs
* Fix all GenericTestEnvs
* Do not run mujoco-py render environments
* removed return_info, made info dict mandatory in reset
* tenatively removed deprecated seed api for environments
* added more info type checks to wrapper tests
* formatting/style compliance
* addressed some comments
* polish to address review
* fixed tests after merge, and added a test of the return_info deprecation assertion if found in reset signature
* some organization of env_checker tests, reverted a probably merge error
* added deprecation check for seed function in env
* updated docstring
* removed debug prints, tweaked test_check_seed_deprecation
* changed return_info deprecation check from assertion to warning
* fixes to vector envs, now should be correctly structured
* added some explanation and typehints for mockup depcreated return info reset function
* re-removed seed function from vector envs
* added explanation to _reset_return_info_type and changed the return statement
* Allows a new RNG to be generated with seed=-1 and updated env_checker to fix bug if environment doesn't use np_random in reset
* Revert "fixed `gym.vector.make` where the checker was being applied in the opposite case than was intended to (#2871)"
This reverts commit 519dfd9117.
* Remove bad pushed commits
* Fixed spelling in core.py
* Pins pytest to the last py 3.6 version
* Allow Box automatic scalar shape
* Add test box and change default from () to (1,)
* update Box shape inference with more strict checking
* Update the box shape and add check on the custom Box shape
* Removed incorrect shape type and assert shape code
* Update the Box and associated tests
* Remove all folders and files from pyright exclude
* Revert issues
* Push RedTachyon code review
* Add Python Platform
* Remove play from pyright check
* Fixed CI issues
* remove mujoco env type hinting
* Fixed pixel observation test
* Added some new type hints
* Fixed CI errors
* Fixed CI errors
* Remove play.py from exlucde pyright
* Fixed pyright issues
* Update pyproject.toml
* Maybe fix typing for frozen lake and taxi
* Clean up pyproject a bit
* Reenable box2d pyright
* Disable box2d pyright
* Fix typing for toy text envs
* Narrow down pyright excludes for almost everything except mujoco
* Fix a wrapper test typing
* Remove env checker from excludes
* Remove redundant type hints which mess up pyright. And a typo fix.
* Remove test_spaces exclude
* Remove some redundant warnings
* Change pyright ignore to more specific
* Fix a weird private variable which gets explicitly exported for whatever reason. It's still exported for backwards compatibility, but internal code now uses a public variable.
* re-export the private variable
* Fix lunar_lander typing
* Remove lunar lander from excludes
* Small fix
* 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>
* Added pydocstyle to pre-commit
* Added docstrings for tests and updated the tests for autoreset
* Add pydocstyle exclude folder to allow slowly adding new docstrings
* Add docstrings for setup.py and gym/__init__.py, core.py, error.py and logger.py
* Check that all unwrapped environment are of a particular wrapper type
* Reverted back to import gym.spaces.Space to gym.spaces
* Fixed the __init__.py docstring
* Fixed autoreset autoreset test
* Updated gym __init__.py top docstring
* Remove unnecessary import
* Removed "unused error" and make APIerror deprecated at gym 1.0
* Add pydocstyle description to CONTRIBUTING.md
* Added docstrings section to CONTRIBUTING.md
* Added :meth: and :attr: keywords to docstrings
* Added :meth: and :attr: keywords to docstrings
* Update the step docstring placing the return type in the as a note.
* Updated step return type to include each element
* Update maths notation to reward range
* Fixed infinity maths notation
* 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
* Add a case for the Box shape where the low and high values are both scalars
* Add seeding.RandomNumberGenerator parameter to Dict seed. Modify __repr__ for the dictionary space string looks similar to an actual dictionary
* Add seeding.RandomNumberGenerator parameter to Multi Binary seed
* Add seeding.RandomNumberGenerator parameter to Multi Binary seed. Modify nvec typing to include np.ndarray
* Space seed typing can be a seeding.RandomNumberGenerator. If a seeding.RNG is provided then it is assigned to _np_random and .seed is not run
* Fixed the tuple seeding type as List[int] is not a valid Space seed type
* Added typing to batch_space. The batch_space seed is equal to the space's seeding
* Fixed the seeding type
* Add test for batch space seeds are identical to the original space's seeding
* Add equivalence function for RandomNumberGenerator comparing the bit_generator.state
* The batch_space functions uses a copy of the seed for the original space
* Set the action space seed for sync_vector_env seed testing
* Add test for the seeding of the sync vector environment
* Update the test_batch_space_seed to check the resulting sampling are equivalent for testing
* Revert representation back to the original version
* Remove additional Box shape initialisation
* Remove additional typing of MultiDiscrete
* Fixed bug of Space batch space where the original space's np_random is not a complete copy of the original space
* Add CustomSpace to the batched space seed test
* Modify the CustomSpace sample to produce a random number not a static value
* Fix CustomSpace to reflect the sample function
* Copy the space.np_random for the batched_space seed to ensure that the original space doesn't sampling doesn't effect the batched_space
* Parameterized the batch_space_seed, added testing for rng_different_at_each_index and test_deterministic
* Black and isort pre-commit changes
* Pre-commit fix
* MacOS, test_read_from_shared_memory throws an error that the inner _process_write function was unpicklable. Making the function a top-level function solves this error
* Fixed typing of seed where a space's seed function differs from Space.seed's typing
* Added check that the sample lengths are equal and explicitly provided the number of batched spaces n=1
* Removed relative imports for absolute imports
* Use deepcopy instead of copy
* Replaces `from numpy.testing._private.utils import assert_array_equal` with `from numpy.testing import assert_array_equal`
* Using the seeding `__eq__` function, replace `np_random.bit_generator.state` with `np_random`
* Added docstrings and comments to the tests to explain their purpose
* Remove __eq__ from RandomNumberGenerator and add to tests/vector/utils
* Add sync vector determinism test for issue #2680
* Fixed bug for 462101d384 (r850740825)
* Made the new seeds a list of integers
* 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
* Fix flatten utils to handle Discrete.start
* Fix vector space utils to handle Discrete.start
* More granular dispatch in vector utils
* Fix Box including the high end of the interval
* 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
* Add call, get_attr and set_attr methods
* Use f-strings and remove assert
* Allow tuples in set_attr and move docstrings
* Replace CubeCrash by CartPole in tests
* Fixed ordering of space. Added singledispatch utility.
* Added singledispatch utility to vector.utils & changed order of space argument
* Fixed Error from _BaseGymSpaces
* Minor adjustment for Discrete Spaces
* Fixed Tests/ to reflect changes
* Fixed precommit error - custom namespaces
* Concrete Implementations start with _
* 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