Skip to main content

Democritus functions for working with emails.

Project description

Democritus Emails

PyPI CI Lint codecov The Democritus Project uses semver version 2.0.0 The Democritus Project uses black to format code License: LGPL v3

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.

Project details


Download files

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

Source Distribution

d8s_emails-0.6.0.tar.gz (34.9 kB view details)

Uploaded Source

Built Distribution

d8s_emails-0.6.0-py2.py3-none-any.whl (30.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file d8s_emails-0.6.0.tar.gz.

File metadata

  • Download URL: d8s_emails-0.6.0.tar.gz
  • Upload date:
  • Size: 34.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for d8s_emails-0.6.0.tar.gz
Algorithm Hash digest
SHA256 03c47bc1fb0554846a3b91c9a3fee0de9cdbe171be888e8960e51a228d153cc5
MD5 56a67da3af43e1d2cef49d8e54b4bfba
BLAKE2b-256 a30df2991a7603363621971afcc8d03d579b841085a950a6676eae1de2a6039d

See more details on using hashes here.

File details

Details for the file d8s_emails-0.6.0-py2.py3-none-any.whl.

File metadata

  • Download URL: d8s_emails-0.6.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 30.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.5

File hashes

Hashes for d8s_emails-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bb79c00fb90f05c437cadfa48ba81708576d386606de5b7c5b5607f1825747b3
MD5 d0045930bfd5c7b11d9eb141e26091aa
BLAKE2b-256 65529d566326ae58a554b0d594390ee4d2c9587a5b15746f69d998a8a70f3916

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page