diff options
Diffstat (limited to 'pkgs/development/python-modules/shimmy/default.nix')
-rw-r--r-- | pkgs/development/python-modules/shimmy/default.nix | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/shimmy/default.nix b/pkgs/development/python-modules/shimmy/default.nix new file mode 100644 index 0000000000000..f1db250e1de2d --- /dev/null +++ b/pkgs/development/python-modules/shimmy/default.nix @@ -0,0 +1,97 @@ +{ + 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" + + # Broken since ale-py v0.9.0 due to API change + # https://github.com/Farama-Foundation/Shimmy/issues/120 + "tests/test_atari.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 = "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 ]; + }; +} |