Skip to main content

A TOML based scheduling tool

Project description

Schedule Management

CI PyPI version License: MIT Documentation

中文版本

This project provides a simple, persistent way to manage your daily schedule on macOS (Linux/Windows planned). Built with Python, it uses native system notifications and sounds to keep you on track with habits, focused work, and breaks.


✨ Features

  • TOML Configuration: Schedules are defined in clean, human-readable, and version-control friendly TOML files.
  • Dual Alerts: Persistent notifications (modal dialogs) + audible sounds ensure you never miss a reminder.
  • Smart Rotation: Automatically switches between odd-week and even-week schedules.
  • Flexible Events: Supports time blocks (e.g., Pomodoro), specific time points, and recurring daily routines.
  • CLI Suite: Integrated tools for managing tasks, tracking habits, and monitoring deadlines.
  • AI-Ready: Easily generate configurations using LLMs from any text description.

🚀 Quickstart

1. Setup Configuration

Copy the templates to create your configuration files in config/:

cp config/settings_template.toml config/settings.toml
cp config/week_schedule_template.toml config/odd_weeks.toml
cp config/week_schedule_template.toml config/even_weeks.toml

2. Edit Configs

Define your routine in config/.

  • settings.toml: Global settings and reusable time blocks (e.g., pomodoro = 25).
  • odd_weeks.toml / even_weeks.toml: Your daily schedules.

Example Schedule Entry:

[monday]
"09:00" = "pomodoro"                              # Reusable block (start + end alert)
"14:00" = { block = "meeting", title = "Sync" }   # Block with custom title
"22:00" = "Go to sleep 😴"                        # Simple time point alert

[!TIP] Use our prompts to generate these configs instantly using an AI model.

3. Install

Run the installer to set up the background service:

./install.sh

Follow the output instructions to load the launchd agent if required.


🛠️ CLI Reference

Add the following to your shell profile (e.g., ~/.zshrc) to use the reminder command:

export PATH="$HOME/schedule_management:$PATH"
export REMINDER_CONFIG_DIR="$HOME/schedule_management/config"
alias reminder="$HOME/schedule_management/reminder"

Command Overview

Category Command Description
System reminder update Reload config and restart background service
reminder status [-v] Show upcoming events (or full schedule)
reminder stop Stop the alarm service
Tasks reminder add "task" <1-10> Add/update task with importance level
reminder ls List tasks by importance
reminder rm "task" / rm <id> Remove task by name or ID
Deadlines reminder ddl Show deadlines with urgency status
reminder ddl add "name" "MM.DD" Add or update a deadline
Habits reminder track <ids...> Log completed habit IDs for today

Usage Examples

# Add a high-priority task
reminder add "Finish Report" 9

# Add a deadline for Dec 25th
reminder ddl add "Project Launch" "12.25"

# Track habits 1 and 2 as done for today
reminder track 1 2

🗺️ Roadmap

  • Time point alarms
  • Default schedule templates
  • Schedule visualization
  • Installation script
  • Skip-day logic
  • CLI tool
  • Task management system with importance levels
  • Deadline management system
  • Habit tracking system
  • Prompts for LLMs to create TOML configs
  • Daily summary before bedtime
  • Today's tasks overview
  • Self rewarding system
  • History analysis and weekly reports
  • Language support
  • Website for schedule sharing
  • Better alarm UI
  • Windows support

📄 License

Distributed under the MIT License. See 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

schedule_management-0.3.2.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

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

schedule_management-0.3.2-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file schedule_management-0.3.2.tar.gz.

File metadata

  • Download URL: schedule_management-0.3.2.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for schedule_management-0.3.2.tar.gz
Algorithm Hash digest
SHA256 aee4b49478b1335a60e15ed38ee662e8d4584587f1c0558484151aa9b7c46dd5
MD5 b414e9ae48adca1698de81b7d51de5f2
BLAKE2b-256 47f469627607729a49b7cf4b46f4274491ef8a73a588f95f8e8a605ec40e4afb

See more details on using hashes here.

File details

Details for the file schedule_management-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for schedule_management-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 98db44f811811295b6ba1b6ecb83b2524520c95e701dfd42fc584d4f1f3ccdd1
MD5 db4bac698a9602694556a10873f713ef
BLAKE2b-256 f4468165f800a62fe5e17ecb7efbbfff9a3c713a4133e588de0e380980fa6b0f

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