diff --git a/pkgs/development/python-modules/python-rabbitair/default.nix b/pkgs/development/python-modules/python-rabbitair/default.nix new file mode 100644 index 000000000000..7ebc98426d99 --- /dev/null +++ b/pkgs/development/python-modules/python-rabbitair/default.nix @@ -0,0 +1,60 @@ +{ lib +, buildPythonPackage +, cryptography +, fetchFromGitHub +, pytest-asyncio +, pytestCheckHook +, pythonOlder +, typing-extensions +, zeroconf +}: + +buildPythonPackage rec { + pname = "python-rabbitair"; + version = "0.0.8"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "rabbit-air"; + repo = pname; + rev = "v${version}"; + hash = "sha256-CGr7NvnGRNTiKq5BpB/zmfgyd/2ggTbO0nj+Q+MavTs="; + }; + + propagatedBuildInputs = [ + cryptography + zeroconf + ] ++ lib.optionals (pythonOlder "3.8") [ + typing-extensions + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "rabbitair" + ]; + + disabledTests = [ + # Tests require network access + "test_info" + "test_no_response" + "test_protocol_error" + "test_sequential_requests" + "test_set_state" + "test_state_a2" + "test_state_a3" + "test_zeroconf" + ]; + + meta = with lib; { + description = "Module for the control of Rabbit Air air purifiers"; + homepage = "https://github.com/rabbit-air/python-rabbitair"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d6a95d902170..4fd36133f4e0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8470,6 +8470,8 @@ in { python-rapidjson = callPackage ../development/python-modules/python-rapidjson { }; + python-rabbitair = callPackage ../development/python-modules/python-rabbitair { }; + python-redis-lock = callPackage ../development/python-modules/python-redis-lock { }; python-registry = callPackage ../development/python-modules/python-registry { };