12 buildPythonPackage rec {
13 pname = "screenlogicpy";
17 disabled = pythonOlder "3.10";
19 src = fetchFromGitHub {
20 owner = "dieselrabbit";
21 repo = "screenlogicpy";
22 rev = "refs/tags/v${version}";
23 hash = "sha256-z6cM0sihZvOHCA3v1DYQEev0axf4AcqEW13WA1EMhQM=";
30 propagatedBuildInputs = [
40 # Tests require network access
41 "test_async_discovery"
43 "test_asyncio_gateway_discovery"
44 "test_discovery_async_discover"
45 "test_gateway_discovery"
47 ] ++ lib.optionals (pythonAtLeast "3.12") [
48 # Tests block on Python 3.12
50 "test_attach_existing"
51 "test_login_async_connect_to_gateway"
52 "test_login_async_gateway_connect"
55 pythonImportsCheck = [
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 ];