1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 hatchling,
9
10 # dependencies
11 aiohttp,
12 yarl,
13
14 # tests
15 pytestCheckHook,
16}:
17
18buildPythonPackage rec {
19 pname = "openwebifpy";
20 version = "4.3.1";
21 pyproject = true;
22
23 disabled = pythonOlder "3.11";
24
25 src = fetchPypi {
26 inherit pname version;
27 hash = "sha256-FaynJT+bR63nIwLEwXjTjwPXZ3Q5/X+zpx0gTA3Pqo8=";
28 };
29
30 build-system = [ hatchling ];
31
32 dependencies = [
33 aiohttp
34 yarl
35 ];
36
37 nativeCheckInputs = [ pytestCheckHook ];
38
39 pythonImportsCheck = [ "openwebif" ];
40
41 disabledTests = [
42 # https://github.com/autinerd/openwebifpy/issues/1
43 "test_get_picon_name"
44 ];
45
46 meta = with lib; {
47 description = "Provides a python interface to interact with a device running OpenWebIf";
48 downloadPage = "https://github.com/autinerd/openwebifpy";
49 homepage = "https://openwebifpy.readthedocs.io/";
50 changelog = "https://github.com/autinerd/openwebifpy/releases/tag/${version}";
51 license = licenses.mit;
52 maintainers = with maintainers; [ hexa ];
53 };
54}