about summary refs log tree commit diff
path: root/pkgs/development/python-modules/gymnasium/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/gymnasium/default.nix')
-rw-r--r--pkgs/development/python-modules/gymnasium/default.nix63
1 files changed, 40 insertions, 23 deletions
diff --git a/pkgs/development/python-modules/gymnasium/default.nix b/pkgs/development/python-modules/gymnasium/default.nix
index 5cb114c51490..b730ef5c5a9d 100644
--- a/pkgs/development/python-modules/gymnasium/default.nix
+++ b/pkgs/development/python-modules/gymnasium/default.nix
@@ -1,48 +1,53 @@
 {
   lib,
+  stdenv,
   buildPythonPackage,
   fetchFromGitHub,
+
+  # build-system
   setuptools,
-  numpy,
+
+  # dependencies
   cloudpickle,
-  gym-notices,
-  jax-jumpy,
-  typing-extensions,
   farama-notifications,
-  importlib-metadata,
+  numpy,
+  typing-extensions,
   pythonOlder,
-  ffmpeg,
+  importlib-metadata,
+
+  # tests
+  dill,
+  flax,
   jax,
   jaxlib,
   matplotlib,
+  mujoco,
   moviepy,
   opencv4,
   pybox2d,
   pygame,
   pytestCheckHook,
   scipy,
-  stdenv,
 }:
 
 buildPythonPackage rec {
   pname = "gymnasium";
-  version = "0.29.1";
-  format = "pyproject";
+  version = "1.0.0";
+
+  pyproject = true;
 
   src = fetchFromGitHub {
     owner = "Farama-Foundation";
     repo = "gymnasium";
     rev = "refs/tags/v${version}";
-    hash = "sha256-L7fn9FaJzXwQhjDKwI9hlFpbPuQdwynU+Xjd8bbjxiw=";
+    hash = "sha256-Qchuz08yJ0giVrtKLC9vBgr28JrHQyAOCuoS239ivVw=";
   };
 
-  nativeBuildInputs = [ setuptools ];
+  build-system = [ setuptools ];
 
-  propagatedBuildInputs = [
+  dependencies = [
     cloudpickle
     farama-notifications
-    gym-notices
-    jax-jumpy
     numpy
     typing-extensions
   ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
@@ -50,11 +55,13 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "gymnasium" ];
 
   nativeCheckInputs = [
-    ffmpeg
+    dill
+    flax
     jax
     jaxlib
     matplotlib
     moviepy
+    mujoco
     opencv4
     pybox2d
     pygame
@@ -66,23 +73,33 @@ buildPythonPackage rec {
   # marked as broken and throws an error during evaluation if the package is evaluated anyway.
   # disabling checks on Darwin avoids this and allows the package to be built.
   # if jaxlib is ever fixed on Darwin, remove this.
-  doCheck = !stdenv.isDarwin;
+  doCheck = !stdenv.hostPlatform.isDarwin;
 
   disabledTestPaths = [
-    # mujoco is required for those tests but the mujoco python bindings are not packaged in nixpkgs.
+    # Unpackaged `mujoco-py` (Openai's mujoco) is required for these tests.
     "tests/envs/mujoco/test_mujoco_custom_env.py"
+    "tests/envs/mujoco/test_mujoco_rendering.py"
+    "tests/envs/mujoco/test_mujoco_v5.py"
 
-    # Those tests need to write on the filesystem which cause them to fail.
-    "tests/experimental/wrappers/test_record_video.py"
+    # Rendering tests failing in the sandbox
+    "tests/wrappers/vector/test_human_rendering.py"
+
+    # These tests need to write on the filesystem which cause them to fail.
     "tests/utils/test_save_video.py"
     "tests/wrappers/test_record_video.py"
-    "tests/wrappers/test_video_recorder.py"
   ];
 
-  meta = with lib; {
+  disabledTests = [
+    # Succeeds for most environments but `test_render_modes[Reacher-v4]` fails because it requires
+    # OpenGL access which is not possible inside the sandbox.
+    "test_render_mode"
+  ];
+
+  meta = {
     description = "Standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)";
     homepage = "https://github.com/Farama-Foundation/Gymnasium";
-    license = licenses.mit;
-    maintainers = with maintainers; [ GaetanLepage ];
+    changelog = "https://github.com/Farama-Foundation/Gymnasium/releases/tag/v${version}";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ GaetanLepage ];
   };
 }