Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

fast_mail_parser

Test PyPI version Downloads

📦 Now published as fast-mail-parser-ng

Install it under the new name:

pip install fast-mail-parser-ng

Your code does not change. The import path is still fast_mail_parser:

from fast_mail_parser import parse_email

Migrating from fast-mail-parser? Change the name in your requirements file and nothing else — no code edits, same API.

- fast-mail-parser
+ fast-mail-parser-ng

Looking for the old fast-mail-parser package? It is a different, unmaintained upload frozen at 0.2.5 (June 2022) that this project cannot publish to. See Why the name changed.

A very fast Python library for parsing .eml files. It is built on the Rust mailparse crate via pyo3, and parses roughly 5–10x faster than pure-Python implementations, depending on the CPU — see Benchmark for the measured spread and how to reproduce it.

Quickstart

pip install fast-mail-parser-ng
from fast_mail_parser import parse_email

with open("message.eml", "rb") as f:
    email = parse_email(f.read())

print(email.subject)
print(email.text_plain[0])

That is the whole surface for the common case. See Usage for the full API, and Python support for wheel coverage.

Coming from the stdlib email module, or upgrading from 0.6.x? See the migration guide — its snippets are executed in CI, so they cannot go stale — and compatibility.md for every known difference from the stdlib, each one enforced by a test.

Why the name changed

