/imapy

Imapy: Imap for Humans

Primary LanguagePython

Imapy: IMAP for Humans

codecov GitHub Actions

Imapy is a Python library that simplifies working with the IMAP protocol, making it more accessible and user-friendly.

Features

  • Easy-to-use interface for IMAP operations
  • Support for searching and filtering emails
  • Handling of email attachments
  • Folder management capabilities

Requirements

  • Python 3.9 or higher

Installation

You can install Imapy using pip:

pip install imapy

Quick Start

import imapy

# Connect to an IMAP server
em = imapy.connect(
    host='imap.example.com',
    username='your_username',
    password='your_password',
    ssl=True
)

# List all folders
folders = em.folders()

# Select a folder and get emails
emails = em.folder('Inbox').emails()

# Perform operations on emails
for email in emails:
    print(f"Subject: {email.subject}")
    print(f"From: {email.sender}")

# Logout
em.logout()

Development

This project uses Poetry for dependency management and Black for code formatting.

To set up the development environment:

  1. Ensure you have Python 3.9 or higher installed
  2. Install Poetry
  3. Clone the repository
  4. Run poetry install to install dependencies
  5. Run poetry run pre-commit install to set up the pre-commit hooks

To format the code, run:

poetry run format

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.