1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, poetry-core
5, pycryptodomex
6, pysnmp-pyasn1
7, pysnmp-pysmi
8, pythonOlder
9}:
10
11buildPythonPackage rec {
12 pname = "pysnmplib";
13 version = "5.0.21";
14 format = "pyproject";
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchFromGitHub {
19 owner = "pysnmp";
20 repo = "pysnmp";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-ejRIlRxDbdZgy7wHilSzunRTGn1uO6YLLmLxNrrHKss=";
23 };
24
25 nativeBuildInputs = [
26 poetry-core
27 ];
28
29 propagatedBuildInputs = [
30 pysnmp-pysmi
31 pysnmp-pyasn1
32 pycryptodomex
33 ];
34
35 # Module has no test, examples are used for testing
36 doCheck = false;
37
38 pythonImportsCheck = [
39 "pysnmp"
40 ];
41
42 meta = with lib; {
43 description = "Implementation of v1/v2c/v3 SNMP engine";
44 homepage = "https://github.com/pysnmp/pysnmp";
45 changelog = "https://github.com/pysnmp/pysnmp/releases/tag/v${version}";
46 license = with licenses; [ mit ];
47 maintainers = with maintainers; [ fab ];
48 };
49}