Skip to main content

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:

Task

Duration

Resources

Dependency

Name of task 1

6

Person 1

Some other task

3

Person 1

Some other task 3

12

Person 2

Name of task 1

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.

Release files for projectscheduler 0.6.0

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

Source distribution (sdist)

Source distribution for projectscheduler 0.6.0
File Size Uploaded
projectscheduler-0.6.0.tar.gz 10.7 kB Details

Built distribution (wheel)

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

Total release size: 44.2 kB

Release files / projectscheduler-0.6.0.tar.gz

Download URL projectscheduler-0.6.0.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f23e59626b5a63368f25da92fc2fdc3c3e66e8eaf01b134ad766beabdcba8262
BLAKE2b-256 checksum
How to use checksums
a8ede15eed8188bc8ee6b17588a418486e439d20985ecadf0068b4b378f25ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.11 CPython/3.6.7 Linux/4.15.0-43-generic

Release files / projectscheduler-0.6.0-py3-none-any.whl

Download URL projectscheduler-0.6.0-py3-none-any.whl
Size 33.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0b5845db83c661f64131917110592a284724c71b1b053265393325eb79beb476
BLAKE2b-256 checksum
How to use checksums
27a9ddd35a33c2dbd8e33e5364e358f1e25ab4b775fd61c190ef60192623059f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/0.12.11 CPython/3.6.7 Linux/4.15.0-43-generic

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.6

1 release file

0.5.5

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

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