diff --git a/pkgs/development/python-modules/pyairnow/default.nix b/pkgs/development/python-modules/pyairnow/default.nix new file mode 100644 index 00000000000..51497e8875b --- /dev/null +++ b/pkgs/development/python-modules/pyairnow/default.nix @@ -0,0 +1,45 @@ +{ lib +, aiohttp +, aioresponses +, buildPythonPackage +, fetchFromGitHub +, pytest-aiohttp +, poetry +, pytest-asyncio +, pytest-cov +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "pyairnow"; + version = "1.1.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "asymworks"; + repo = pname; + rev = "v${version}"; + sha256 = "1hkpfl8rdwyzqrr1drqlmcw3xpv3pi1jf19h1divspbzwarqxs1c"; + }; + + nativeBuildInputs = [ poetry ]; + + propagatedBuildInputs = [ aiohttp ]; + + checkInputs = [ + aioresponses + pytest-asyncio + pytest-aiohttp + pytest-cov + pytestCheckHook + ]; + + pythonImportsCheck = [ "pyairnow" ]; + + meta = with lib; { + description = "Python wrapper for EPA AirNow Air Quality API"; + homepage = "https://github.com/asymworks/pyairnow"; + 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 78cd3a15baa..285433fe509 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -16,7 +16,7 @@ "agent_dvr" = ps: with ps; [ agent-py ]; "air_quality" = ps: with ps; [ ]; "airly" = ps: with ps; [ airly ]; - "airnow" = ps: with ps; [ ]; # missing inputs: pyairnow + "airnow" = ps: with ps; [ pyairnow ]; "airvisual" = ps: with ps; [ pyairvisual ]; "aladdin_connect" = ps: with ps; [ ]; # missing inputs: aladdin_connect "alarm_control_panel" = ps: with ps; [ ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 23dd4638b98..e8de93abca5 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5199,6 +5199,8 @@ in { pyahocorasick = callPackage ../development/python-modules/pyahocorasick { }; + pyairnow = callPackage ../development/python-modules/pyairnow { }; + pyairvisual = callPackage ../development/python-modules/pyairvisual { }; pyalgotrade = callPackage ../development/python-modules/pyalgotrade { };