1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, cryptography
5, dictdiffer
6, grpcio
7, protobuf
8, pytestCheckHook
9}:
10
11buildPythonPackage rec {
12 pname = "pygnmi";
13 version = "0.8.12";
14 format = "setuptools";
15
16 src = fetchFromGitHub {
17 owner = "akarneliuk";
18 repo = "pygnmi";
19 rev = "v${version}";
20 sha256 = "sha256-5dAjN/HDFKQmJIjhergBjSmHQKhBxqy/Jneh1pLCHrw=";
21 };
22
23 propagatedBuildInputs = [
24 cryptography
25 dictdiffer
26 grpcio
27 protobuf
28 ];
29
30 # almost all tests fail with:
31 # TypeError: expected string or bytes-like object
32 doCheck = false;
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 ];
37
38 pythonImportsCheck = [ "pygnmi" ];
39
40 meta = with lib; {
41 description = "Pure Python gNMI client to manage network functions and collect telemetry";
42 homepage = "https://github.com/akarneliuk/pygnmi";
43 license = licenses.bsd3;
44 maintainers = with maintainers; [ ];
45 };
46}