* 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
* Add support for python 3.6
* Add support for python 3.6
* Added check for python 3.6 to not install mujoco as no version exists
* Fixed the install groups for python 3.6
* Re-added python 3.6 support for gym
* black
* Added support for dataclasses through dataclasses module in setup that backports the module
* Fixed install requirements
* Re-added dummy env spec with dataclasses
* Changed type for compatability for python 3.6
* Added a python 3.6 warning
* Fixed python 3.6 typing issue
* Removed __future__ import annotation for python 3.6 support
* Fixed python 3.6 typing
* 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>
* 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
* 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
* 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
* 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
* 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
* make daemon=True an option of async_vector_env
* custom worker in async_vector_env
* add compatibility methods to SyncVectorEnv
* fix name in sync_vector_env
* vectorenv api cleanup
* add docstrings for daemon and worker options in AsyncVectorEnv
* 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