1{ 2 lib, 3 attrs, 4 buildPythonPackage, 5 dnspython, 6 fetchFromGitHub, 7 hatchling, 8 hier-config, 9 loguru, 10 macaddress, 11 passlib, 12 pyparsing, 13 pytest-cov-stub, 14 pytestCheckHook, 15 pyyaml, 16 rich, 17 scrypt, 18 tomlkit, 19 typeguard, 20}: 21 22buildPythonPackage rec { 23 pname = "ciscoconfparse2"; 24 version = "0.8.17"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "mpenning"; 29 repo = "ciscoconfparse2"; 30 tag = version; 31 hash = "sha256-G6FR2v/FJE0ySpNXJ9603O16UjSqOkRB2+7xNoLBJAM="; 32 }; 33 34 pythonRelaxDeps = [ 35 "attrs" 36 "hier-config" 37 "passlib" 38 "typeguard" 39 ]; 40 41 build-system = [ hatchling ]; 42 43 dependencies = [ 44 attrs 45 dnspython 46 hier-config 47 loguru 48 macaddress 49 passlib 50 pyparsing 51 pyyaml 52 rich 53 scrypt 54 tomlkit 55 typeguard 56 ]; 57 58 nativeCheckInputs = [ 59 pytest-cov-stub 60 pytestCheckHook 61 ]; 62 63 pythonImportsCheck = [ "ciscoconfparse2" ]; 64 65 disabledTests = [ 66 # Fixtures are missing 67 "testParse_parse_syntax" 68 "testParse_syntax" 69 "testVal_IOSHSRPGroups" 70 "testVal_IOSSDWAN" 71 "testVal_junos_factory" 72 "testVal_JunosCfgLine" 73 "testValues_ccp_script_entry_cliapplication" 74 "testValues_Diff" 75 "testValues_IOSCfgLine" 76 "testValues_pickle" 77 "testValues_save_as_01" 78 ]; 79 80 meta = { 81 description = "Module to parse, audit, query, build and modify device configurations"; 82 homepage = "https://github.com/mpenning/ciscoconfparse2"; 83 changelog = "https://github.com/mpenning/ciscoconfparse2/blob/${src.tag}/CHANGES.md"; 84 license = lib.licenses.gpl3Only; 85 maintainers = with lib.maintainers; [ fab ]; 86 }; 87}