Skip to content

Gantt charts are great for showing schedules--make the simple case easy to build

License

Notifications You must be signed in to change notification settings

oruelle/simple-scheduler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Scheduler

I occasionally do freelancing work and needed a simple way to build out a notional schedule based on estimated task length. There are many Gantt chart builders out there, but they typically require choosing start dates for each individual task. In addition, all the online builders make you enter the tasks in their own interface (clunky), cost money after some short trial (too much overhead), or don't offer an easy way to share the schedule with someone else.

Simple Scheduler asks for just a CSV of tasks, how long they'll take, who is going to work on each task, and any dependencies of each task. From there it spits out an SVG with each task scheduled based on the rules:

  • Tasks are scheduled in the order they are in the CSV.
  • A resource (person) can only perform one task at a time.
  • A task's dependencies must be complete before it can begin.
  • (by default) No work is done on weekends.

Installation

pip install projectscheduler

Usage

Create a CSV with your tasks in the format:

Id Task Duration Start Resources Dependency
1 Name of task 1 6 2022/11/30 Joe  
2 Some other task 3 2022/11/30 Marc 1
3 Some other task 3 12 2022/11/30 Alice 2

Where duration is given in days. Multiple resources can be separated by a "/". (I.E, "Person1/Person2").

An example csv can found found in the repository. It builds into:

Example output

(We are displaying the PNG here so that GitHub displays it. The SVG is what was actually produced.)

schedule input.csv output.svg

TODO

  1. Multiple dependencies for a task?

Credits

Python-gantt was the original inspiration for this project. I originally built the scheduler around it, but didn't like certain aspects of the API. This tool uses the rendering code from that project.

About

Gantt charts are great for showing schedules--make the simple case easy to build

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%