pdf calendar creator with high quality vector graphics

View project on GitHub


Callirhoe is a free and open-source pdf calendar generator as well as a photo calendar maker. It is written in Python and it produces high quality output in vector (pdf) or raster (png) formats using the Cairo graphics library. It is a programming environment where each calendar template is valid Python code, giving the user ultimate flexibility. A high-level library for calendar rendering is provided, as well as a powerful command-line client.

Downloadable Calendars Basic Users Guide (with screenshots) Photo Guide :: contact sheet


  • high quality vector graphics with alpha (translucency) support
  • pdf (vector) or png (raster) output
  • impressive photo calendars with translucent overlays, partial list of features:
    • optimal calendar placement with minimal-entropy overlap!
    • maximal-entropy cropping (aka smart-crop) then minimal-entropy overlay also supported ;)
    • multi-threaded operation for efficiently handling large photo collections...
    • photo shuffling etc.
  • new features introduced in latest version 0.4.3 (Dec 2015):
    • added option --fractal to enable fractal mode rendering into a single page [screenshot]
  • classical matrix or bar layouts, symmetric and asymmetric
    asymmetric boxes, with shadows
    more colorful, sloppy, but symmetric (note the empty lines); also, font rotation sucks a little due to hinting and low res; in higher res, or in pdf, it looks as it should ;)
    no colors, neither shadows, asymmetric
    asymmetric symmetric asymmetric, bw sparse
  • holiday support (programmable)
    • Catholic & Orthodox Easter based holidays, Greek name days
  • multiple languages (Greek, English, French, German, Turkish, ...)
  • complete programming environment:
    • fully documented code (epydoc)
    • multiple layouts (tiles, bars, sparse, weekly, monthly, annual, bi-annual...)
    • fully customizable (colors, fonts, etc.)

Upcoming features

  • svg output
  • multiple data sources (ics files, CalDAV, Google Calendar...)

You're more than welcome to send me styles, color themes, translations ...


Create a calendar of the current year (by default in a 4x3 grid):

$ callirhoe my_calendar.pdf
Same as above, but in landscape mode (3x4) (for printing):
$ callirhoe --landscape my_calendar.pdf
Landscape via rotation (for screen):
$ callirhoe --paper=a4w --rows=3 my_calendar.pdf
Let's try with bars instead of boxes:
$callirhoe -t bars my_calendar.pdf
In landscape mode, one row only looks quite good:
$ callirhoe -t bars --landscape --rows=1 my_calendar.pdf
How about a more flat look?
$ callirhoe -t sparse -s bw_sparse --rows=1 --cols=3 my_calendar.pdf
Calendar of 24 consecutive months, starting from current month:
$ callirhoe 0:24 0 my_calendar.pdf
Create a 600-dpi PNG file so that we can edit it with some effects in order to print an A3 poster:
$ callirhoe my_poster.png --paper=a3 --dpi=600 --opaque
Create a calendar as a full-hd wallpaper (1920x1080):
$ callirhoe wallpaper.png --paper=-1920:-1080 --opaque --rows=3 --no-shadow -s rainbow-gfs
and do some magic with ImageMagick! ;)
$ convert wallpaper.png -negate fancy.png