Skip to main content

Schedule Module

A reusable, production-grade scheduling capability module designed for both human developers and AI agents. It provides a robust scheduling system that allows projects to create, manage, and query events, routines, and time-based records across systems using a strictly structured PostgreSQL database.

Architecture & Principles

  • Installability: Can be initialized easily via make initial.
  • Backward Compatibility: Migrations are versioned and immutable.
  • Agent-First Design: Includes MCP integration and YAML action definitions for native AI consumption.
  • Human Usability: Clean API, strongly typed Pydantic models.

Usage

1. Installation

To initialize the database locally via Docker Compose, simply run:

make initial

This will:

  1. Spin up a PostgreSQL container using docker-compose.yml.
  2. Apply the initial schema and tables (/db/ddl).
  3. Run all pending migrations (/db/migrations).

2. Python API

Use the Schedule service to interact with your data:

from datetime import datetime, timezone
import asyncio
from uuid import uuid4
from src import Schedule, ScheduledRoutineCreate, RecurrencyType

async def main():
    async with Schedule() as schedule_service:
        routine = ScheduledRoutineCreate(
            name="Daily Standup",
            start_date_time=datetime.now(timezone.utc),
            end_date_time=datetime.now(timezone.utc),
            recurrency=RecurrencyType.daily
        )
        created_routine = await schedule_service.add_schedule(routine)
        print("Created Routine ID:", created_routine.id)

if __name__ == "__main__":
    asyncio.run(main())

3. Agent Integration

Refer to agent/mcp.yaml and agent/actions.yaml for using this module as a tool in AI workflows via MCP (Model Context Protocol).

Infrastructure

We include boilerplate configurations for deployments:

  • infra/docker-compose.yml: For local deployments
  • infra/terraform: Example Terraform modules for AWS RDS Postgres deployments

Publishing

The module includes a .github/workflows/publish.yml that automatically publishes to npm and PyPI whenever changes are merged into the main branch.

Metadata

Release files for schedule-module 0.1.2

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

Source distribution (sdist)

Source distribution for schedule-module 0.1.2
File Size Uploaded Provenance
schedule_module-0.1.2.tar.gz 5.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for schedule-module 0.1.2
File Interpreter ABI Platform
schedule_module-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 14.5 kB

Release files / schedule_module-0.1.2.tar.gz

Download URL schedule_module-0.1.2.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ffe03da9edbf8b673d3a775051ba22700fec875d922df87aef68ea2c0ab2cd36
BLAKE2b-256 checksum
How to use checksums
897025080a7d392ca1b23e946d091b3bfb74283c2a18d3bde588dba6e56b3f06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / schedule_module-0.1.2-py3-none-any.whl

Download URL schedule_module-0.1.2-py3-none-any.whl
Size 8.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
363ea3a1df162772ed93bafdfb232cbb56cba074cfa256d33a71d62b88af9e13
BLAKE2b-256 checksum
How to use checksums
004c91f9673aff70f5b5190bec0f99774246986ae16c2a1c30c91f9f5be71cc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Security for schedule-module 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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