Merge pull request #307098 from r-ryantm/auto-update/cilium-cli
[NixPkgs.git] / pkgs / development / python-modules / screenlogicpy / default.nix
blob9245c427e15b182edc4894e66efd8a299951c9fd
1 { lib
2 , async-timeout
3 , buildPythonPackage
4 , fetchFromGitHub
5 , pythonAtLeast
6 , pythonOlder
7 , pytest-asyncio
8 , setuptools
9 , pytestCheckHook
12 buildPythonPackage rec {
13   pname = "screenlogicpy";
14   version = "0.10.1";
15   pyproject = true;
17   disabled = pythonOlder "3.10";
19   src = fetchFromGitHub {
20     owner = "dieselrabbit";
21     repo = "screenlogicpy";
22     rev = "refs/tags/v${version}";
23     hash = "sha256-z6cM0sihZvOHCA3v1DYQEev0axf4AcqEW13WA1EMhQM=";
24   };
26   nativeBuildInputs = [
27     setuptools
28   ];
30   propagatedBuildInputs = [
31     async-timeout
32   ];
34   nativeCheckInputs = [
35     pytest-asyncio
36     pytestCheckHook
37   ];
39   disabledTests = [
40     # Tests require network access
41     "test_async_discovery"
42     "test_async"
43     "test_asyncio_gateway_discovery"
44     "test_discovery_async_discover"
45     "test_gateway_discovery"
46     "test_gateway"
47   ] ++ lib.optionals (pythonAtLeast "3.12") [
48     # Tests block on Python 3.12
49     "test_sub_unsub"
50     "test_attach_existing"
51     "test_login_async_connect_to_gateway"
52     "test_login_async_gateway_connect"
53   ];
55   pythonImportsCheck = [
56     "screenlogicpy"
57   ];
59   meta = with lib; {
60     description = "Python interface for Pentair Screenlogic devices";
61     mainProgram = "screenlogicpy";
62     homepage = "https://github.com/dieselrabbit/screenlogicpy";
63     changelog = "https://github.com/dieselrabbit/screenlogicpy/releases/tag/v${version}";
64     license = with licenses; [ gpl3Only ];
65     maintainers = with maintainers; [ fab ];
66   };