A beautiful, feature-rich terminal-based task scheduler with a calendar visualization and desktop notifications.
- 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
- Desktop Notifications: Get notified when tasks are due
- Settings Management: Customizable preferences and themes
- Responsive Design: Adaptive layout for different terminal sizes
- Installation
- Quick Start
- Usage
- Task Management
- Calendar View
- Settings
- Development
- Troubleshooting
- Contributing
- License
- Python 3.8 or higher
- A terminal with color support (recommended)
pip install schedulr# Clone the repository
git clone https://github.com/MadushankaRajapaksha/-Schedulr-
cd schedulr
# Install in development mode
pip install -e .schedulr# Launch the main interface
schedulrr- Launch Schedulr
- Click the β Add Task button or press the navigation button
- 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
- Click β Save Task
- π 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
- Tab: Navigate between interface elements
- Enter: Activate buttons and submit forms
- Escape: Close modals or go back
- Arrow Keys: Navigate in calendar view
Use the search bar in the Home view to filter tasks by title.
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)
Tasks have the following status levels:
- β³ Pending: Not yet completed
- β Completed: Finished tasks
- 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.
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
- β 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
# Clone repository
git clone repository-url>gt;
cd schedulr
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Run in development mode
python -m schedulrr 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
[project]
dependencies = [
"rich",
"textual"
]]# Check Python version
python --version # Should be 3.8+
# Verify installation
pip show schedulrr# Reset database (WARNING: Deletes all tasks)
del data.db
schedulrlr- Ensure terminal supports colors
- Try resizing terminal window
- Check font supports Unicode characters
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.