schedule-planner: Find the ideal lesson layout

[ convenience, data, lgpl, planning, program ] [ Propose Tags ]
Versions,,,,,, (info)
Dependencies aeson (>=0.8), base (>=4.7 && <5), bytestring (>=0.10), composition (>=1.0), containers (>=0.5), HTTP (>=4000.2), http‑types (>=0.8), mtl (>=2.2), options (>=1.2), text (>=1.2), text‑icu (>=0.7), transformers (>=0.4), wai (>=3.0), warp (>=3.0) [details]
License LGPL-3.0-only
Copyright 2015
Author Justus Adam <>
Maintainer Justus Adam <>
Category Data, Convenience, Planning
Source repo head: git clone git://
this: git clone git:// -b master(tag
Uploaded by justus at Sun Jun 21 15:19:02 UTC 2015
Distributions NixOS:
Executables schedule-planner
Downloads 1562 total (26 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-08 [all 7 reports]
Hackage Matrix CI

Executable program for calculating layouts for fixed grid schedules as are used in many universities and schools. The primary data format for in- and output is json. A deployable server instance of this software is also available.

[Skip to Readme]



Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for schedule-planner-

[back to package description]

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, will add UI soon.


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


You may test it right now just executing the program ./dist/build/schedule-planner/schedule-planner

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