Skip to content

EbyJK/mail2task

Repository files navigation

PyPI Python License

mail2task

Extract actionable tasks from messy emails using Python.

Features

  • Extract task-like sentences
  • Detect due dates
  • Detect priority levels
  • Clean JSON output
  • CLI support

Installation

pip install mail2task

Usage

Python

from mail2task import extract_tasks

email = """
Please submit the compliance report by Friday.

Schedule the onboarding meeting tomorrow.
"""

tasks = extract_tasks(email)

print(tasks)

CLI

Create a text file:

Please submit the report by Friday.
Schedule the client call tomorrow.

Run:

mail2task sample_email.txt

Output:

[
  {
    "title": "submit the report by Friday.",
    "due_date": "2026-05-29T00:00:00",
    "priority": "normal",
        "confidence": 0.9

  }
]

Pretty Output

mail2task sample_email.txt --pretty

Save Output

mail2task sample_email.txt --output tasks.json

Export Formats

JSON

mail2task sample_email.txt --format json

CSV

mail2task sample_email.txt --format csv

Markdown

mail2task sample_email.txt --format markdown

Example Use Cases

  • Email automation
  • Productivity apps
  • AI assistants
  • CRM workflows
  • Task management systems

NLP Features

  • Sentence splitting
  • Greeting/signature filtering
  • Due date extraction
  • Priority detection
  • Confidence scoring

NLP Engine

mail2task uses spaCy for:

  • sentence segmentation
  • tokenization
  • action verb detection
  • lightweight NLP parsing

.eml Email Support

mail2task can process raw email files directly.

mail2task sample_email.eml --pretty

Project Structure

mail2task/
├── src/
├── tests/
├── README.md
├── pyproject.toml

Screenshot

CLI Demo CLI Demo

License

MIT License

About

A Python package for converting messy emails into structured tasks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages