Schedu provides a DSL for defining tasks and simple scheduling rules, helping you organize and view your weekly plans. The project is implemented in Python.
- Supports midnight-spanning tasks (tasks that start today and end tomorrow)
- Detects conflicts between new and existing tasks
- Enables batch task creation for specific days
- Displays weekly tasks graphically
- Supports adding tasks in multiple definition styles
- Python 3
git
-
Clone the repo:
git clone https://github.com/mohsenlo/schedu cd schedu -
Create and activate virtual environment:
# Create virtual env python -m venv .venv # Activate venv # macOS / Linux source .venv/bin/activate # Windows (Powershell) .venv/Scripts/Activate.ps1
-
Install dependencies
pip install -r requirements/requirements.txt # development pip install -r requirements/requirements-dev.txt
-
Run interpreter in REPL mode:
python .\src\interpreter.py
-
Define a task:
task "your Task" from 14:00 to 16:00 in saturday # or task "your Task" from 14:00 to 16:00 in saturday and monday
-
for rename a task:
rename task "your task" to "new task name"
-
after adding your tasks you can view the weekly plans at any time with following command:
draw