1{ lib
2, buildPythonPackage
3, fetchpatch
4, fetchFromGitHub
5
6# propagates
7, jinja2
8, lxml
9, ncclient
10, netaddr
11, ntc-templates
12, paramiko
13, pyparsing
14, pyserial
15, pyyaml
16, scp
17, six
18, transitions
19, yamlordereddictloader
20
21# tests
22, mock
23, nose
24, pytestCheckHook
25}:
26
27buildPythonPackage rec {
28 pname = "junos-eznc";
29 version = "2.6.5";
30 format = "setuptools";
31
32 src = fetchFromGitHub {
33 owner = "Juniper";
34 repo = "py-junos-eznc";
35 rev = version;
36 hash = "sha256-BoHT6ejccInfREbYtW6psm3fvsQxLS1vpj/aPDqqpnY=";
37 };
38
39 propagatedBuildInputs = [
40 jinja2
41 lxml
42 ncclient
43 netaddr
44 ntc-templates
45 paramiko
46 pyparsing
47 pyserial
48 pyyaml
49 scp
50 six
51 transitions
52 yamlordereddictloader
53 ];
54
55 checkInputs = [
56 mock
57 nose
58 ];
59
60 checkPhase = ''
61 nosetests -v -a unit --exclude=test_sw_put_ftp
62 '';
63
64 pythonImportsCheck = [ "jnpr.junos" ];
65
66 meta = with lib; {
67 homepage = "https://github.com/Juniper/py-junos-eznc";
68 description = "Junos 'EZ' automation for non-programmers";
69 license = licenses.asl20;
70 maintainers = with maintainers; [ xnaveira ];
71 };
72}