1{ buildPythonPackage 2, fetchPypi 3, fetchurl 4, pythonOlder 5, lib 6, nixosTests 7 8# pythonPackages 9, tqdm 10, dnspython 11, expiringdict 12, urllib3 13, requests 14, publicsuffix2 15, xmltodict 16, geoip2 17, imapclient 18, dateparser 19, elasticsearch-dsl 20, kafka-python 21, mailsuite 22, lxml 23, boto3 24}: 25 26let 27 dashboard = fetchurl { 28 url = "https://raw.githubusercontent.com/domainaware/parsedmarc/77331b55c54cb3269205295bd57d0ab680638964/grafana/Grafana-DMARC_Reports.json"; 29 sha256 = "0wbihyqbb4ndjg79qs8088zgrcg88km8khjhv2474y7nzjzkf43i"; 30 }; 31in 32buildPythonPackage rec { 33 pname = "parsedmarc"; 34 version = "7.0.1"; 35 36 disabled = pythonOlder "3.7"; 37 38 src = fetchPypi { 39 inherit pname version; 40 sha256 = "1mi4hx410y7ikpfy1582lm252si0c3yryj0idqgqbx417fm21jjc"; 41 }; 42 43 propagatedBuildInputs = [ 44 tqdm 45 dnspython 46 expiringdict 47 urllib3 48 requests 49 publicsuffix2 50 xmltodict 51 geoip2 52 imapclient 53 dateparser 54 elasticsearch-dsl 55 kafka-python 56 mailsuite 57 lxml 58 boto3 59 ]; 60 61 pythonImportsCheck = [ "parsedmarc" ]; 62 63 passthru = { 64 inherit dashboard; 65 tests = nixosTests.parsedmarc; 66 }; 67 68 meta = { 69 description = "Python module and CLI utility for parsing DMARC reports"; 70 homepage = "https://domainaware.github.io/parsedmarc/"; 71 maintainers = with lib.maintainers; [ talyz ]; 72 license = lib.licenses.asl20; 73 }; 74}