1{
2 lib,
3 aiodns,
4 async-timeout,
5 buildPythonPackage,
6 cached-ipaddress,
7 dnspython,
8 fetchFromGitHub,
9 ifaddr,
10 netifaces,
11 pyroute2,
12 pytest-asyncio,
13 pytestCheckHook,
14 pythonOlder,
15 setuptools,
16}:
17
18buildPythonPackage rec {
19 pname = "aiodiscover";
20 version = "2.1.0";
21 pyproject = true;
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "bdraco";
27 repo = "aiodiscover";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-+DcROb6jR0veD3oSKgyJHUi1VtCT54yBKvVqir5y+R4=";
30 };
31
32 nativeBuildInputs = [ setuptools ];
33
34 propagatedBuildInputs = [
35 async-timeout
36 aiodns
37 cached-ipaddress
38 dnspython
39 ifaddr
40 netifaces
41 pyroute2
42 ];
43
44 nativeCheckInputs = [
45 pytest-asyncio
46 pytestCheckHook
47 ];
48
49 disabledTests = [
50 # Tests require access to /etc/resolv.conf
51 "test_async_discover_hosts"
52 ];
53
54 pythonImportsCheck = [ "aiodiscover" ];
55
56 meta = with lib; {
57 description = "Python module to discover hosts via ARP and PTR lookup";
58 homepage = "https://github.com/bdraco/aiodiscover";
59 changelog = "https://github.com/bdraco/aiodiscover/releases/tag/v${version}";
60 license = with licenses; [ asl20 ];
61 maintainers = with maintainers; [ fab ];
62 };
63}