Calculate an ideal schedule layout from a set of timeslots
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

The schedule planner Build Status Hackage version

Take an arbitrary list of weighted "lessons" and calculate the most ideal and valid layout for them based on weighing rules.

Base algorithm seems to work, web UI source code can be found here .

There's a live site here that uses this software as backend, Try it out!


  • get the software
    • clone the repository git clone
    • or find the package on Hackage
  • install using cabal cabal install


The live site that uses this software as backend, Try it out!

Execute it with schedule-planner calc -i JSON_INPUT_FILE.

By default it tries to obtain it's input data from testsuite/test.json, but you can specify any file as input using command line options.

Obtain information about the command line arguments using the -h or --help argument.

Since this is mostly intended to be used by myself to calculate a schedule and I attend the 'TU Dresden' there's a scraper script in util/ that gets all the current lessons as json from the website.

Code documentation

The Haddock documentation can be found on the GitHub pages