Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

A smart terminal scheduler with natural language input and ASCII calendar visualization.

Project description

Schedulr - Smart Terminal Task Scheduler

Python Version License: MIT Platform: Windows

A beautiful, feature-rich terminal-based task scheduler with a calendar visualization and desktop notifications.

Features

Core Functionality

  • Beautiful Terminal Interface: Rich, colorful TUI built with Textual framework
  • SQLite Database: Persistent storage for all your tasks
  • Calendar View: Visual monthly calendar with task indicators
  • Search & Filterlter: Quickly find tasks by title
  • Task Statistics: Overview of pending and completed tasks

Advanced Features

  • Desktop Notifications: Get notified when tasks are due
  • Settings Management: Customizable preferences and themes
  • Responsive Design: Adaptive layout for different terminal sizes

Table of Contents

Installation

Prerequisites

  • Python 3.8 or higher
  • A terminal with color support (recommended)

Install from PyPI (Recommended)

pip install schedulr

Install from Source

# Clone the repository
gitt clone https://github.com/MadushankaRajapaksha/-Schedulr- 

cd schedulr


# Install in development mode
pipp install -e .

Verify Installation

schedulr

Quick Start

Launch the Application

# Launch the main interface
schedulr

Create Your First Task

  1. Launch Schedulr
  2. Click the ➕ Add Task button or press the navigation button
  3. Fill in the task details:
    • Task Title: What needs to be done
    • Date: When it should happen (YYYY-MM-DD format)
    • Time: Hour and minute
  4. Click ✅ Save Task

Usage

Basic Navigation

  • 🏠 Home: View all tasks with search and statistics
  • ➕ Add Task: Create new tasks with the modal form
  • 📅 Calendar: Monthly calendar view with task indicators
  • ⚙️ Settings: Configure application preferences

Keyboard Shortcuts

  • Tab: Navigate between interface elements
  • Enter: Activate buttons and submit forms
  • Escape: Close modals or go back
  • Arrow Keys: Navigate in calendar view

Search Functionality

Use the search bar in the Home view to filter tasks by title.

Task Management

Creating Tasks

Tasks can be created through the ➕ Add Task modal with the following fields:

  • Title: Task description (required)
  • Date: Target date in YYYY-MM-DD format
  • Time: Hour (0-23) and minute (0-59)

Task Status

Tasks have the following status levels:

  • ⏳ Pending: Not yet completed
  • ✅ Completed: Finished tasks

Task Operations

  • View: Click on a date in the calendar to see tasks for that day.
  • Edit: Modify task details.
  • Delete: Remove tasks.
  • Mark Complete: Change status to completed.

Calendar View

Monthly Overview

The calendar view displays:

  • Month Navigation: Previous/Next month buttons
  • Task Indicators: Days with tasks are highlighted
  • Today Highlighting: Current date is specially marked
  • Task Preview: Brief task list on each calendar day

Calendar Navigation

  • ◀ Prev: Go to previous month
  • Next ▶: Go to next month
  • Keyboard: Use arrow keys for quick navigation
  • Click Days: Click on calendar days to view tasks

Development

Development Setup

# Clone repository
gitt clone 
l>

cd schedulr


# Create virtual environment
pythonn -m venv venv

source venv/bin/activate  # On Windows: venv\Scripts\activate


# Install dependencies
pipp install -r requirements.txt


# Install in development mode
pipp install -e .


# Run in development mode
pythonn -m schedulr

Project Structure

schedulr/
├── __main__.py          # Entry point
├── cli.py              # Main Textual TUI application
├── core.py             # Database operations and task management
├── screens.py          # Calendar screen and modal screens
└── notifier.py         # Background notification system

data.db                # SQLite database (created automatically)
README.md             # This file
pyproject.toml        # Project configuration and dependencies
ndencies

Dependencies

[project]

dependencies = [

    "rich",

    "textual"

]

Troubleshooting

Common Issues

Application Won't Start

# Check Python version
pythonn --version  # Should be 3.8+


# Verify installation
pipp show schedulr

Database Issues

# Reset database (WARNING: Deletes all tasks)
dell data.db
schedulr

Display Problems

  • Ensure terminal supports colors
  • Try resizing terminal window
  • Check font supports Unicode characters

Contributing

We welcome contributions! Please see our Contributing Guide for details.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Textual for the beautiful TUI framework
  • Rich for enhanced terminal formatting

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