Skip to main content

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 & Filter: 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)
pip install schedulr

Install from Source

# Clone the repository
git clone https://github.com/MadushankaRajapaksha/-Schedulr- 
cd schedulr

# Install in development mode
pip 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
git clone <repository-url>
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 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

Dependencies

[project]
dependencies = [
    "rich",
    "textual"
]

Troubleshooting

Common Issues

Application Won't Start

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

# Verify installation
pip show schedulr

Database Issues

# Reset database (WARNING: Deletes all tasks)
del 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

Metadata

Release files for schedulr 0.0.6

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

Source distribution (sdist)

Source distribution for schedulr 0.0.6
File Size Uploaded Provenance Actions
schedulr-0.0.6.tar.gz 25.0 kB Without provenance Details for schedulr-0.0.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for schedulr 0.0.6
File Interpreter ABI Platform Actions
schedulr-0.0.6-py3-none-any.whl Python 3 none any Details for schedulr-0.0.6-py3-none-any.whl

Total release size: 47.8 kB

Release files / schedulr-0.0.6.tar.gz

Download URL schedulr-0.0.6.tar.gz
Size 25.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e8ccde55ec1e0947378f2129c75257d987fe673ce842e4dd79f00c9a35bda225
BLAKE2b-256 checksum
How to use checksums
59b7854d6f57f29148b3c14b0398943ffcaecb08b79beb0c6b9978e39c4b8fe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / schedulr-0.0.6-py3-none-any.whl

Download URL schedulr-0.0.6-py3-none-any.whl
Size 22.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27a66dad149b384c89d34b9a13983e0b4495e5422ca8d12897dd5be205649c65
BLAKE2b-256 checksum
How to use checksums
7aa572089b46434d981cb2cc3e6b51afa9607ad90560bf0b91b4bc794fe7b0d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for schedulr 0.0.6

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