The fast-mail-parser name on PyPI belongs to a PyPI account this project no longer controls, and it is frozen at an unmaintained 0.2.5 from June 2022. Only a project owner can publish to a name, so fixes could not reach it — the PEP 541 transfer request (pypi/support#11044) has been open and unattended since June 2026.

Rather than hold releases behind that queue indefinitely, this project publishes under a name it owns. The import path was deliberately left as fast_mail_parser so the change costs you one line in a requirements file and no code. If the transfer is ever granted, fast-mail-parser will resume as an alias.

Full history in the changelog.

Python support

Wheels target the CPython stable ABI (cp311-abi3): one wheel per platform covers every supported CPython version, including versions released after the package — a new Python no longer has to wait for a new release.

Python Support
CPython 3.11+ (including future versions) Prebuilt wheel
CPython 3.13t/3.14t (free-threaded) Builds from source; the extension currently re-enables the GIL on import (#101)
CPython ≤ 3.10 Not supported (last compatible release: 0.2.5)
PyPy Not supported

13 prebuilt wheels ship per release: manylinux and musllinux across x86_64, i686, aarch64, armv7, s390x and ppc64le; Windows x64 and x86; macOS arm64. Every release is published via PyPI Trusted Publishing with PEP 740 attestations.

Benchmark

All three libraries asked for the same result — subject, both body lists, and attachments with their payloads decoded — on the same message:

Library Work performed Min time Relative
fast_mail_parser parse + decode bodies + decode attachments 2.09 ms 1.00x
mail-parser from_string + .parse() + read attributes 13.45 ms 6.44x
stdlib email message_from_bytes + walk + get_content / get_payload 17.93 ms 8.59x

Corpus: tests/data/large_message.eml (multipart/mixed, 6 MIME parts, 2 base64 attachments). CPython 3.12.14 on Linux x86_64 (GitHub Actions ubuntu-latest), mail-parser 4.6.4, minimum of 31+ rounds.

These ratios move with the hardware, so treat them as a magnitude rather than a constant. An earlier run of this same comparison on a faster CI runner recorded 8.50x and 10.01x rather than 6.44x and 8.59x, and an Apple Silicon laptop gives 5.25x and 6.42x: the interpreted parsers and the Rust extension do not scale together across CPUs. Regenerate the table for your own machine with make bench-table, which prints its own methodology line; CI also renders it into the job summary of every benchmark run.

Two things this table deliberately does not do:

  • It does not quote the CI gate's numbers. That gate compares a revision against its base rather than against another library, precisely because absolute cross-implementation ratios are unstable between machines — they were observed to swing ~26% between CI runners while within-run noise was ~0.3%.
  • It does not reuse the gate's mail-parser baseline, which measures MailParser.from_string alone. That call never invokes .parse(), so it is a stable number for regression detection but not a fair cross-library figure.

Usage

parse_email accepts the raw message as str or bytes and returns a PyMail. It raises ParseError if the payload cannot be parsed.

PyMail exposes the following attributes:

Attribute Type Description
subject str Subject header (empty string if missing).
date str Date header (empty string if missing).
date_parsed datetime | None date as a tz-aware UTC datetime; computed on access.
from_ PyAddress | None The From mailbox. Named from_; from is a keyword.
to / cc / bcc / reply_to list[PyAddress] Recipients, groups flattened.
text_plain list[str] All text/plain bodies.
text_html list[str] All text/html bodies.
headers dict[str, list[str]] All values of every header, in order.
attachments list[PyAttachment] Non-body parts (see below).

Each PyAttachment has:

Attribute Type Description
mimetype str The part's media type.
filename str See below; "" when the part declares none.
content bytes Decoded bytes, transfer-encoding undone.
content_id str | None Content-ID with angle brackets stripped.
disposition str | None Raw Content-Disposition token, or None if absent.

Addresses

Address headers are parsed rather than handed back as strings — RFC 5322 address syntax (display names, quoted strings containing commas, groups, comments) is exactly what hand-rolled regexes get wrong:

mail.from_.display_name   # 'Jane Doe'  (None for a bare address)
mail.from_.address        # 'jane@example.com'

[a.address for a in mail.to]   # ['a@example.com', 'b@example.com']
  • RFC 5322 groups (To: team: a@x, b@x;) are flattened to their member mailboxes; the group name is structure and is not exposed.
  • RFC 2047 encoded display names are decoded, including inside quoted names.
  • A header that does not parse yields an empty list (or None for from_) rather than raising — a malformed To: never fails an otherwise good message, and the raw value stays in headers.

Headers

headers maps each header name to a list of every value it appeared with, in message order, so repeated fields survive:

mail.headers["Received"]   # ['from mx1...', 'from mx2...', 'from mx3...']
mail.headers["From"]       # ['sender@example.com'] -- always a list

subject and date are read from the parsed headers directly rather than out of this map, so they always reflect the first occurrence of their field.

Resolving inline images (cid:)

content_id is exposed without angle brackets, which is the form RFC 2392 cid: URLs use — so resolving the images an HTML body references is a lookup:

import re

mail = parse_email(raw)
by_cid = {a.content_id: a for a in mail.attachments if a.content_id}

for cid in re.findall(r'cid:([^"\'>\s]+)', mail.text_html[0]):
    attachment = by_cid.get(cid)
    if attachment:
        print(cid, attachment.mimetype, len(attachment.content), "bytes")

disposition reports the part's raw Content-Disposition token, and distinguishes an absent header (None) from an explicit inline — the two are different statements about intent.

Parsing a batch

parse_many parses a whole batch in one call, in parallel, releasing the GIL for the batch rather than per message:

from fast_mail_parser import ParseError, parse_many

results = parse_many(payloads)              # list[str | bytes] in, results in input order
results = parse_many(payloads, threads=8)   # cap the workers; default is the machine's

Each slot is a PyMail or a ParseError instance — returned, not raised — so one malformed message does not cost you the rest of the batch, and inputs zip cleanly to outcomes:

for payload, outcome in zip(payloads, parse_many(payloads)):
    if isinstance(outcome, ParseError):
        quarantine(payload, reason=str(outcome))
    else:
        index(outcome)

Pass raise_on_error=True to raise the first failure instead.

Chunk large workloads. Every parsed message is materialised before the call returns, so a batch of ten thousand one-megabyte mails holds essentially all of it decoded at once. Feed it in chunks of a few hundred rather than a whole mailbox.

Error handling

parse_email raises a subtype of ParseError, chosen by what actually went wrong:

Exception Meaning
HeaderParseError The header section could not be parsed — usually the input is not an email at all.
MimeStructureError Malformed MIME structure, or a resource cap tripped: over 100 MiB of input, or nesting deeper than 256 levels.
DecodeError A part's Content-Transfer-Encoding did not decode (bad base64, bad quoted-printable).

All three inherit from ParseError, so existing code keeps working:

from fast_mail_parser import DecodeError, ParseError, parse_email

try:
    mail = parse_email(raw)
except DecodeError:
    quarantine(raw)          # one part's encoding is broken
except ParseError:
    reject(raw)              # not parseable at all

The distinction is worth acting on: a DecodeError says one part of an otherwise plausible message is corrupt, while a HeaderParseError usually says the bytes were never an email.

Bodies vs. attachments

The two are disjoint — a part appears in exactly one place. Classification follows RFC 2183 rather than the media type alone:

  • A part is body text (text_plain / text_html) when it is text/plain or text/html and is not marked Content-Disposition: attachment. A Content-Type; name parameter does not change this — an inline text part stays in the body.
  • Every other part is an attachment. That includes a text/plain part marked Content-Disposition: attachment (its lines are not mixed into the body) and inline images referenced by Content-ID.
  • multipart/* container nodes are MIME structure and appear in neither list.

filename comes from the Content-Disposition filename parameter — including RFC 2231 extended values such as filename*=utf-8''... — falling back to the Content-Type name parameter. It is "" when the part declares neither, which is normal for inline images.

import sys

from fast_mail_parser import parse_email, ParseError

# parse_email accepts both str and bytes; reading in binary mode is safest.
with open('message.eml', 'rb') as f:
    message_payload = f.read()

try:
    email = parse_email(message_payload)
except ParseError as e:
    print("Failed to parse email:", e)
    sys.exit(1)

print("Subject:", email.subject)
print("Date:", email.date)

# headers is a dict[str, list[str]]: every occurrence of a repeated header is
# kept, in the order it appeared. Single-valued headers are one-element lists.
for name, values in email.headers.items():
    for value in values:
        print(f"{name}: {value}")

# So a delivery path stays intact -- for Received, the first entry is the most
# recent hop.
for hop in email.headers.get("Received", []):
    print("Received:", hop)

# text_plain and text_html are lists of strings (one entry per matching part).
for body in email.text_plain:
    print("Plain text body:", body)

for body in email.text_html:
    print("HTML body:", body)

# attachments is a list of PyAttachment objects.
for attachment in email.attachments:
    print("Attachment:", attachment.filename)
    print("  mimetype:", attachment.mimetype)
    print("  size:", len(attachment.content), "bytes")  # content is bytes

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

See CONTRIBUTING.md for how to build from source, run the tests, and the PR conventions (linting, CI, DCO sign-off).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fast_mail_parser_ng-0.7.0.tar.gz (639.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fast_mail_parser_ng-0.7.0-cp311-abi3-win_amd64.whl (387.3 kB view details)

Uploaded CPython 3.11+Windows x86-64

fast_mail_parser_ng-0.7.0-cp311-abi3-win32.whl (369.3 kB view details)

Uploaded CPython 3.11+Windows x86

fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_x86_64.whl (727.3 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_i686.whl (748.7 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ i686

fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_armv7l.whl (795.1 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARMv7l

fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_aarch64.whl (687.7 kB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (515.7 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ x86-64

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (548.2 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ s390x

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (550.6 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ppc64le

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (519.3 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARMv7l

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (509.0 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.17+ ARM64

fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (533.8 kB view details)

Uploaded CPython 3.11+manylinux: glibc 2.12+ i686

fast_mail_parser_ng-0.7.0-cp311-abi3-macosx_11_0_arm64.whl (472.0 kB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

File details

Details for the file fast_mail_parser_ng-0.7.0.tar.gz.

File metadata

  • Download URL: fast_mail_parser_ng-0.7.0.tar.gz
  • Upload date:
  • Size: 639.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fast_mail_parser_ng-0.7.0.tar.gz
Algorithm Hash digest
SHA256 573d335cd2ad12561f6c298501dd31c42a3f0f7885146e5c89e0a52ac9cbd17f
MD5 32a9dbfd3244dca35ec32c4802aaa6de
BLAKE2b-256 d6192daf043eaa81eccc4f8a1f441fd1bbdf123b22e3b89c81a2d0f47ae6edec

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0.tar.gz:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8d76139f693b0d905fbd83b733ab76337cb5dacd431ead69318d73664be89bf2
MD5 88fbffd8940dcd7224c373b9e12ef3d8
BLAKE2b-256 a1cd3a4274e5d68ce5b212ea61edaaa04eb260f617b3aa1c80e09f1e0af0816a

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-win_amd64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-win32.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-win32.whl
Algorithm Hash digest
SHA256 674a46768551cb698b92a0c38a98174fe80744498485a322dbbfb31b9681c226
MD5 289dfce3d47cd50dfc9a4cb67933cd47
BLAKE2b-256 54052e8215fa882224c2008b18e75d3fc85548d328300e1bdd8f0edd83cc6e47

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-win32.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3fd4f093ea44ee4a5a23a19151deed6ae6aefa43688cb6ae9f9e8caac30f8e53
MD5 2bf1982bdf7f74db78f67ced717d166c
BLAKE2b-256 4f41d272574259f3803e214ff63442a58fef2ba95dc77f1283d153223b1e39c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 46d086a14a335d3a94ee33807d5346a177e948c35385cee16bff31e0a36bfdfc
MD5 25672c7a7178c599a97194caa1d0138c
BLAKE2b-256 13c8a81093b8bca34b53d4025581a015e26fd2b17f3e7cff575e6eb1e0a19f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_i686.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 aca02995932abe53deec1a7c7049c6898ee57295f18c73230d8fb45935974647
MD5 51ce972b939b0b72048c4214cce4f7c0
BLAKE2b-256 541c9b976045e463c42972676bf6e7a7373f7698c73aeaadcca52e14a0eab629

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_armv7l.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 769d5360dbdbd134c75bdbd3261626d56e524dd307a0d5599102d1e0de872c29
MD5 c6e4520aadc4e93366e90d1aaffc8d56
BLAKE2b-256 71c8e8d330130778f9d5b2337549905216e023e4f967e8ce3feaf5217e60ecd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-musllinux_1_2_aarch64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f682c0dae1459bd6b6296679c69a39b1d0709cedd62964da2bcf7fb428e3cb97
MD5 d39e1c34458341bb543c9f0537cd96b3
BLAKE2b-256 aaa63f897656cf4d104e81dbd8084f2f9b71aeaa9ae1eb8a2b5f5de8bf261c26

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e210274ed541dddc3c98ecc80077fa155884bea7383bb7454ee3bc0d88d2c22f
MD5 000fb59fc1d5b7b34e8b5884dff0b970
BLAKE2b-256 d4e3418d5d9e553fa41f3d406cab26d98388089d253dae97d7e7f0dc830cf000

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4f0d8ffbef6ada9e1479666ac11790f896410677ca666382c77c68c21919f3ee
MD5 47d2c6a25796579b8801164df8a987af
BLAKE2b-256 b6c4d3c06eb91175814a3e9cbbb68a6e283dd9afd679c856c47ca81d91556f77

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 66ccb9d45fd8b7e924c3434629cb918dcff293fefdc29afe057c2c51f8386039
MD5 ccd350bcbfa38ece5c73c03cb430eae2
BLAKE2b-256 cd501b58fb4da2e006c8c98d7c22d1ed7b6d334b3d0bfc600213cd8236f6975e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e57296112ea3a626a25417bbb3e742ea6360386edf02d8bc258d627931d52939
MD5 9aea053baff6a4a9a33a19ec449df97c
BLAKE2b-256 73cf2c5468389ebe93ba6a36de5d3373ef0715eb4d5eab5af4e9b64701a3b968

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 731f561985490a2d94e59899d290e060f315ccbd3641989f5190aff522f903d9
MD5 1e0ea31db74be9d055377274b67816e2
BLAKE2b-256 b2f794bb05584eb3d1a962d97316d07550e3a2c0b2c02d2452b82103d8beadc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-manylinux_2_12_i686.manylinux2010_i686.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fast_mail_parser_ng-0.7.0-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fast_mail_parser_ng-0.7.0-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2b2f14cd45230498dc0b14f4d6f7f0221e6f3fee8d88efc68907120df0e4d25
MD5 7eb33678a8ac97f97a2f328fa8cf0765
BLAKE2b-256 c7bb157a7f80c7fca4581f7088091bba7cf8b16bbfaf1cfbd540599fb9b74950

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_mail_parser_ng-0.7.0-cp311-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on namecheap/fast_mail_parser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.7.0 This release

14 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page