# Install checkdmarc with Homebrew

Command-line parser for SPF and DMARC DNS records. Version 5.17.3 via Homebrew; verified 2026-06-24.

## Install

```sh
sudo av install brew:checkdmarc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install checkdmarc
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:checkdmarc
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/checkdmarc>
- **Version:** 5.17.3
- **Source summary:** Command-line parser for SPF and DMARC DNS records
- **Homepage:** <https://domainaware.github.io/checkdmarc/>
- **Repository:** <https://github.com/domainaware/checkdmarc>
- **Upstream docs:** <https://domainaware.github.io/checkdmarc>
- **License:** Apache-2.0
- **Source archive:** <https://files.pythonhosted.org/packages/5a/4f/9824295f8a7a812c393d6f9509c74da538ae243ab4edf8e5fac64a051e3a/checkdmarc-5.17.3.tar.gz>
- **Last updated:** 2026-06-24T23:44:19Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- checkdmarc (cli)
- checkdmarc (alias)

## Dependencies

- certifi
- cryptography
- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 5.17.3
- Package-manager updated: 2026-06-24
- Local data: ok
- Upstream repository: https://domainaware.github.io/checkdmarc/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

checkdmarc is a Python module and command-line tool for validating DNS records used by email authentication, especially SPF and DMARC. Its package-manager significance comes from packaging operational email-security checks as a repeatable CLI rather than a one-off DNS debugging script.

### Project history

The upstream repository was created under domainaware in December 2017, and the project metadata describes checkdmarc as a Python module and command-line parser for SPF and DMARC records. The official documentation later expanded the scope to CLI, API, and web interfaces for validating SPF, DMARC, BIMI, MX, MTA-STS, SMTP TLS reporting, SOA, DNSSEC, and nameserver data.

The changelog shows continuing maintenance through the 5.x line, including updates for newer DMARC behavior such as RFC 9989 handling and ongoing parser, DNS, TLS, and dependency fixes.

### Adoption history

The package was first uploaded to PyPI as 1.3.0 in December 2017 and was still being released as 5.17.3 in June 2026. The batch package metadata also lists Homebrew distribution, making it available to macOS and Linux users who prefer system package managers over pip.

The official README advertises PyPI version and download badges and the docs link to a web application frontend, which points to usage beyond local scripting.

### How it is used

Typical usage is to run the checkdmarc executable against one or more domains and inspect machine-readable JSON or CSV output. The tool is aimed at operators who need to validate SPF and DMARC records and related email-security DNS configuration.

Because it is also a Python module, the same checks can be embedded into automation or reporting pipelines instead of being used only as an interactive CLI.

### Why package nerds care

checkdmarc matters to package nerds because it sits at the intersection of DNS operations, email authentication, and Python packaging. It turns a set of fiddly RFC-driven DNS checks into an installable command that can be upgraded through PyPI or Homebrew.

Its dependency and changelog history also show the maintenance burden common to security-adjacent CLIs: protocol changes, cryptography/OpenSSL dependency updates, DNS edge cases, and output stability all need to ship quickly.

### Timeline

- 2017: domainaware/checkdmarc repository created and 1.3.0 uploaded to PyPI.
- 2025: Official Sphinx documentation described checkdmarc as a module, CLI, and web application for SPF and DMARC validation.
- 2026: 5.17.3 released with Python metadata and validation fixes.

### Related projects

- checkdmarc-web-frontend is the related web interface linked from the official documentation.
- dnspython, SPF, DMARC, BIMI, MTA-STS, and SMTP TLS reporting are adjacent technologies that define much of the tool's job.

### Sources

- <https://github.com/domainaware/checkdmarc>
- <https://domainaware.github.io/checkdmarc/>
- <https://github.com/domainaware/checkdmarc/blob/master/CHANGELOG.md>
- <https://pypi.org/project/checkdmarc/>


## Security Notes

No matching local secret-handling manifest was found for checkdmarc. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** checkdmarc
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [technitium-dns](https://www.automicvault.com/pkg/brew/technitium-dns/) - Shares av.db curated category or tags: cli, dns, networking, security.
- [adns](https://www.automicvault.com/pkg/brew/adns/) - Shares av.db curated category or tags: cli, dns, networking.
- [aliddns](https://www.automicvault.com/pkg/brew/aliddns/) - Shares av.db curated category or tags: cli, dns, networking.
- [bind](https://www.automicvault.com/pkg/brew/bind/) - Shares av.db curated category or tags: cli, dns, networking.
- [c-ares](https://www.automicvault.com/pkg/brew/c-ares/) - Shares av.db curated category or tags: cli, dns, networking.
- [cdncheck](https://www.automicvault.com/pkg/brew/cdncheck/) - Shares av.db curated category or tags: cli, dns, networking.
- [chinadns-c](https://www.automicvault.com/pkg/brew/chinadns-c/) - Shares av.db curated category or tags: cli, dns, networking.
- [coredns](https://www.automicvault.com/pkg/brew/coredns/) - Shares av.db curated category or tags: cli, dns, networking.
- [lexicon](https://www.automicvault.com/pkg/brew/lexicon/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, cryptography, dns, networking.
- [dnsviz](https://www.automicvault.com/pkg/brew/dnsviz/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, cryptography, dns, networking, python.
- [parsedmarc](https://www.automicvault.com/pkg/brew/parsedmarc/) - Both packages touch the same language runtime or ecosystem. Shared terms: certifi, cli, cryptography, dmarc, email.

## Combined YAML source

View the package source record on GitHub. [combined/checkdmarc.yml](https://github.com/automic-vault/db/blob/main/combined/checkdmarc.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
