1{ stdenv
2, lib
3, buildPythonPackage
4, fetchFromGitHub
5, jinja2
6, poetry-core
7, pytestCheckHook
8, pythonOlder
9, pyyaml
10, toml
11}:
12
13buildPythonPackage rec {
14 pname = "netutils";
15 version = "1.4.1";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.7";
19
20 src = fetchFromGitHub {
21 owner = "networktocode";
22 repo = pname;
23 rev = "refs/tags/v${version}";
24 hash = "sha256-hSSHCWi0L/ZfFz0JQ6Al5mjhb2g0DpykLF66uMKMIN8=";
25 };
26
27 nativeBuildInputs = [
28 poetry-core
29 ];
30
31 nativeCheckInputs = [
32 jinja2
33 pytestCheckHook
34 pyyaml
35 toml
36 ];
37
38 pythonImportsCheck = [
39 "netutils"
40 ];
41
42 disabledTests = [
43 # Tests require network access
44 "test_is_fqdn_resolvable"
45 "test_fqdn_to_ip"
46 "test_tcp_ping"
47 # Skip Sphinx test
48 "test_sphinx_build"
49 # OSError: [Errno 22] Invalid argument
50 "test_compare_type5"
51 "test_encrypt_type5"
52 ];
53
54 meta = with lib; {
55 description = "Library that is a collection of objects for common network automation tasks";
56 homepage = "https://github.com/networktocode/netutils";
57 changelog = "https://github.com/networktocode/netutils/releases/tag/v${version}";
58 license = licenses.asl20;
59 maintainers = with maintainers; [ fab ];
60 broken = stdenv.isDarwin;
61 };
62}