$npx skillfedfor your agent

parsedmarc

A Python package and CLI for parsing aggregate, failure, and SMTP TLS DMARC reports

Worth itPyPI MonitoringReleased Jul 2026101.9K downloads / moApache-2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — parsedmarc-10.4.1-py3-none-any.whl
v10.4.1 · released 2026-07-28 · Python >=3.10 · 19 runtime deps: azure-identity, azure-monitor-ingestion, boto3, dateparser, dnspython, elasticsearch, expiringdict, httpx

Yes. parsedmarc is actively maintained (release 17 days ago), production-stable, permissively licensed, and has low install friction. It fills a clear need for organizations that want to self-host DMARC report processing without commercial services. The broad export backend support (Elasticsearch, Splunk, PostgreSQL, Kafka, S3, Azure, etc.) makes it adaptable to existing infrastructure. Install it if you manage email domains and need structured DMARC analytics.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Optional: IMAP, Microsoft Graph, or Gmail API credentials if parsing from mailboxes; Elasticsearch/OpenSearch/Splunk/PostgreSQL for result storage.
  • Low friction install with a pure-Python wheel.

License · maintenance · safety

Apache-2.0 (permissive) — Apache-2.0 (permissive) allows commercial and private use with attribution; no restrictions on modification or redistribution.

last release 2026-07-28 (17 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 101,866 downloads/mo, #12,908 on PyPI

Verify before relying

pip install parsedmarc

from parsedmarc import parse_report_file
results = parse_report_file('dmarc_report.xml')
print(results)
  • Exact feature coverage for RFC 9989 and RFC 9990 DMARC schema support beyond the description excerpt
  • Performance characteristics when processing large volumes of reports
  • Whether all 19 runtime dependencies are required or conditionally installed based on export backend choice
Same gist for agents: .md · .json

What it is and what it does

parsedmarc is a Python module and CLI tool that extracts structured data from DMARC aggregate and failure reports, as well as SMTP TLS Reporting (TLS-RPT) messages. It handles the parsing of multiple DMARC schema versions (legacy draft, RFC 7489, RFC 9989/9990) and transparently decompresses gzip or zip archives. The tool can retrieve reports directly from mailboxes via IMAP, Microsoft Graph, or Gmail API, then normalize the results into consistent data structures.

The package is designed as a self-hosted alternative to commercial DMARC report processing services. It outputs results as JSON or CSV and can forward them to multiple backends—Elasticsearch, OpenSearch, Splunk, PostgreSQL, Apache Kafka, Amazon S3, Azure Log Analytics, Graylog, syslog, or HTTP webhooks—enabling integration with existing monitoring and analytics platforms. It is actively maintained, production-stable, and supports current Python versions (3.10 through 3.14).

Use it for

  • Ingest DMARC reports from an email inbox and load them into Elasticsearch/Kibana for dashboard monitoring of email authentication failures.
  • Parse forensic (failure) DMARC reports to investigate specific email authentication incidents and identify spoofing attempts.
  • Automate DMARC report collection and export to CSV or JSON for compliance auditing and historical record-keeping.
  • Forward parsed DMARC and TLS-RPT data to Splunk or Azure Sentinel for centralized security event correlation.
  • Stream DMARC report results to Apache Kafka or Amazon S3 for downstream processing in data pipelines.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

parsedmarc is actively maintained (release 17 days ago), production-stable, permissively licensed, and has low install friction. It fills a clear need for organizations that want to self-host DMARC report processing without commercial services. The broad export backend support (Elasticsearch, Splunk, PostgreSQL, Kafka, S3, Azure, etc.) makes it adaptable to existing infrastructure. Install it if you manage email domains and need structured DMARC analytics.

Install

parsedmarc on PyPI

Before you install

Low friction install with a pure-Python wheel. Actively maintained with a release 17 days ago. Requires Python 3.10 or later; 19 runtime dependencies cover email access, data parsing, and multiple export backends.

Requires Python 3.10 or later. Optional: IMAP, Microsoft Graph, or Gmail API credentials if parsing from mailboxes; Elasticsearch/OpenSearch/Splunk/PostgreSQL for result storage.

License in practice

Apache-2.0 (permissive) allows commercial and private use with attribution; no restrictions on modification or redistribution.

Quickstart

pip install parsedmarc

from parsedmarc import parse_report_file
results = parse_report_file('dmarc_report.xml')
print(results)

Verify before relying

  • Exact feature coverage for RFC 9989 and RFC 9990 DMARC schema support beyond the description excerpt
  • Performance characteristics when processing large volumes of reports
  • Whether all 19 runtime dependencies are required or conditionally installed based on export backend choice

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
19 packages
azure-identityazure-monitor-ingestionboto3dateparserdnspythonelasticsearchexpiringdicthttpxkafka-pythonlxmlmailsuitemaxminddbmicrosoft-kiota-abstractionsopensearch-pypublicsuffixlistpygelfpyyamltqdmxmltodict
MaintenanceActively maintained 17 days since the last release
First released
Downloads101,866 / month, #12,908 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

Evidence: parsedmarc-10.4.1-py3-none-any.whl

Tags

Capabilities
DMARC report parseremail authentication reportingparse DMARC aggregate reportsTLS-RPT report processingDMARC to Elasticsearchemail security report analysisDMARC forensic report parser
Topics
email-securitydmarc-reportinglog-aggregation
PyPI keywords
DMARCparserreporting

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “DMARC report parser”

  • parsedmarcParses DMARC, TLS-RPT, and related email authentication reports from…
  • checkdmarcValidates SPF, DMARC, BIMI, MTA-STS, and related email authentication…
  • authheadersGenerates and validates email authentication headers (DKIM, SPF,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Monitoring packages

tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
opentelemetry-semantic-conventions Worth it
PyPI · Monitoring · released Jul 2026

Provides generated Python code for OpenTelemetry semantic conventions, enabling standardized attribute naming and constant definitions for instrumentation and telemetry collection.

Install it if you are using OpenTelemetry and want to follow semantic conventions correctly.

Apache-2.0pure Python · 3.10+
542.9Mdownloads / mo
opentelemetry-sdk Worth it
PyPI · Monitoring · released Jul 2026

Provides the reference implementation of the OpenTelemetry API for collecting and exporting traces, metrics, and logs from Python applications.

Apache-2.0pure Python · 3.10+
521.8Mdownloads / mo
opentelemetry-api With conditions
PyPI · Monitoring · released Jul 2026

Provides the abstract API and interfaces for OpenTelemetry instrumentation in Python, defining how to emit traces, metrics, and logs without tying code to a specific SDK implementation.

Apache-2.0pure Python · 3.10+
463.8Mdownloads / mo
opentelemetry-exporter-otlp-proto-http Worth it
PyPI · Monitoring · released Jul 2026

Exports OpenTelemetry observability data to an OpenTelemetry Collector using Protobuf-encoded messages over HTTP.

Install it if you are using OpenTelemetry in Python and need to send data to a Collector over HTTP.

Apache-2.0pure Python · 3.10+
409.9Mdownloads / mo
opentelemetry-instrumentation Worth it
PyPI · Monitoring · released Jul 2026

Provides automatic instrumentation commands and programmatic APIs to inject distributed tracing into Python applications without code changes, detecting and instrumenting packages used by your program.

Install it if you need distributed tracing without code changes and have compatible instrumented packages in your environment.

Apache-2.0pure Python · 3.10+
393.5Mdownloads / mo

See also checkdmarc · authheaders · mailsuite · mail-parser · dkimpy · awslogs · robotframework-imaplibrary2 · pygelf · graypy · tls-parser