diff --git a/pkgs/development/python-modules/contourpy/default.nix b/pkgs/development/python-modules/contourpy/default.nix new file mode 100644 index 000000000000..f80f16c51979 --- /dev/null +++ b/pkgs/development/python-modules/contourpy/default.nix @@ -0,0 +1,75 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# build +, pybind11 +, setuptools + +# propagates +, numpy + +# optionals +, bokeh +, chromedriver +, selenium + +# tests +, matplotlib +, pillow +, pytestCheckHook +}: + +let countourpy = buildPythonPackage rec { + pname = "contourpy"; + version = "1.0.6"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "contourpy"; + repo = "contourpy"; + rev = "refs/tags/v${version}"; + hash = "sha256-JbLaQ2NomJlgDmEATa7OmZ749Bezt3tvnt1nOA1aOVw="; + }; + + nativeBuildInputs = [ + pybind11 + setuptools + ]; + + propagatedBuildInputs = [ + numpy + ]; + + passthru.optional-depdendencies = { + bokeh = [ bokeh chromedriver selenium ]; + }; + + doCheck = false; # infinite recursion with matplotlib, tests in passthru + + checkInputs = [ + matplotlib + pillow + pytestCheckHook + ]; + + passthru.tests = { + check = countourpy.overridePythonAttrs (_: { doCheck = true; }); + }; + + pythonImportsCheck = [ + "contourpy" + ]; + + meta = with lib; { + changelog = "https://github.com/contourpy/contourpy/releases/tag/v${version}"; + description = "Python library for calculating contours in 2D quadrilateral grids"; + homepage = "https://github.com/contourpy/contourpy"; + license = licenses.bsd3; + maintainers = with maintainers; [ ]; + }; +}; +in countourpy diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b8464e2994da..f96120165e0a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1977,6 +1977,8 @@ self: super: with self; { contexttimer = callPackage ../development/python-modules/contexttimer { }; + contourpy = callPackage ../development/python-modules/contourpy { }; + convertdate = callPackage ../development/python-modules/convertdate { }; cookiecutter = callPackage ../development/python-modules/cookiecutter { };