1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 ntc-templates,
11 paramiko,
12 pyserial,
13 pyyaml,
14 scp,
15 textfsm,
16}:
17
18buildPythonPackage rec {
19 pname = "netmiko";
20 version = "4.3.0";
21 pyproject = true;
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-2pD2798ztBQOts1/InJ3PCzhRPp0rDTV7KwbTUYH8fs=";
26 };
27
28 postPatch = ''
29 substituteInPlace pyproject.toml \
30 --replace "poetry==1.3.2" "poetry-core" \
31 --replace "poetry.masonry.api" "poetry.core.masonry.api"
32 '';
33
34 nativeBuildInputs = [ poetry-core ];
35
36 propagatedBuildInputs = [
37 ntc-templates
38 paramiko
39 pyserial
40 pyyaml
41 scp
42 textfsm
43 ];
44
45 # tests require closed-source pyats and genie packages
46 doCheck = false;
47
48 meta = with lib; {
49 description = "Multi-vendor library to simplify Paramiko SSH connections to network devices";
50 homepage = "https://github.com/ktbyers/netmiko/";
51 license = licenses.mit;
52 maintainers = [ maintainers.astro ];
53 };
54}