Skip to content

mohsenlo/schedu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Schedu - The DSL for scheduling

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.

Features

  • 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

Getting started

Prerequisites

  • Python 3
  • git

Installation

  1. Clone the repo:

    git clone https://github.com/mohsenlo/schedu
    cd schedu
  2. 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
  3. Install dependencies

    pip install -r requirements/requirements.txt
    
    # development
    pip install -r requirements/requirements-dev.txt

Usage

  • Run interpreter in REPL mode:

    python .\src\interpreter.py

Usage examples

  • 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

About

The DSL (Domain-Specific Language) for scheduling.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages