CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-exchangelib

Client for Microsoft Exchange Web Services (EWS) providing Django-style ORM interface for Exchange mailboxes.

Pending
Overview
Eval results
Files

tasks.mddocs/

Tasks

Task management functionality for creating, updating, and tracking tasks and to-do items with support for due dates, priorities, and completion status.

Capabilities

Task Management

class Task:
    def __init__(self, account: Account = None, folder: Folder = None, **kwargs):
        """Create a new task."""
    
    # Basic properties
    subject: str
    body: Body | HTMLBody
    status: str  # 'NotStarted', 'InProgress', 'Completed', 'WaitingOnOthers', 'Deferred'
    percent_complete: int
    
    # Dates
    start_date: EWSDate
    due_date: EWSDate
    complete_date: EWSDate
    
    # Assignment
    owner: str
    delegator: str
    assigned_time: EWSDateTime
    
    # Priority and importance  
    importance: str  # 'Low', 'Normal', 'High'
    
    # Recurrence
    recurrence: Recurrence
    is_recurring: bool
    
    # Progress tracking
    actual_work: int  # Minutes
    total_work: int  # Minutes
    
    # Categories
    categories: list[str]
    
    def save(self, update_fields: list = None):
        """Save the task."""
    
    def delete(self, delete_type: str = 'MoveToDeletedItems'):
        """Delete the task."""
    
    def mark_complete(self):
        """Mark the task as completed."""
    
    def assign(self, assignee: Mailbox):
        """Assign the task to someone."""

Usage example:

from exchangelib import Task, EWSDate
from datetime import date, timedelta

task = Task(
    account=account,
    folder=account.tasks,
    subject='Complete project documentation',
    body=Body('Write comprehensive documentation for the new feature.'),
    status='NotStarted',
    importance='High',
    due_date=EWSDate.from_date(date.today() + timedelta(days=7)),
    percent_complete=0
)

task.save()

# Later, update progress
task.percent_complete = 50
task.status = 'InProgress'
task.save()

# Mark as complete
task.mark_complete()

Install with Tessl CLI

npx tessl i tessl/pypi-exchangelib

docs

account-auth.md

advanced.md

attachments.md

calendar.md

contacts.md

datetime.md

folders.md

index.md

messages.md

search.md

tasks.md

tile.json