Democritus Emails
Democritus functions[1] for working with emails.
[1] Democritus functions are simple, effective, modular, well-tested, and well-documented Python functions.
We use d8s (pronounced "dee-eights") as an abbreviation for democritus (you can read more about this here).
Installation
pip install d8s-emails
Usage
You import the library like:
from d8s_emails import *
Once imported, you can use any of the functions listed below.
Functions
-
def is_email(possible_email_text: str) -> bool: """Determine if the given string is an email."""
-
def email_header_date_fix(email_text: str): """Fix the `Date` header in the given email email_text."""
-
def email_read(email_string: str): """."""
-
def email_object_new(): """."""
-
def email_content_transfer_encoding(email_text): """Get the content-transfer-encoding for the email (see https://www.w3.org/Protocols/rfc1341/5_Content-Transfer-Encoding.html)."""
-
def email_bodies_as_strings(email_text): """Return the bodies (as strings) for the given email."""
-
def email_bodies_as_objects(email_text): """Return the bodies (as objects) for the given email."""
-
def email_attachments(email_text): """Return the attachments (as strings) for the given email."""
-
def email_attachments_objects(email_text): """Return the attachments (as objects) for the given email."""
-
def email_body_is_base64(email_text): """Determine if the body of the email is encoded using base64."""
-
def email_header_fields(email_text): """Get the header fields in the email."""
-
def email_headers(email_text): """Get the values of the header fields in the email."""
-
def email_headers_raw(email_text): """Get the raw (undecoded) values of the header fields in the email."""
-
def email_headers_as_dict(email_text) -> Dict[str, List[str]]: """Return email's header fields as a dictionary with the header field key as the dictionary's key and the header field value as the dictionary's value."""
-
def email_header(email_text, header_field): """Get the value(s) for the given header fields."""
-
def email_header_delete_field(email_text, header_field): """Delete the header_field from the email_text."""
-
def email_structure(email_text): """Get the structure of the email (this function was inspired by the function here: https://github.com/python/cpython/blob/4993cc0a5b34dc91da2b41c50e33d809f0191355/Lib/email/iterators.py#L59 - which is described here: https://docs.python.org/3.5/library/email.iterators.html?highlight=_structure#email.iterators._structure)."""
-
def email_header_add_raw(email, header_name, header_value): """Add a header to the email."""
-
def email_header_add(email, header_name, header_value): """Add a header to the email."""
Development
👋 If you want to get involved in this project, we have some short, helpful guides below:
If you have any questions or there is anything we did not cover, please raise an issue and we'll be happy to help.
Credits
This package was created with Cookiecutter and Floyd Hightower's Python project template.
Metadata
Release files for d8s-emails 0.7.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| d8s_emails-0.7.0.tar.gz | 100.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| d8s_emails-0.7.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.4 kB
Release files / d8s_emails-0.7.0.tar.gz
| Download URL | d8s_emails-0.7.0.tar.gz |
|---|---|
| Size | 100.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
058971f308378a158d805db9d9bb7f2e821f08f18a063c1e8ba647ed46f65e52
|
|
BLAKE2b-256 checksum How to use checksums |
0ecc2256058184d4bbcd0fff749354b19b591da42ae3d34d84afcca112119e6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency logRelease files / d8s_emails-0.7.0-py3-none-any.whl
| Download URL | d8s_emails-0.7.0-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2450362c0d9dad24f4ebb10e2c3b3b47446a128c5e56db4679a5b382db473ea6
|
|
BLAKE2b-256 checksum How to use checksums |
bc73705f29e59eef2d8c335c8f75b095bb664d08b72ae4b02447ce6eddb2f0c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 1, 2026.
Transparency log