1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 poetry-core,
7 aiohttp,
8 sensor-state-data,
9 pytestCheckHook,
10 pytest-asyncio,
11 pytest-cov-stub,
12}:
13
14buildPythonPackage rec {
15 pname = "anova-wifi";
16 version = "0.17.1";
17 pyproject = true;
18
19 disabled = pythonOlder "3.10";
20
21 src = fetchFromGitHub {
22 owner = "Lash-L";
23 repo = "anova_wifi";
24 tag = "v${version}";
25 hash = "sha256-TRiv5ljdVqc4qeX+fSH+aTDf5UyNII8/twlNx3KC6oI=";
26 };
27
28 build-system = [ poetry-core ];
29
30 dependencies = [
31 aiohttp
32 sensor-state-data
33 ];
34
35 nativeCheckInputs = [
36 pytestCheckHook
37 pytest-asyncio
38 pytest-cov-stub
39 ];
40
41 disabledTests = [
42 # Makes network calls
43 "test_async_data_1"
44 # async def functions are not natively supported.
45 "test_can_create"
46 ];
47
48 pythonImportsCheck = [ "anova_wifi" ];
49
50 meta = with lib; {
51 description = "Python package for reading anova sous vide api data";
52 homepage = "https://github.com/Lash-L/anova_wifi";
53 changelog = "https://github.com/Lash-L/anova_wifi/releases/tag/v${version}";
54 maintainers = with maintainers; [ jamiemagee ];
55 license = licenses.mit;
56 };
57}