$npx skillfedfor your agent

eml-parser

Python EML parser library

Worth itPyPI EmailReleased Jul 2026689.6K downloads / moAGPLv3+Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — eml_parser-3.0.3-py3-none-any.whl
v3.0.3 · released 2026-07-19 · Python >=3.10 · 3 runtime deps: charset-normalizer, publicsuffixlist, python-dateutil

Yes. The package is actively maintained, has no security vulnerabilities, and provides a straightforward way to parse EML files into structured data. Low install friction and broad Python version support make it accessible. The AGPLv3+ license is a constraint for proprietary software but not for internal tools, open-source projects, or research. Install it if you need to programmatically extract email metadata or content.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Optional: libmagic system library if using the filemagic extra on macOS.
  • Low friction install with a pure Python wheel; three lightweight runtime dependencies (charset-normalizer, publicsuffixlist, python-dateutil).

License · maintenance · safety

AGPLv3+ (agpl) — Licensed under AGPLv3+, a copyleft license requiring that any derivative work or distribution also be licensed under AGPLv3 or compatible terms. Suitable for internal tools and open-source projects, but not for proprietary closed-source software without careful legal review.

last release 2026-07-19 (26 days) · last repo commit 2026-07-19 · 244 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 689,644 downloads/mo, #5,336 on PyPI

Verify before relying

pip install eml_parser

import eml_parser

with open('sample.eml', 'rb') as fhdl:
  raw_email = fhdl.read()

ep = eml_parser.EmlParser()
parsed_eml = ep.decode_email_bytes(raw_email)
print(parsed_eml)
  • Whether the package handles modern email formats (DKIM, SPF, DMARC headers) beyond basic parsing.
  • Performance characteristics when parsing large emails or batch processing many files.
  • Completeness of URL extraction from complex MIME structures and encoded content.
Same gist for agents: .md · .json

What it is and what it does

eml_parser is a Python library that reads EML (email message) files and returns a structured dictionary containing extracted email metadata and content. It parses standard email headers (from, to, cc, subject, date), reconstructs the server path from received headers, extracts attachment information including file hashes and names, and identifies URLs embedded in message bodies and HTML content. The library is designed for email analysis and forensics workflows where you need programmatic access to email components.

The package depends on three common utilities: charset-normalizer for character encoding detection, publicsuffixlist for domain parsing, and python-dateutil for date handling. It is actively maintained, supports current Python versions (3.10 through 3.14), and carries no known security vulnerabilities. Installation is straightforward via pip, though macOS users must have libmagic installed separately if they want the optional filemagic extra.

Use it for

  • Extract and analyze email headers and metadata from EML files for security investigations or email audits.
  • Batch process email archives to build indexes of senders, recipients, and subjects for discovery or compliance.
  • Parse attachment information and compute hashes for malware scanning or deduplication workflows.
  • Reconstruct email routing paths from received headers to trace message origin and server hops.
  • Harvest URLs from email bodies and attachments for threat intelligence or link analysis.

Worth the install?

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

Worth it

Yes.

The package is actively maintained, has no security vulnerabilities, and provides a straightforward way to parse EML files into structured data. Low install friction and broad Python version support make it accessible. The AGPLv3+ license is a constraint for proprietary software but not for internal tools, open-source projects, or research. Install it if you need to programmatically extract email metadata or content.

Install

eml-parser on PyPI

Before you install

Low friction install with a pure Python wheel; three lightweight runtime dependencies (charset-normalizer, publicsuffixlist, python-dateutil). Actively maintained with a release 26 days ago and recent commits. Requires Python 3.10 or later.

Requires Python 3.10 or later. Optional: libmagic system library if using the filemagic extra on macOS.

License in practice

Licensed under AGPLv3+, a copyleft license requiring that any derivative work or distribution also be licensed under AGPLv3 or compatible terms. Suitable for internal tools and open-source projects, but not for proprietary closed-source software without careful legal review.

Quickstart

pip install eml_parser

import eml_parser

with open('sample.eml', 'rb') as fhdl:
  raw_email = fhdl.read()

ep = eml_parser.EmlParser()
parsed_eml = ep.decode_email_bytes(raw_email)
print(parsed_eml)

Verify before relying

  • Whether the package handles modern email formats (DKIM, SPF, DMARC headers) beyond basic parsing.
  • Performance characteristics when parsing large emails or batch processing many files.
  • Completeness of URL extraction from complex MIME structures and encoded content.

Package facts

LicenseAGPLv3+ agpl
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
charset-normalizerpublicsuffixlistpython-dateutil
MaintenanceActively maintained 26 days since the last release
Last repo commit
First released
Downloads689,644 / month, #5,336 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 :: DevelopersLicense :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)Operating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Communications :: Email

Evidence: eml_parser-3.0.3-py3-none-any.whl

Tags

Capabilities
eml file parseremail parsing pythonextract email headersparse eml attachmentsemail message analysisemail forensicsemail metadata extraction
Topics
email-parsingforensicsmetadata-extraction
PyPI keywords
email

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 › “eml file parser”

  • eml-parserParses EML (email) files and extracts structured information…
  • msg-parserParses Microsoft Outlook MSG email files, extracting message data and…
  • mail-parserParses raw email messages into structured Python objects with RFC…

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

More Email packages

Markdown Worth it
PyPI · Python Modules · released Jul 2026

Converts Markdown text to HTML using a Python implementation of John Gruber's Markdown specification, with support for extensions.

Install it if you need to parse Markdown in Python.

BSD-3-Clausepure Python · 3.10+
121.7Mdownloads / mo
aiosmtplib Worth it
PyPI · Libraries · released Jun 2026

aiosmtplib is an asynchronous SMTP client that sends email messages using asyncio, allowing non-blocking email operations in async Python applications.

permissive licensepure Python · 3.10+
19.6Mdownloads / mo
Wikipedia-API Worth it
PyPI · Python Modules · released May 2026

Wikipedia-API is a Python wrapper for Wikipedia's MediaWiki API that retrieves page content, sections, links, categories, and metadata in both synchronous and asynchronous modes.

MITpure Python · 3.10+
19.1Mdownloads / mo
RTFDE With conditions
PyPI · HTML · released Dec 2025

Extracts encapsulated HTML and plain text content from RTF bodies in .msg email files, reversing the RTF encapsulation that Microsoft Exchange applies.

LGPL-3.0-onlypure Python · 3.8+aging
6.6Mdownloads / mo
python-oxmsg With conditions
PyPI · Libraries · released Feb 2025

Parses Outlook MSG files to extract email messages, attachments, and message properties like sent date and sender information.

MITpure Python · 3.9+dormant
3.4Mdownloads / mo
django-anymail Worth it
PyPI · Python Modules · released Jul 2026

Sends and receives email in Django through multiple transactional email service providers (ESPs) with a unified API that avoids vendor lock-in.

Install it if you're using Django and any transactional ESP; the abstraction pays for itself the moment you need to switch providers.

BSD-3-Clausepure Python · 3.10+
3.2Mdownloads / mo

See also mail-parser · msg-parser · extract-msg · tnefparse · comment-parser · mail-parser-reply · email-reply-parser · quotequail · Sickle