* 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
* remove reraise logic - replace with re-raising import errors in the only place it is used
* remove reraise
* remove reset call from MountainCar constructor
* further remove reraise
* remove reraise import in classic_control/rendering.py
* Support kwargs in gym.make
We avoided adding kwargs for a long time in order to encourage people
to statically register their environment definitions. However, over
time we've found a few important use-cases for kwargs, such as:
- Runtime-specific objects, such as which GPU to run the environment
on
- Parametrized environments, which can have an infinite number of meaningful
variants
The latter breaks the invariant that the environment ID alone
determines the semantics of the environment, but it's an advanced
use-case and such users should be able to manage this on their own.
* Export the register method so it's easier for external users to register environments
* Improve kwargs test
* Improve default import time from 750ms -> 73ms on 2016 Macbook pro
* Support code which expects gym.spaces.foo to work without a direct import of gym.spaces
* 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
* fix double reset, as suggested by @jietang
* better floors and ceilings
* add convenience methods to monitor
* add wrappers to gym namespace
* allow playing Atari games, with potentially more coming in the future
* simplify example in docs
* Move play out of the Env
* fix tests
* no more deprecation warnings
* remove env.monitor
* monitor simplification
* monitor simplifications
* monitor related fixes
* a few changes suggested by linter
* timestep_limit fixes
* keep track of gym env variables for future compatibility
* timestep_limit => max_episode_timesteps
* don't apply TimeLimit wrapper in make for VNC envs
* Respect old timestep_limit argument
* Pass max_episode_seconds through registration
* Don't include deprecation warnings yet