diff --git a/pkgs/development/python-modules/metar/default.nix b/pkgs/development/python-modules/metar/default.nix new file mode 100644 index 00000000000..e832c7cf56f --- /dev/null +++ b/pkgs/development/python-modules/metar/default.nix @@ -0,0 +1,28 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "metar"; + version = "1.8.0"; + + src = fetchFromGitHub { + owner = "python-metar"; + repo = "python-metar"; + rev = "v${version}"; + sha256 = "019vfq9191cdvvq1afdcdgdgbzpj7wq6pz9li8ggim71azjnv5nn"; + }; + + checkInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "metar" ]; + + meta = with lib; { + description = "Python parser for coded METAR weather reports"; + homepage = "https://github.com/python-metar/python-metar"; + license = with licenses; [ bsd1 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix new file mode 100644 index 00000000000..abe4c93b818 --- /dev/null +++ b/pkgs/development/python-modules/pynws/default.nix @@ -0,0 +1,47 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +, freezegun +, metar +, pytest-aiohttp +, pytest-asyncio +, pytest-cov +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pynws"; + version = "1.3.0"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "MatthewFlamm"; + repo = pname; + rev = "v${version}"; + sha256 = "13ipmx60kicwh8qxjazap4vk94x8i3r0lnkdsap7gffaizwgp49d"; + }; + + propagatedBuildInputs = [ + aiohttp + metar + ]; + + checkInputs = [ + freezegun + pytest-aiohttp + pytest-asyncio + pytest-cov + pytestCheckHook + ]; + + pythonImportsCheck = [ "pynws" ]; + + meta = with lib; { + description = "Python library to retrieve data from NWS/NOAA"; + homepage = "https://github.com/MatthewFlamm/pynws"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index c1bd7555260..453762a02fe 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -565,7 +565,7 @@ "numato" = ps: with ps; [ ]; # missing inputs: numato-gpio "number" = ps: with ps; [ ]; "nut" = ps: with ps; [ ]; # missing inputs: pynut2 - "nws" = ps: with ps; [ ]; # missing inputs: pynws + "nws" = ps: with ps; [ pynws ]; "nx584" = ps: with ps; [ ]; # missing inputs: pynx584 "nzbget" = ps: with ps; [ ]; # missing inputs: pynzbgetapi "oasa_telematics" = ps: with ps; [ ]; # missing inputs: oasatelematics diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9980bed45e9..8478da2690f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4038,6 +4038,8 @@ in { metaphone = callPackage ../development/python-modules/metaphone { }; + metar = callPackage ../development/python-modules/metar { }; + mezzanine = callPackage ../development/python-modules/mezzanine { }; micawber = callPackage ../development/python-modules/micawber { }; @@ -4918,6 +4920,8 @@ in { pynuki = callPackage ../development/python-modules/pynuki { }; + pynws = callPackage ../development/python-modules/pynws { }; + pysbd = callPackage ../development/python-modules/pysbd { }; pyshark = callPackage ../development/python-modules/pyshark { };