Skip to main content

A TOML based scheduling tool

Project description

Schedule Everything

Logic Tests CLI Tests PyPI version License: MIT Documentation Ask DeepWiki 中文版本

A simple, persistent way to manage your daily schedule.

Add Schedule View Schedule Alert Example Alert Example

✨ 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

During installation, existing config is checked and any missing required values are prompted one by one. 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 habits for today (opens a prompt if no IDs)

For detailed usage, refer to the CLI Overview.

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

# Or use the prompt window (no IDs)
reminder track

Habit prompts can also be scheduled automatically via config/settings.toml ([tasks].habit_prompt = "HH:MM").


🗺️ 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
  • Multi-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.5.0.tar.gz (69.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.5.0-py3-none-any.whl (63.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for schedule_management-0.5.0.tar.gz
Algorithm Hash digest
SHA256 886a008b78b54f3424df8344f9a75e300ef2f7d430db1ef2649dcc185caa34c6
MD5 ad68b940ec50ffd09df5a754c0d9d839
BLAKE2b-256 7c3faed66b77d6e18237f4e965081027aa3942ca61d2cf184a8a4b81175ae8b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for schedule_management-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02212b6abeb684b254ca3c3f959b880edb7d8c39645c2a449f51d1965ff210ad
MD5 1a439328431de3f625593c7846e269bc
BLAKE2b-256 7cc38da0aa98610aed92df5bb6a1b1c916b3e3ea74056a67773c50eabab89ebf

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