Skip to main content

Extract actionable tasks from emails using Python

Project description

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

License

MIT License

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

mail2task-0.7.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mail2task-0.7.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file mail2task-0.7.0.tar.gz.

File metadata

  • Download URL: mail2task-0.7.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for mail2task-0.7.0.tar.gz
Algorithm Hash digest
SHA256 c5b6733f329a073df74663effa44bce1650ffbe52b511ee67a8c597aa77aad47
MD5 3fffa3c8da7121a6c0b87b6b19525b98
BLAKE2b-256 451c01c3e06da08b024ff9ce107347fdc4321a7576550deec68a25bd43853111

See more details on using hashes here.

File details

Details for the file mail2task-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: mail2task-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for mail2task-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 425970c930df191e50f446e37de7a476e21a606aa8d9fc105253951f9b0f0dce
MD5 096d354b9951f57af3ff9c6b7f76f8ea
BLAKE2b-256 03d026ea51bdcc5ae1a83e34d4b37c497148ed47d9d20b5ae5348003c3225cc1

See more details on using hashes here.

Supported by

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