Projects

Academic Calendar

Generate weekly course calendars from a reusable term configuration.

Academic Calendar (acalendar) is a Python command-line tool that turns a TOML configuration into a weekly course calendar. Define the term dates, add module topics and events, and export the result as CSV, an HTML table, or a LaTeX table snippet.

The tool groups the term into Monday-to-Friday weeks and keeps partial weeks within the specified dates. Optional spring and Thanksgiving breaks insert labeled weeks with no classes. Weekly titles and events can use numbered or plain lines, and omitted fields produce blank cells.

After installing the repository with Poetry, generate a calendar with

poetry run calendar \
  --config calendars/cop3530_26f.toml \
  --html

Use --csv for a spreadsheet-compatible export or --latex for a table snippet. Several formats can be requested in the same run. The repository includes example course configurations and tests for date boundaries, breaks, input validation, and output formatting.

Python 3.10 or newer is required. The project uses the MIT license. Documentation · MIT license