about summary refs log tree commit diff
path: root/pkgs/development/python-modules/python-benedict/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/python-benedict/default.nix')
-rw-r--r--pkgs/development/python-modules/python-benedict/default.nix85
1 files changed, 64 insertions, 21 deletions
diff --git a/pkgs/development/python-modules/python-benedict/default.nix b/pkgs/development/python-modules/python-benedict/default.nix
index 65a27c9b53cfa..9b6ffe4e0fe89 100644
--- a/pkgs/development/python-modules/python-benedict/default.nix
+++ b/pkgs/development/python-modules/python-benedict/default.nix
@@ -7,6 +7,7 @@
 , openpyxl
 , orjson
 , phonenumbers
+, beautifulsoup4
 , pytestCheckHook
 , python-dateutil
 , python-decouple
@@ -16,7 +17,7 @@
 , pythonRelaxDepsHook
 , pyyaml
 , requests
-, six
+, setuptools
 , toml
 , xlrd
 , xmltodict
@@ -24,52 +25,94 @@
 
 buildPythonPackage rec {
   pname = "python-benedict";
-  version = "0.33.0";
-  format = "setuptools";
+  version = "0.33.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "fabiocaccamo";
-    repo = pname;
+    repo = "python-benedict";
     rev = "refs/tags/${version}";
-    hash = "sha256-SJBU7jMnyLBdWQPQ/UGbVklKUOrCM3fMnOkXKHQnyPI=";
+    hash = "sha256-QRWyMqHW4C3+718mgp9z/dQ1loesm0Vaf2TzW3yqF3A=";
   };
 
-  nativeBuildInputs = [
-    pythonRelaxDepsHook
-  ];
-
   pythonRelaxDeps = [
     "boto3"
   ];
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+    setuptools
+  ];
+
   propagatedBuildInputs = [
-    boto3
-    ftfy
-    mailchecker
-    openpyxl
-    phonenumbers
-    python-dateutil
     python-fsutil
     python-slugify
-    pyyaml
     requests
-    toml
-    xlrd
-    xmltodict
   ];
 
+  passthru.optional-dependencies = {
+    all = [
+      beautifulsoup4
+      boto3
+      ftfy
+      mailchecker
+      openpyxl
+      phonenumbers
+      python-dateutil
+      pyyaml
+      toml
+      xlrd
+      xmltodict
+    ];
+    html = [
+      beautifulsoup4
+      xmltodict
+    ];
+    io = [
+      beautifulsoup4
+      openpyxl
+      pyyaml
+      toml
+      xlrd
+      xmltodict
+    ];
+    parse = [
+      ftfy
+      mailchecker
+      phonenumbers
+      python-dateutil
+    ];
+    s3 = [
+      boto3
+    ];
+    toml = [
+      toml
+    ];
+    xls = [
+      openpyxl
+      xlrd
+    ];
+    xml = [
+      xmltodict
+    ];
+    yaml = [
+      pyyaml
+    ];
+  };
+
   nativeCheckInputs = [
     orjson
     pytestCheckHook
     python-decouple
-    six
-  ];
+  ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
 
   disabledTests = [
     # Tests require network access
     "test_from_base64_with_valid_url_valid_content"
+    "test_from_html_with_valid_file_valid_content"
+    "test_from_html_with_valid_url_valid_content"
     "test_from_json_with_valid_url_valid_content"
     "test_from_pickle_with_valid_url_valid_content"
     "test_from_plist_with_valid_url_valid_content"