1{ lib
2, aiohttp
3, aresponses
4, buildPythonPackage
5, fetchFromGitHub
6, fetchpatch
7, poetry-core
8, pytest-aiohttp
9, pytest-asyncio
10, pytestCheckHook
11, pythonOlder
12}:
13
14buildPythonPackage rec {
15 pname = "aioflo";
16 version = "2021.11.0";
17 format = "pyproject";
18
19 disabled = pythonOlder "3.6";
20
21 src = fetchFromGitHub {
22 owner = "bachya";
23 repo = pname;
24 rev = version;
25 hash = "sha256-7NrOoc1gi8YzZaKvCnHnzAKPlMnMhqxjdyZGN5H/8TQ=";
26 };
27
28 patches = [
29 # This patch removes references to setuptools and wheel that are no longer
30 # necessary and changes poetry to poetry-core, so that we don't need to add
31 # unnecessary nativeBuildInputs.
32 #
33 # https://github.com/bachya/aioflo/pull/65
34 #
35 (fetchpatch {
36 name = "clean-up-build-dependencies.patch";
37 url = "https://github.com/bachya/aioflo/commit/f38d3f6427777ab0eeb56177943679e2570f0634.patch";
38 hash = "sha256-iLgklhEZ61rrdzQoO6rp1HGZcqLsqGNitwIiPNLNHQ4=";
39 })
40 ];
41
42 nativeBuildInputs = [
43 poetry-core
44 ];
45
46 propagatedBuildInputs = [
47 aiohttp
48 ];
49
50 __darwinAllowLocalNetworking = true;
51
52 nativeCheckInputs = [
53 aresponses
54 pytest-aiohttp
55 pytest-asyncio
56 pytestCheckHook
57 ];
58
59 pythonImportsCheck = [
60 "aioflo"
61 ];
62
63 meta = with lib; {
64 description = "Python library for Flo by Moen Smart Water Detectors";
65 homepage = "https://github.com/bachya/aioflo";
66 license = with licenses; [ mit ];
67 maintainers = with maintainers; [ fab ];
68 };
69}