diff --git a/pkgs/development/python-modules/gstools/default.nix b/pkgs/development/python-modules/gstools/default.nix new file mode 100644 index 000000000000..e11048953986 --- /dev/null +++ b/pkgs/development/python-modules/gstools/default.nix @@ -0,0 +1,64 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + setuptools-scm, + numpy, + cython, + extension-helpers, + hankel, + emcee, + meshio, + pyevtk, + scipy, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "gstools"; + version = "1.6.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "GeoStat-Framework"; + repo = "GSTools"; + rev = "refs/tags/v${version}"; + hash = "sha256-QpdOARzcSRVFl/DbnE2JLBFZmTSh/fBOmzweuf+zfEs="; + }; + + build-system = [ + setuptools + setuptools-scm + numpy + cython + extension-helpers + ]; + + dependencies = [ + emcee + hankel + meshio + numpy + pyevtk + scipy + ]; + + # scipy derivation dont support numpy_2 and is patched to use version 1 + # Using numpy_2 in the derivation will cause a clojure duplicate error + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail 'numpy>=2.0.0rc1,' 'numpy' \ + ''; + + pythonImportsCheck = [ "gstools" ]; + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + description = "Geostatistical toolbox"; + homepage = "https://github.com/GeoStat-Framework/GSTools"; + changelog = "https://github.com/GeoStat-Framework/GSTools/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ sigmanificient ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ffb1de422216..09e0ba426b56 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5290,6 +5290,8 @@ self: super: with self; { inherit (pkgs.buildPackages) meson; }; + gstools = callPackage ../development/python-modules/gstools { }; + gtfs-realtime-bindings = callPackage ../development/python-modules/gtfs-realtime-bindings { }; gto = callPackage ../development/python-modules/gto { };