Releases: yannbouteiller/rtgym
Release 0.13
Major release 0.13
Thread-safe implementation of Real-Time Gym.
Highlights:
- Version
0.13
introduces a new implementation of Real-Time Gym:"real-time-gym-ts-v1"
. This new implementation relies on signaling viathreading.Event
, which enablesrtgym
to run a single persistent thread in the background (whereas"real-time-gym-v1"
is spawning and joining a new thread at each time-step). This vastly improvesrtgym
's thread-safety, but may require careful handling, as waiting for anEvent
that never comes (e.g., because of a crash) may cause your program to hang. "real_time"
and"async_threading"
were removed from the configuration dictionary, as the behavior for their non-default values was never implemented anyway.
Release 0.12
Minor release 0.12
Added 3 advanced API functions that allow changing the time-wise configuration of rtgym
environments on-the-fly:
set_time_step_duration
set_start_obs_capture
set_ep_max_length
Release 0.11
Minor release 0.11
Minor optimizations.
Release 0.10
Release 0.10
This version fixes a couple minor bugs related to reset transitions.
In particular, it introduces the set_default_action
API, and a new entry in the configuration dictionary to chose whether reset
should send the default action or the last action of the previous episode.
A thorough sanity check has been added in the tests
folder.
Release 0.9
Major release 0.9
Version 0.9 improves real-time support around calls to the reset
function. It also changes the reset
signature to follow the newer Gymnasium
API.
⚠️ Breaking changes:
- The signature of
reset
has been updated toenv.reset(seed=None, options=None)
to comply with the newerGymnasium
API. This change also affects thereset
method ofRealTimeGymInterface
.
To update your existing implementations of RealTimeGymInterface
to the new version of rtgym
, you can simply replace
def reset(self):
by
def reset(self, seed=None, options=None):
Release 0.8
Major release 0.8
Starting from version 0.8
, rtgym
supports the maintained gymnasium framework instead of the abandoned gym
framework.
Since rtgym 0.7
already supported gym>=0.26
, upgrading your applications to gymnasium
is straightforward and essentially amounts to replacing all your instances of
import gym
by
import gymnasium as gym
For more information, read the migration guide
Release 0.7
This release reflects the new OpenAI Gym API (0.26). Since version gym 0.26 introduced major breaking changes, these breaking changes are reflected in the rtgym
which is becward incompatible with previous versions.
See https://github.com/openai/gym/releases/tag/0.26.0
Breaking changes:
step
now returnsterminated
andtruncated
instead of the olddone
reset
now returns theinfo
dict- some method names have changed in the interface according to the new nomenclature
Release 0.6
The default action is now correctly appended to the action buffer on reset() when the "reinitialize buffer" option is off.
Release 0.5
CAUTION: this release is slightly backward incompatible (default max episode length is now infinite)
- Default max episode length is now infinite instead of being 1000 time-steps.
Release 0.4
CAUTION: This release is backward incompatible.
- More advanced and useful benchmarks (backward incompatibility: benchmarks() now returns a dictionary of tuples)
- Support for info dictionaries (backward incompatibility: get_obs_rew_done() is replaced by get_obs_rew_done_info())