* 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
* 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
* 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
* Fix examples in docstrings
* Add docstrings and type hints where known to all functions and classes in gym/utils and gym/vector
* 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
* Imported annotations from __future__ to fix python 3.7
* Add __future__ import annotations for python 3.7
* isort
* Remove utils and vectors for this PR and spaces for previous PR
* Update gym/envs/classic_control/acrobot.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/envs/classic_control/acrobot.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/envs/classic_control/acrobot.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/spaces/dict.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/env_checker.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/env_checker.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/env_checker.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/env_checker.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/env_checker.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/ezpickle.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/ezpickle.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Update gym/utils/play.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Pre-commit
* Updated docstrings with :meth:
* Updated docstrings with :meth:
* Update gym/utils/play.py
* Update gym/utils/play.py
* Update gym/utils/play.py
* Apply suggestions from code review
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* pre-commit
* Update gym/utils/play.py
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Updated fps and zoom parameter docstring
* Update play docstring
* Apply suggestions from code review
Added suggested corrections from @markus28
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* Pre-commit magic
* Update the `gym.make` docstring with a warning for `env_checker`
* Updated and fixed vector docstrings
* Update test names for reflect the project filename style
Co-authored-by: Markus Krimmel <montcyril@gmail.com>
* 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
* 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
* 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 _
* Batch the action space in VectorEnv and add iterate utility function
* Add tests for iterate
* Add tests for action spaces in SyncVectorEnv and AsyncVectorEnv
* Black formatting
* Use singledispatch for iterate utility function
* Update the ordering of the arguments in the docstring
* Fix ordering in docstring example of iterate
* Check for same action spaces in vectorized environments
* Separate Discrete from other space types in iterate singledispatch
* Allow custom observation spaces in VectorEnv
* Replace np.copy by deepcopy in reset of SyncVectorEnv
* Add tests for VectorEnv with custom spaces
* Add tests for shared memory and batches of custom spaces
* Remove unused import in VectorEnv test
* Add warning note in the Space class for custom spaces
* Initial version of vectorized environments
* Raise an exception in the main process if child process raises an exception
* Add list of exposed functions in vector module
* Use deepcopy instead of np.copy
* Add documentation for vector utils
* Add tests for copy in AsyncVectorEnv
* Add example in documentation for batch_space
* Add cloudpickle dependency in setup.py
* Fix __del__ in VectorEnv
* Check if all observation spaces are equal in AsyncVectorEnv
* Check if all observation spaces are equal in SyncVectorEnv
* Fix spaces non equality in SyncVectorEnv for Python 2
* Handle None parameter in create_empty_array
* Fix check_observation_space with spaces equality
* Raise an exception when operations are out of order in AsyncVectorEnv
* Add version requirement for cloudpickle
* Use a state instead of binary flags in AsyncVectorEnv
* Use numpy.zeros when initializing observations in vectorized environments
* Remove poll from public API in AsyncVectorEnv
* Remove close_extras from VectorEnv
* Add test between AsyncVectorEnv and SyncVectorEnv
* Remove close in check_observation_space
* Add documentation for seed and close
* Refactor exceptions for AsyncVectorEnv
* Close pipes if the environment raises an error
* Add tests for out of order operations
* Change default argument in create_empty_array to np.zeros
* Add get_attr and set_attr methods to VectorEnv
* Improve consistency in SyncVectorEnv