From 7c347711216afcf7674b714f6cc4a07cf04146b9 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 May 2024 16:00:48 +0200 Subject: [PATCH 1/3] python311Packages.nose-xunitmp: init at 0.4.1 --- .../python-modules/nose-xunitmp/default.nix | 39 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/development/python-modules/nose-xunitmp/default.nix diff --git a/pkgs/development/python-modules/nose-xunitmp/default.nix b/pkgs/development/python-modules/nose-xunitmp/default.nix new file mode 100644 index 000000000000..ee344b2e07ca --- /dev/null +++ b/pkgs/development/python-modules/nose-xunitmp/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchPypi +, setuptools +, wheel +, nose +}: + +buildPythonPackage rec { + pname = "nose-xunitmp"; + version = "0.4.1"; + pyproject = true; + + src = fetchPypi { + pname = "nose_xunitmp"; + inherit version; + hash = "sha256-wt9y9HYHUdMBU9Rzgiqr8afD1GL2ZKp/f9uNxibcfEA="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + nose + ]; + + pythonImportsCheck = [ + "nose_xunitmp" + ]; + + meta = { + description = "Xunit output when running multiprocess tests using nose"; + homepage = "https://pypi.org/project/nose_xunitmp/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index eaf6f19ae2fb..dfc9862cb738 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8860,6 +8860,8 @@ self: super: with self; { nose-warnings-filters = callPackage ../development/python-modules/nose-warnings-filters { }; + nose-xunitmp = callPackage ../development/python-modules/nose-xunitmp { }; + nosexcover = callPackage ../development/python-modules/nosexcover { }; notebook = callPackage ../development/python-modules/notebook { }; From d540e673f785421227cd6155d2da99e271d7e802 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 May 2024 16:01:04 +0200 Subject: [PATCH 2/3] python311Packages.dm-control: init at 1.0.19 --- .../python-modules/dm-control/default.nix | 98 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 100 insertions(+) create mode 100644 pkgs/development/python-modules/dm-control/default.nix diff --git a/pkgs/development/python-modules/dm-control/default.nix b/pkgs/development/python-modules/dm-control/default.nix new file mode 100644 index 000000000000..6418163b6bc7 --- /dev/null +++ b/pkgs/development/python-modules/dm-control/default.nix @@ -0,0 +1,98 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, absl-py +, mujoco +, pyparsing +, pythonRelaxDepsHook +, setuptools +, wheel +, dm-env +, dm-tree +, fsspec +, glfw +, h5py +, lxml +, mock +, nose +, nose-xunitmp +, numpy +, pillow +, protobuf +, pyopengl +, requests +, scipy +, tqdm +, etils +}: + +buildPythonPackage rec { + pname = "dm-control"; + version = "1.0.19"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "google-deepmind"; + repo = "dm_control"; + rev = "refs/tags/${version}"; + hash = "sha256-q9hY/icvc1tPI0xBYxExc2a+gv0i6utaB4GBnJwQPCw="; + }; + + build-system = [ + absl-py + mujoco + pyparsing + pythonRelaxDepsHook + setuptools + wheel + ]; + + pythonRemoveDeps = [ + # Unpackaged + "labmaze" + ]; + + dependencies = [ + absl-py + dm-env + dm-tree + fsspec + glfw + h5py + lxml + mock + mujoco + nose + nose-xunitmp + numpy + pillow + protobuf + pyopengl + pyparsing + requests + scipy + setuptools + tqdm + ] ++ etils.optional-dependencies.epath; + + pythonImportsCheck = [ + "dm_control" + ]; + + # The installed library clashes with the `dm_control` directory remaining in the source path. + # Usually, we get around this by `rm -rf` the python source files to ensure that the installed package is used. + # Here, we cannot do that as it would also remove the tests which are also in the `dm_control` directory. + # See https://github.com/google-deepmind/dm_control/issues/6 + doCheck = false; + + meta = { + changelog = "https://github.com/google-deepmind/dm_control/releases/tag/${version}"; + description = "Google DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo"; + homepage = "https://github.com/google-deepmind/dm_control"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dfc9862cb738..a1f37bca56d3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3420,6 +3420,8 @@ self: super: with self; { dmenu-python = callPackage ../development/python-modules/dmenu { }; + dm-control = callPackage ../development/python-modules/dm-control { }; + dm-env = callPackage ../development/python-modules/dm-env { }; dm-haiku = callPackage ../development/python-modules/dm-haiku { }; From 7a77fae61986af3bbb7a36e4ca3810a45e3bc7e9 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 May 2024 13:32:49 +0200 Subject: [PATCH 3/3] python311Packages.shimmy: init at 1.3.0 --- .../python-modules/shimmy/default.nix | 92 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 94 insertions(+) create mode 100644 pkgs/development/python-modules/shimmy/default.nix diff --git a/pkgs/development/python-modules/shimmy/default.nix b/pkgs/development/python-modules/shimmy/default.nix new file mode 100644 index 000000000000..cbe0ca7cc8d7 --- /dev/null +++ b/pkgs/development/python-modules/shimmy/default.nix @@ -0,0 +1,92 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, setuptools +, wheel +, gymnasium +, numpy +, ale-py +, bsuite +, dm-control +, gym +, imageio +, pettingzoo +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "shimmy"; + version = "1.3.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "Farama-Foundation"; + repo = "Shimmy"; + rev = "refs/tags/v${version}"; + hash = "sha256-rYBbGyMSFF/iIGruKn2JXKAVIZIfJDEHUEZUESiUg/k="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + gymnasium + numpy + ]; + + pythonImportsCheck = [ "shimmy" ]; + + nativeCheckInputs = [ + ale-py + bsuite + dm-control + gym + imageio + pettingzoo + pytestCheckHook + ]; + + disabledTestPaths = [ + # Requires unpackaged pyspiel + "tests/test_openspiel.py" + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + disabledTests = [ + # Require network access + "test_check_env[bsuite/mnist_noise-v0]" + "test_check_env[bsuite/mnist_scale-v0]" + "test_check_env[bsuite/mnist-v0]" + "test_existing_env" + "test_loading_env" + "test_pickle[bsuite/mnist-v0]" + "test_seeding[bsuite/mnist_noise-v0]" + "test_seeding[bsuite/mnist_scale-v0]" + "test_seeding[bsuite/mnist-v0]" + "test_seeding" + + # RuntimeError: std::exception + "test_check_env" + "test_seeding[dm_control/quadruped-escape-v0]" + "test_rendering_camera_id" + "test_rendering_multiple_cameras" + "test_rendering_depth" + "test_render_height_widths" + ]; + + meta = { + changelog = "https://github.com/Farama-Foundation/Shimmy/releases/tag/v${version}"; + description = "An API conversion tool for popular external reinforcement learning environments"; + homepage = "https://github.com/Farama-Foundation/Shimmy"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a1f37bca56d3..3bdc702af837 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13841,6 +13841,8 @@ self: super: with self; { inherit (pkgs) cmake llvmPackages; }); + shimmy = callPackage ../development/python-modules/shimmy { }; + shippai = callPackage ../development/python-modules/shippai { }; shiv = callPackage ../development/python-modules/shiv { };