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