about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix')
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix74
1 files changed, 74 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
new file mode 100644
index 000000000000..b9fb35016c3b
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/parsedmarc/default.nix
@@ -0,0 +1,74 @@
+{ buildPythonPackage
+, fetchPypi
+, fetchurl
+, pythonOlder
+, lib
+, nixosTests
+
+# pythonPackages
+, tqdm
+, dnspython
+, expiringdict
+, urllib3
+, requests
+, publicsuffix2
+, xmltodict
+, geoip2
+, IMAPClient
+, dateparser
+, elasticsearch-dsl
+, kafka-python
+, mailsuite
+, lxml
+, boto3
+}:
+
+let
+  dashboard = fetchurl {
+    url = "https://raw.githubusercontent.com/domainaware/parsedmarc/77331b55c54cb3269205295bd57d0ab680638964/grafana/Grafana-DMARC_Reports.json";
+    sha256 = "0wbihyqbb4ndjg79qs8088zgrcg88km8khjhv2474y7nzjzkf43i";
+  };
+in
+buildPythonPackage rec {
+  pname = "parsedmarc";
+  version = "7.0.1";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mi4hx410y7ikpfy1582lm252si0c3yryj0idqgqbx417fm21jjc";
+  };
+
+  propagatedBuildInputs = [
+    tqdm
+    dnspython
+    expiringdict
+    urllib3
+    requests
+    publicsuffix2
+    xmltodict
+    geoip2
+    IMAPClient
+    dateparser
+    elasticsearch-dsl
+    kafka-python
+    mailsuite
+    lxml
+    boto3
+  ];
+
+  pythonImportsCheck = [ "parsedmarc" ];
+
+  passthru = {
+    inherit dashboard;
+    tests = nixosTests.parsedmarc;
+  };
+
+  meta = {
+    description = "Python module and CLI utility for parsing DMARC reports";
+    homepage = "https://domainaware.github.io/parsedmarc/";
+    maintainers = with lib.maintainers; [ talyz ];
+    license = lib.licenses.asl20;
+  };
+}