diff --git a/pkgs/development/python-modules/bsuite/default.nix b/pkgs/development/python-modules/bsuite/default.nix index 3c11353bb101..177c7656a13e 100644 --- a/pkgs/development/python-modules/bsuite/default.nix +++ b/pkgs/development/python-modules/bsuite/default.nix @@ -1,113 +1,128 @@ -{ lib -, fetchPypi -, buildPythonPackage -, fetchpatch -, frozendict -, termcolor -, matplotlib -, gym -, pandas -, scipy -, absl-py -, dm-env -, plotnine -, scikit-image -, dm-tree -, patsy -, tensorflow-probability -, dm-haiku -, statsmodels -, mizani -, trfl -, optax -, pytestCheckHook -, dm-sonnet -, rlax -, distrax +{ + lib, + absl-py, + buildPythonPackage, + distrax, + dm-env, + dm-haiku, + dm-sonnet, + dm-tree, + fetchpatch, + fetchPypi, + frozendict, + gym, + matplotlib, + mizani, + optax, + pandas, + patsy, + plotnine, + pytestCheckHook, + pythonOlder, + rlax, + scikit-image, + scipy, + setuptools, + statsmodels, + tensorflow-probability, + termcolor, + trfl, }: -let bsuite = buildPythonPackage rec { - pname = "bsuite"; - version = "0.3.5"; - format = "setuptools"; +let + bsuite = buildPythonPackage rec { + pname = "bsuite"; + version = "0.3.5"; + pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-ak9McvXl7Nz5toUaPaRaJek9lurxiQiIW209GnZEjX0="; + disabled = pythonOlder "3.7"; + + src = fetchPypi { + inherit pname version; + hash = "sha256-ak9McvXl7Nz5toUaPaRaJek9lurxiQiIW209GnZEjX0="; + }; + + patches = [ + # Convert np.int -> np.int32 since np.int is deprecated, https://github.com/google-deepmind/bsuite/pull/48 + (fetchpatch { + url = "https://github.com/google-deepmind/bsuite/pull/48/commits/f8d81b2f1c27ef2c8c71ae286001ed879ea306ab.patch"; + hash = "sha256-FXtvVS+U8brulq8Z27+yWIimB+kigGiUOIv1SHb1TA8="; + }) + # Replace imp with importlib, https://github.com/google-deepmind/bsuite/pull/50 + (fetchpatch { + name = "replace-imp.patch"; + url = "https://github.com/google-deepmind/bsuite/commit/d08b63655c7efa5b5bb0f35e825e17549d23e812.patch"; + hash = "sha256-V5p/6edNXTpEckuSuxJ/mvfJng5yE/pfeMoYbvlNpEo="; + }) + ]; + + build-system = [ setuptools ]; + + dependencies = [ + absl-py + dm-env + dm-tree + frozendict + gym + matplotlib + mizani + pandas + patsy + plotnine + scikit-image + scipy + statsmodels + termcolor + ]; + + nativeCheckInputs = [ + distrax + dm-haiku + dm-sonnet + optax + pytestCheckHook + rlax + tensorflow-probability + trfl + ]; + + pythonImportsCheck = [ "bsuite" ]; + + disabledTests = [ + # Tests require network connection + "test_run9" + "test_longer_action_sequence" + "test_reset" + "test_step_after_reset" + "test_step_on_fresh_environment" + "test_longer_action_sequence" + "test_reset" + "test_step_after_reset" + "test_step_on_fresh_environment" + "test_longer_action_sequence" + "test_reset" + "test_step_after_reset" + "test_step_on_fresh_environment" + "test_logger" + "test_episode_truncation" + ]; + + # Escape infinite recursion with rlax + doCheck = false; + + passthru.tests = { + check = bsuite.overridePythonAttrs (_: { + doCheck = true; + }); + }; + + meta = with lib; { + description = "Collection of experiments that investigate core capabilities of a reinforcement learning (RL) agent"; + homepage = "https://github.com/deepmind/bsuite"; + changelog = "https://github.com/google-deepmind/bsuite/releases/tag/${version}"; + license = licenses.asl20; + maintainers = with maintainers; [ onny ]; + }; }; - - patches = [ - (fetchpatch { # Convert np.int -> np.int32 since np.int is deprecated (https://github.com/google-deepmind/bsuite/pull/48) - url = "https://github.com/google-deepmind/bsuite/pull/48/commits/f8d81b2f1c27ef2c8c71ae286001ed879ea306ab.patch"; - hash = "sha256-FXtvVS+U8brulq8Z27+yWIimB+kigGiUOIv1SHb1TA8="; - }) - ]; - - propagatedBuildInputs = [ - absl-py - dm-env - dm-tree - frozendict - gym - matplotlib - mizani - pandas - patsy - plotnine - scikit-image - scipy - statsmodels - termcolor - ]; - - nativeCheckInputs = [ - distrax - dm-haiku - dm-sonnet - optax - pytestCheckHook - rlax - tensorflow-probability - trfl - ]; - - pythonImportsCheck = [ - "bsuite" - ]; - - disabledTests = [ - # Tests require network connection - "test_run9" - "test_longer_action_sequence" - "test_reset" - "test_step_after_reset" - "test_step_on_fresh_environment" - "test_longer_action_sequence" - "test_reset" - "test_step_after_reset" - "test_step_on_fresh_environment" - "test_longer_action_sequence" - "test_reset" - "test_step_after_reset" - "test_step_on_fresh_environment" - "test_logger" - "test_episode_truncation" - ]; - - # escape infinite recursion with rlax - doCheck = false; - - passthru.tests = { - check = bsuite.overridePythonAttrs (_: { doCheck = true; }); - }; - - meta = with lib; { - description = '' - Core RL Behaviour Suite. A collection of reinforcement learning - experiments - ''; - homepage = "https://github.com/deepmind/bsuite"; - license = licenses.asl20; - maintainers = with maintainers; [ onny ]; - }; -}; in bsuite +in +bsuite diff --git a/pkgs/development/python-modules/plotnine/default.nix b/pkgs/development/python-modules/plotnine/default.nix index bb39cae86c25..a25dcd9125f0 100644 --- a/pkgs/development/python-modules/plotnine/default.nix +++ b/pkgs/development/python-modules/plotnine/default.nix @@ -1,22 +1,23 @@ -{ lib -, buildPythonPackage -, pythonOlder -, fetchFromGitHub -, setuptools-scm -, matplotlib -, mizani -, pandas -, patsy -, scipy -, statsmodels -, geopandas -, pytestCheckHook -, scikit-misc +{ + lib, + buildPythonPackage, + fetchFromGitHub, + geopandas, + matplotlib, + mizani, + pandas, + patsy, + pytestCheckHook, + pythonOlder, + scikit-misc, + scipy, + setuptools-scm, + statsmodels, }: buildPythonPackage rec { pname = "plotnine"; - version = "0.13.3"; + version = "0.13.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -25,19 +26,17 @@ buildPythonPackage rec { owner = "has2k1"; repo = "plotnine"; rev = "refs/tags/v${version}"; - hash = "sha256-dbfbXYYmVdufTtrrllrqwe87LL1nYRar4RMLef7ajTQ="; + hash = "sha256-ylsaV5yWVbxvD74spAI5tDwIjjue7MOMaGgp4Dc8Nhk="; }; - nativeBuildInputs = [ - setuptools-scm - ]; - postPatch = '' substituteInPlace pyproject.toml \ - --replace " --cov=plotnine --cov-report=xml" "" + --replace-fail " --cov=plotnine --cov-report=xml" "" ''; - propagatedBuildInputs = [ + build-system = [ setuptools-scm ]; + + dependencies = [ matplotlib mizani pandas @@ -56,9 +55,7 @@ buildPythonPackage rec { export HOME=$(mktemp -d) ''; - pythonImportsCheck = [ - "plotnine" - ]; + pythonImportsCheck = [ "plotnine" ]; disabledTestPaths = [ # Assertion Errors: @@ -103,7 +100,7 @@ buildPythonPackage rec { ]; meta = with lib; { - description = "Grammar of graphics for python"; + description = "Grammar of graphics for Python"; homepage = "https://plotnine.readthedocs.io/"; changelog = "https://github.com/has2k1/plotnine/releases/tag/v${version}"; license = licenses.mit;