at 23.11-beta 1.4 kB view raw
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, pythonOlder 5 6# build-system 7, setuptools 8, cffi 9 10# dependencies 11, future 12, jinja2 13, junos-eznc 14, lxml 15, ncclient 16, netaddr 17, netmiko 18, netutils 19, paramiko 20, pyeapi 21, pyyaml 22, requests 23, scp 24, textfsm 25, ttp 26, ttp-templates 27, typing-extensions 28 29# tests 30, pytestCheckHook 31, ddt 32, mock 33 }: 34 35buildPythonPackage rec { 36 pname = "napalm"; 37 version = "4.1.0"; 38 format = "pyproject"; 39 40 disabled = pythonOlder "3.7"; 41 42 src = fetchFromGitHub { 43 owner = "napalm-automation"; 44 repo = "napalm"; 45 rev = "refs/tags/${version}"; 46 hash = "sha256-JqjuYMJcP58UMn1pPYg7x8KpqCKQUs19Ng9HbI2iX38="; 47 }; 48 49 nativeBuildInputs = [ 50 setuptools 51 ]; 52 53 propagatedBuildInputs = [ 54 cffi 55 future 56 jinja2 57 junos-eznc 58 lxml 59 ncclient 60 netaddr 61 netmiko 62 # breaks infinite recursion 63 (netutils.override { napalm = null; }) 64 paramiko 65 pyeapi 66 pyyaml 67 requests 68 scp 69 setuptools 70 textfsm 71 ttp 72 ttp-templates 73 typing-extensions 74 ]; 75 76 nativeCheckInputs = [ pytestCheckHook mock ddt ]; 77 78 meta = with lib; { 79 description = 80 "Network Automation and Programmability Abstraction Layer with Multivendor support"; 81 homepage = "https://github.com/napalm-automation/napalm"; 82 license = licenses.asl20; 83 maintainers = with maintainers; [ ] ++ teams.c3d2.members; 84 }; 85}