diff --git a/pkgs/development/python-modules/noaa-coops/default.nix b/pkgs/development/python-modules/noaa-coops/default.nix new file mode 100644 index 000000000000..a601f1373452 --- /dev/null +++ b/pkgs/development/python-modules/noaa-coops/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + fetchPypi, + pandas, + poetry-core, + pythonOlder, + requests, + zeep, +}: + +buildPythonPackage rec { + pname = "noaa-coops"; + version = "0.4.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "noaa_coops"; + inherit version; + hash = "sha256-m3hTzUspYTMukwcj3uBbRahTmXbL1aJVD9NXfjwghB8="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + pandas + requests + zeep + ]; + + # The package does not include tests in the PyPI source distribution + doCheck = false; + + pythonImportsCheck = [ + "noaa_coops" + "noaa_coops.station" + ]; + + meta = { + description = "Python wrapper for NOAA CO-OPS Tides & Currents Data and Metadata APIs"; + homepage = "https://github.com/GClunies/noaa_coops"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 89cd44b5332d..6e7d0709f688 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -3983,7 +3983,8 @@ ]; "noaa_tides" = ps: with ps; [ - ]; # missing inputs: noaa-coops + noaa-coops + ]; "nobo_hub" = ps: with ps; [ pynobo diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5d1c3b993c15..04512260b2ca 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10370,6 +10370,8 @@ self: super: with self; { nnpdf = toPythonModule (pkgs.nnpdf.override { python3 = python; }); + noaa-coops = callPackage ../development/python-modules/noaa-coops { }; + nocasedict = callPackage ../development/python-modules/nocasedict { }; nocaselist = callPackage ../development/python-modules/nocaselist { };