1{
2 lib,
3 aiohttp,
4 bidict,
5 buildPythonPackage,
6 fetchPypi,
7 humanize,
8 lxml,
9 pythonOlder,
10 requests,
11 setuptools,
12 slixmpp,
13 websockets,
14}:
15
16buildPythonPackage rec {
17 pname = "gehomesdk";
18 version = "2025.5.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-YMw0W9EWz3KY1+aZMdtE4TRvFd9yqTHkfw0X3+ZDCfQ=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [
31 aiohttp
32 bidict
33 humanize
34 lxml
35 requests
36 slixmpp
37 websockets
38 ];
39
40 # Tests are not shipped and source is not tagged
41 # https://github.com/simbaja/gehome/issues/32
42 doCheck = false;
43
44 pythonImportsCheck = [ "gehomesdk" ];
45
46 meta = with lib; {
47 description = "Python SDK for GE smart appliances";
48 homepage = "https://github.com/simbaja/gehome";
49 changelog = "https://github.com/simbaja/gehome/blob/master/CHANGELOG.md";
50 license = licenses.mit;
51 maintainers = with maintainers; [ fab ];
52 mainProgram = "gehome-appliance-data";
53 };
54}