Skip to content

Releases: yannbouteiller/rtgym

Release 0.13

15 Oct 05:32
dcaba5f
Compare
Choose a tag to compare

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 via threading.Event, which enables rtgym 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 improves rtgym's thread-safety, but may require careful handling, as waiting for an Event 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

05 Apr 00:18
Compare
Choose a tag to compare

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

30 Mar 20:25
Compare
Choose a tag to compare

Minor release 0.11

Minor optimizations.

Release 0.10

25 Mar 08:22
Compare
Choose a tag to compare

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

24 Mar 05:38
Compare
Choose a tag to compare

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 to env.reset(seed=None, options=None) to comply with the newer Gymnasium API. This change also affects the reset method of RealTimeGymInterface.

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

19 Mar 04:09
Compare
Choose a tag to compare

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

15 Sep 17:49
Compare
Choose a tag to compare

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 returns terminated and truncated instead of the old done
  • reset now returns the info dict
  • some method names have changed in the interface according to the new nomenclature

Release 0.6

24 Jan 02:52
Compare
Choose a tag to compare

The default action is now correctly appended to the action buffer on reset() when the "reinitialize buffer" option is off.

Release 0.5

06 Dec 21:37
Compare
Choose a tag to compare

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

28 Mar 04:18
Compare
Choose a tag to compare

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())