From 8fef15abdb43d5f679bff48d907543624282c624 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 21 Aug 2023 16:22:35 +0200 Subject: python310Packages.pybox2d: init at 2.3.10 --- .../development/python-modules/pybox2d/default.nix | 44 ++++++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 46 insertions(+) create mode 100644 pkgs/development/python-modules/pybox2d/default.nix diff --git a/pkgs/development/python-modules/pybox2d/default.nix b/pkgs/development/python-modules/pybox2d/default.nix new file mode 100644 index 00000000000..c7a8e7d83eb --- /dev/null +++ b/pkgs/development/python-modules/pybox2d/default.nix @@ -0,0 +1,44 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, swig +}: + +buildPythonPackage rec { + pname = "pybox2d"; + version = "2.3.10"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "pybox2d"; + repo = "pybox2d"; + rev = "refs/tags/${version}"; + hash = "sha256-yjLFvsg8GQLxjN1vtZM9zl+kAmD4+eS/vzRkpj0SCjY="; + }; + + nativeBuildInputs = [ + swig + ]; + + # We need to build the package explicitly a first time so that the library/Box2D/Box2D.py file + # gets generated. + # After that, the default behavior will succeed at installing the package. + preBuild = '' + python setup.py build + ''; + + pythonImportsCheck = [ + "Box2D" + "Box2D._Box2D" + ]; + + # Tests need to start GUI windows. + doCheck = false; + + meta = with lib; { + description = "2D Game Physics for Python"; + homepage = "https://github.com/pybox2d/pybox2d"; + license = licenses.zlib; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 28f2118aa08..1bd00564046 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8734,6 +8734,8 @@ self: super: with self; { pybotvac = callPackage ../development/python-modules/pybotvac { }; + pybox2d = callPackage ../development/python-modules/pybox2d { }; + pybravia = callPackage ../development/python-modules/pybravia { }; pybrowserid = callPackage ../development/python-modules/pybrowserid { }; -- cgit 1.4.1 From ba48b30bb299b1e58c364bff84d113063b93a4ba Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Wed, 23 Aug 2023 07:44:13 +0200 Subject: python310Packages.gymnasium: 0.29.0 -> 0.29.1 --- .../python-modules/gymnasium/default.nix | 49 ++++++++++++++++++---- 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/gymnasium/default.nix b/pkgs/development/python-modules/gymnasium/default.nix index 9926b3cfe91..6e9e33913fb 100644 --- a/pkgs/development/python-modules/gymnasium/default.nix +++ b/pkgs/development/python-modules/gymnasium/default.nix @@ -10,34 +10,67 @@ , farama-notifications , importlib-metadata , pythonOlder +, ffmpeg +, jax +, jaxlib +, matplotlib +, moviepy +, opencv4 +, pybox2d +, pygame +, pytestCheckHook +, scipy }: buildPythonPackage rec { pname = "gymnasium"; - version = "0.29.0"; + version = "0.29.1"; + format = "pyproject"; src = fetchFromGitHub { owner = "Farama-Foundation"; - repo = pname; + repo = "gymnasium"; rev = "refs/tags/v${version}"; - hash = "sha256-4YaEFEWSOTEdGgO1kSOleZQp7OrcOf+WAT/E0BWeoKI="; + hash = "sha256-L7fn9FaJzXwQhjDKwI9hlFpbPuQdwynU+Xjd8bbjxiw="; }; - format = "pyproject"; - nativeBuildInputs = [ setuptools ]; propagatedBuildInputs = [ - jax-jumpy cloudpickle - numpy + farama-notifications gym-notices + jax-jumpy + numpy typing-extensions - farama-notifications ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ]; pythonImportsCheck = [ "gymnasium" ]; + nativeCheckInputs = [ + ffmpeg + jax + jaxlib + matplotlib + moviepy + opencv4 + pybox2d + pygame + pytestCheckHook + scipy + ]; + + disabledTestPaths = [ + # mujoco is required for those tests but the mujoco python bindings are not packaged in nixpkgs. + "tests/envs/mujoco/test_mujoco_custom_env.py" + + # Those tests need to write on the filesystem which cause them to fail. + "tests/experimental/wrappers/test_record_video.py" + "tests/utils/test_save_video.py" + "tests/wrappers/test_record_video.py" + "tests/wrappers/test_video_recorder.py" + ]; + meta = with lib; { description = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)"; homepage = "https://github.com/Farama-Foundation/Gymnasium"; -- cgit 1.4.1