Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

elizaOS Todo Plugin - Python

Python implementation of the elizaOS Todo Plugin for task management.

Installation

pip install elizaos-plugin-todo

Quick Start

import asyncio
from uuid import uuid4
from elizaos_plugin_todo import (
    TodoClient,
    TodoConfig,
    TaskType,
    Priority,
)

async def main():
    config = TodoConfig.from_env()

    async with TodoClient(config) as client:
        # Create a new todo
        todo = await client.create_todo(
            name="Finish report",
            task_type=TaskType.ONE_OFF,
            priority=Priority.HIGH,
            agent_id=uuid4(),
            world_id=uuid4(),
            room_id=uuid4(),
            entity_id=uuid4(),
        )
        print(f"Created: {todo.name}")

        # Complete the todo
        completed = await client.complete_todo(todo.id)
        print(f"Completed: {completed.is_completed}")

asyncio.run(main())

Features

  • Task Types: Daily recurring, one-off, and aspirational tasks
  • Priority Levels: Critical (1), High (2), Medium (3), Low (4)
  • Due Dates: Track deadlines for one-off tasks
  • Tags: Organize tasks with custom tags
  • Reminders: Automatic reminder notifications
  • Caching: High-performance in-memory caching

Configuration

Environment variables:

Variable Default Description
DATABASE_URL - Database connection string
TODO_ENABLE_REMINDERS true Enable reminder notifications
TODO_REMINDER_INTERVAL_MS 30000 Reminder check interval (ms)
TODO_QUIET_HOURS_START 22 Quiet hours start (hour)
TODO_QUIET_HOURS_END 8 Quiet hours end (hour)

API Reference

TodoClient

Main client for todo operations.

async with TodoClient(config) as client:
    # Create todo
    todo = await client.create_todo(name="...", task_type=TaskType.ONE_OFF, ...)

    # Get todos
    todos = await client.get_todos(room_id=room_id, is_completed=False)

    # Complete todo
    await client.complete_todo(todo_id)

    # Update todo
    await client.update_todo(todo_id, name="New name", priority=Priority.HIGH)

    # Delete todo
    await client.delete_todo(todo_id)

Types

from elizaos_plugin_todo import TaskType, Priority

# Task types
TaskType.DAILY       # Daily recurring task
TaskType.ONE_OFF     # One-off task with optional due date
TaskType.ASPIRATIONAL  # Long-term goal

# Priorities
Priority.CRITICAL  # 1 - Highest
Priority.HIGH      # 2
Priority.MEDIUM    # 3
Priority.LOW       # 4 - Lowest

Testing

cd python
pip install -e ".[dev]"
pytest

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elizaos_plugin_todo-2.0.0a5.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

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

elizaos_plugin_todo-2.0.0a5-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file elizaos_plugin_todo-2.0.0a5.tar.gz.

File metadata

  • Download URL: elizaos_plugin_todo-2.0.0a5.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for elizaos_plugin_todo-2.0.0a5.tar.gz
Algorithm Hash digest
SHA256 57e3fafac1896ded918e938b14a896a2987af18baf85963403e67a2985deef0d
MD5 4366ffe0c9b4d69b47dca18348a957b0
BLAKE2b-256 338bb84bbb74d47b51d8a03bb03c920e9c852408120b72afb8c479161810b392

See more details on using hashes here.

File details

Details for the file elizaos_plugin_todo-2.0.0a5-py3-none-any.whl.

File metadata

File hashes

Hashes for elizaos_plugin_todo-2.0.0a5-py3-none-any.whl
Algorithm Hash digest
SHA256 c2fe32345bf26de7c59bdf7e1728b706640f6d049d10399f613797358772ac75
MD5 594cb38ad7569ede00f3edc43a97d3ea
BLAKE2b-256 df5cefac8cdeef96ecefb5bab2d682a4842b53043c174ec7a607269505fde5d2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.0a5 This release

2 files

Supported by

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