1{ lib 2, azure-identity 3, azure-monitor-ingestion 4, boto3 5, buildPythonPackage 6, dateparser 7, dnspython 8, elasticsearch 9, elasticsearch-dsl 10, expiringdict 11, fetchPypi 12, fetchurl 13, geoip2 14, google-api-core 15, google-api-python-client 16, google-auth 17, google-auth-httplib2 18, google-auth-oauthlib 19, hatchling 20, imapclient 21, kafka-python 22, lxml 23, mailsuite 24, msgraph-core 25, nixosTests 26, publicsuffixlist 27, pythonOlder 28, requests 29, tqdm 30, urllib3 31, xmltodict 32}: 33 34let 35 dashboard = fetchurl { 36 url = "https://raw.githubusercontent.com/domainaware/parsedmarc/77331b55c54cb3269205295bd57d0ab680638964/grafana/Grafana-DMARC_Reports.json"; 37 sha256 = "0wbihyqbb4ndjg79qs8088zgrcg88km8khjhv2474y7nzjzkf43i"; 38 }; 39in 40buildPythonPackage rec { 41 pname = "parsedmarc"; 42 version = "8.6.4"; 43 pyproject = true; 44 45 disabled = pythonOlder "3.7"; 46 47 src = fetchPypi { 48 inherit pname version; 49 hash = "sha256-ibxSp1M85WngQKdjlRC4JvLxn0rEn9oVkid/V4iD6zY="; 50 }; 51 52 postPatch = '' 53 substituteInPlace pyproject.toml \ 54 --replace "elasticsearch<7.14.0" "elasticsearch" 55 ''; 56 57 nativeBuildInputs = [ 58 hatchling 59 ]; 60 61 propagatedBuildInputs = [ 62 azure-identity 63 azure-monitor-ingestion 64 boto3 65 dateparser 66 dnspython 67 elasticsearch 68 elasticsearch-dsl 69 expiringdict 70 geoip2 71 google-api-core 72 google-api-python-client 73 google-auth 74 google-auth-httplib2 75 google-auth-oauthlib 76 imapclient 77 kafka-python 78 lxml 79 mailsuite 80 msgraph-core 81 publicsuffixlist 82 requests 83 tqdm 84 urllib3 85 xmltodict 86 ]; 87 88 # no tests on PyPI, no tags on GitHub 89 # https://github.com/domainaware/parsedmarc/issues/426 90 doCheck = false; 91 92 pythonImportsCheck = [ "parsedmarc" ]; 93 94 passthru = { 95 inherit dashboard; 96 tests = nixosTests.parsedmarc; 97 }; 98 99 meta = with lib; { 100 changelog = "https://github.com/domainaware/parsedmarc/blob/master/CHANGELOG.md#${lib.replaceStrings [ "." ] [ "" ] version}"; 101 description = "Python module and CLI utility for parsing DMARC reports"; 102 homepage = "https://domainaware.github.io/parsedmarc/"; 103 mainProgram = "parsedmarc"; 104 maintainers = with maintainers; [ talyz ]; 105 license = licenses.asl20; 106 }; 107}