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