1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 pyasn1,
11 pysmi,
12 pysnmpcrypto,
13
14 # tests
15 pytestCheckHook,
16 pytest-asyncio,
17}:
18
19buildPythonPackage rec {
20 pname = "pysnmp";
21 version = "6.2.6";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "lextudio";
26 repo = "pysnmp";
27 rev = "refs/tags/v${version}";
28 hash = "sha256-+FfXvsfn8XzliaGUKZlzqbozoo6vDxUkgC87JOoVasY=";
29 };
30
31 pythonRemoveDeps = [ "pytest-cov" ];
32
33 build-system = [ poetry-core ];
34
35 dependencies = [
36 pyasn1
37 pysmi
38 pysnmpcrypto
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 pytest-asyncio
44 ];
45
46 disabledTests = [
47 # Temporary failure in name resolution
48 "test_custom_asn1_mib_search_path"
49 "test_send_notification"
50 "test_send_trap"
51 "test_send_v3_inform_notification"
52 "test_send_v3_inform_sync"
53 "test_usm_sha_aes128"
54 "test_v1_get"
55 "test_v1_next"
56 "test_v1_set"
57 "test_v2c_bulk"
58 # pysnmp.smi.error.MibNotFoundError
59 "test_send_v3_trap_notification"
60 "test_addAsn1MibSource"
61 "test_v1_walk"
62 "test_v2_walk"
63 ];
64
65 pythonImportsCheck = [ "pysnmp" ];
66
67 meta = with lib; {
68 description = "Python SNMP library";
69 homepage = "https://github.com/lextudio/pysnmp";
70 changelog = "https://github.com/lextudio/pysnmp/blob/${src.rev}/CHANGES.rst";
71 license = licenses.bsd2;
72 maintainers = with maintainers; [ hexa ];
73 };
74}