Skip to main content

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

Metadata

Release files for mail2task 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mail2task 0.7.0
File Size Uploaded
mail2task-0.7.0.tar.gz 4.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mail2task 0.7.0
File Interpreter ABI Platform
mail2task-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.8 kB

Release files / mail2task-0.7.0.tar.gz

Download URL mail2task-0.7.0.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c5b6733f329a073df74663effa44bce1650ffbe52b511ee67a8c597aa77aad47
BLAKE2b-256 checksum
How to use checksums
451c01c3e06da08b024ff9ce107347fdc4321a7576550deec68a25bd43853111
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release files / mail2task-0.7.0-py3-none-any.whl

Download URL mail2task-0.7.0-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
425970c930df191e50f446e37de7a476e21a606aa8d9fc105253951f9b0f0dce
BLAKE2b-256 checksum
How to use checksums
03d026ea51bdcc5ae1a83e34d4b37c497148ed47d9d20b5ae5348003c3225cc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page