Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 boto3, 4 buildPythonPackage, 5 fetchFromGitHub, 6 ftfy, 7 mailchecker, 8 openpyxl, 9 orjson, 10 phonenumbers, 11 beautifulsoup4, 12 pytestCheckHook, 13 python-dateutil, 14 python-decouple, 15 python-fsutil, 16 python-slugify, 17 pythonOlder, 18 pyyaml, 19 requests, 20 setuptools, 21 toml, 22 xlrd, 23 xmltodict, 24}: 25 26buildPythonPackage rec { 27 pname = "python-benedict"; 28 version = "0.33.2"; 29 pyproject = true; 30 31 disabled = pythonOlder "3.7"; 32 33 src = fetchFromGitHub { 34 owner = "fabiocaccamo"; 35 repo = "python-benedict"; 36 rev = "refs/tags/${version}"; 37 hash = "sha256-1/eLJFXACn1W5Yz43BIhdqqUVk3t9285d8aLwH+VmAE="; 38 }; 39 40 pythonRelaxDeps = [ "boto3" ]; 41 42 nativeBuildInputs = [ 43 setuptools 44 ]; 45 46 propagatedBuildInputs = [ 47 python-fsutil 48 python-slugify 49 requests 50 ]; 51 52 passthru.optional-dependencies = { 53 all = [ 54 beautifulsoup4 55 boto3 56 ftfy 57 mailchecker 58 openpyxl 59 phonenumbers 60 python-dateutil 61 pyyaml 62 toml 63 xlrd 64 xmltodict 65 ]; 66 html = [ 67 beautifulsoup4 68 xmltodict 69 ]; 70 io = [ 71 beautifulsoup4 72 openpyxl 73 pyyaml 74 toml 75 xlrd 76 xmltodict 77 ]; 78 parse = [ 79 ftfy 80 mailchecker 81 phonenumbers 82 python-dateutil 83 ]; 84 s3 = [ boto3 ]; 85 toml = [ toml ]; 86 xls = [ 87 openpyxl 88 xlrd 89 ]; 90 xml = [ xmltodict ]; 91 yaml = [ pyyaml ]; 92 }; 93 94 nativeCheckInputs = [ 95 orjson 96 pytestCheckHook 97 python-decouple 98 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 99 100 disabledTests = [ 101 # Tests require network access 102 "test_from_base64_with_valid_url_valid_content" 103 "test_from_html_with_valid_file_valid_content" 104 "test_from_html_with_valid_url_valid_content" 105 "test_from_json_with_valid_url_valid_content" 106 "test_from_pickle_with_valid_url_valid_content" 107 "test_from_plist_with_valid_url_valid_content" 108 "test_from_query_string_with_valid_url_valid_content" 109 "test_from_toml_with_valid_url_valid_content" 110 "test_from_xls_with_valid_url_valid_content" 111 "test_from_xml_with_valid_url_valid_content" 112 "test_from_yaml_with_valid_url_valid_content" 113 ]; 114 115 pythonImportsCheck = [ "benedict" ]; 116 117 meta = with lib; { 118 description = "Module with keylist/keypath support"; 119 homepage = "https://github.com/fabiocaccamo/python-benedict"; 120 changelog = "https://github.com/fabiocaccamo/python-benedict/blob/${version}/CHANGELOG.md"; 121 license = licenses.mit; 122 maintainers = with maintainers; [ fab ]; 123 }; 124}