1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 ntc-templates,
6 paramiko,
7 poetry-core,
8 pyserial,
9 pyyaml,
10 rich,
11 ruamel-yaml,
12 scp,
13 textfsm,
14}:
15
16buildPythonPackage rec {
17 pname = "netmiko";
18 version = "4.6.0";
19 pyproject = true;
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-lwG7LBoV6y6AdMsuKMoAfGm5+lKWG4O5jHV+rWuA3u8=";
24 };
25
26 build-system = [ poetry-core ];
27
28 dependencies = [
29 ntc-templates
30 paramiko
31 pyserial
32 pyyaml
33 rich
34 ruamel-yaml
35 scp
36 textfsm
37 ];
38
39 # Tests require closed-source pyats and genie packages
40 doCheck = false;
41
42 pythonImportsCheck = [ "netmiko" ];
43
44 meta = with lib; {
45 description = "Multi-vendor library to simplify Paramiko SSH connections to network devices";
46 homepage = "https://github.com/ktbyers/netmiko/";
47 changelog = "https://github.com/ktbyers/netmiko/releases/tag/v${version}";
48 license = licenses.mit;
49 maintainers = [ maintainers.astro ];
50 };
51}