diff --git a/pkgs/development/python-modules/mapclassify/default.nix b/pkgs/development/python-modules/mapclassify/default.nix new file mode 100644 index 000000000000..0045daf1bd9f --- /dev/null +++ b/pkgs/development/python-modules/mapclassify/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + pythonOlder, + + geopandas, + libpysal, + networkx, + numpy, + pandas, + scikit-learn, + scipy, + setuptools-scm, +}: + +buildPythonPackage rec { + pname = "mapclassify"; + version = "2.6.1"; + pyproject = true; + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "pysal"; + repo = "mapclassify"; + rev = "v${version}"; + hash = "sha256-lb2Ui6zdx6MQBtBrL/Xj9k7cm6De8aLEuBLZDhPPDnE="; + }; + + build-system = [ setuptools-scm ]; + + propagatedBuildInputs = [ + networkx + numpy + pandas + scikit-learn + scipy + ]; + + nativeCheckInputs = [ + pytestCheckHook + geopandas + libpysal + ]; + + # requires network access + disabledTestPaths = [ "mapclassify/tests/test_greedy.py" ]; + + pythonImportsCheck = [ "mapclassify" ]; + + meta = { + description = "Classification Schemes for Choropleth Maps"; + homepage = "https://pysal.org/mapclassify/"; + license = lib.licenses.bsd3; + maintainers = lib.teams.geospatial.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16b919659fc3..86f67234fae6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7176,6 +7176,8 @@ self: super: with self; { mapbox-earcut = callPackage ../development/python-modules/mapbox-earcut { }; + mapclassify = callPackage ../development/python-modules/mapclassify { }; + mariadb = callPackage ../development/python-modules/mariadb { }; marimo = callPackage ../development/python-modules/marimo { };