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 as an abbreviation for democritus (you can read more about this here).

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.5.2.tar.gz (34.3 kB view details)

Uploaded Source

Built Distribution

d8s_emails-0.5.2-py2.py3-none-any.whl (30.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for d8s_emails-0.5.2.tar.gz
Algorithm Hash digest
SHA256 d11ae6b14a322be48919765c14876de4e98261d730c635acde6e57c6a37b5549
MD5 b163f492623afb4702a03664be754cf7
BLAKE2b-256 46308e88c1aeed5cf4e2184a616db120ee5c651d8c0de478a40f533adb039cee

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for d8s_emails-0.5.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fb89552efe51ec7b76ded4c84ce77699433b1f10b059613e88b844557e47e6e3
MD5 cbd9ee41eddd4a3ca00e8dc7402ec668
BLAKE2b-256 88070a4d7e3555ba04518dc50782107563d828f55b04e8937f2f35087bca89bc

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