From 8224753ddf178ecb7e86b742506010b9f3d03c46 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 May 2024 11:41:35 +0200 Subject: [PATCH 1/2] python311Packages.pytest-markdown-docs: init at 0.5.1 --- .../pytest-markdown-docs/default.nix | 48 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 50 insertions(+) create mode 100644 pkgs/development/python-modules/pytest-markdown-docs/default.nix diff --git a/pkgs/development/python-modules/pytest-markdown-docs/default.nix b/pkgs/development/python-modules/pytest-markdown-docs/default.nix new file mode 100644 index 000000000000..46dcd7d94043 --- /dev/null +++ b/pkgs/development/python-modules/pytest-markdown-docs/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, poetry-core +, markdown-it-py +, pytest +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pytest-markdown-docs"; + version = "0.5.1"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "modal-com"; + repo = "pytest-markdown-docs"; + rev = "refs/tags/v${version}"; + hash = "sha256-mclN28tfPcoFxswECjbrkeOI51XXSqUXfbvuSHrd7Sw="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + markdown-it-py + pytest + ]; + + pythonImportsCheck = [ + "pytest_markdown_docs" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = with lib; { + description = "Run pytest on markdown code fence blocks"; + homepage = "https://github.com/modal-com/pytest-markdown-docs"; + license = licenses.mit; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e5e1dba98772..7d3e60e6b273 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12120,6 +12120,8 @@ self: super: with self; { pytest-logdog = callPackage ../development/python-modules/pytest-logdog { }; + pytest-markdown-docs = callPackage ../development/python-modules/pytest-markdown-docs { }; + pytest-md-report = callPackage ../development/python-modules/pytest-md-report { }; pytest-metadata = callPackage ../development/python-modules/pytest-metadata { }; From e027db61dc24e1efbf15a1624bc59fcbe890b773 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Tue, 7 May 2024 11:28:05 +0200 Subject: [PATCH 2/2] python311Packages.pettingzoo: init at 1.24.3 --- .../python-modules/pettingzoo/default.nix | 135 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 137 insertions(+) create mode 100644 pkgs/development/python-modules/pettingzoo/default.nix diff --git a/pkgs/development/python-modules/pettingzoo/default.nix b/pkgs/development/python-modules/pettingzoo/default.nix new file mode 100644 index 000000000000..389abd5f8907 --- /dev/null +++ b/pkgs/development/python-modules/pettingzoo/default.nix @@ -0,0 +1,135 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, setuptools +, wheel +, gymnasium +, numpy +, chess +, pillow +, pybox2d +, pygame +, pymunk +, rlcard +, scipy +, pre-commit +, pynput +, pytest +, pytest-cov +, pytest-markdown-docs +, pytest-xdist +, pytestCheckHook +, stdenv +}: + +buildPythonPackage rec { + pname = "pettingzoo"; + version = "1.24.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "Farama-Foundation"; + repo = "PettingZoo"; + rev = "refs/tags/${version}"; + hash = "sha256-TVM4MrA4W6AIWEdBIecI85ahJAAc21f27OzCxSpOoZU="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + gymnasium + numpy + ]; + + passthru.optional-dependencies = { + all = [ + chess + # multi-agent-ale-py + pillow + pybox2d + pygame + pymunk + rlcard + scipy + # shimmy + ]; + atari = [ + # multi-agent-ale-py + pygame + ]; + butterfly = [ + pygame + pymunk + ]; + classic = [ + chess + pygame + rlcard + # shimmy + ]; + mpe = [ + pygame + ]; + other = [ + pillow + ]; + sisl = [ + pybox2d + pygame + pymunk + scipy + ]; + testing = [ + # autorom + pre-commit + pynput + pytest + pytest-cov + pytest-markdown-docs + pytest-xdist + ]; + }; + + pythonImportsCheck = [ + "pettingzoo" + ]; + + nativeCheckInputs = [ + chess + pygame + pymunk + pytest-markdown-docs + pytest-xdist + pytestCheckHook + rlcard + ]; + + disabledTestPaths = [ + # Require unpackaged multi_agent_ale_py + "test/all_parameter_combs_test.py" + "test/pickle_test.py" + "test/unwrapped_test.py" + ]; + + disabledTests = [ + # ImportError: cannot import name 'pytest_plugins' from 'pettingzoo.classic' + "test_chess" + ] ++ lib.optionals stdenv.isDarwin [ + # Crashes on darwin: `Fatal Python error: Aborted` + "test_multi_episode_parallel_env_wrapper" + ]; + + meta = with lib; { + description = "An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities"; + homepage = "https://github.com/Farama-Foundation/PettingZoo"; + changelog = "https://github.com/Farama-Foundation/PettingZoo/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7d3e60e6b273..6a0ffafb7376 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9582,6 +9582,8 @@ self: super: with self; { peco = callPackage ../development/python-modules/peco { }; + pettingzoo = callPackage ../development/python-modules/pettingzoo { }; + peewee = callPackage ../development/python-modules/peewee { }; peewee-migrate = callPackage ../development/python-modules/peewee-migrate { };