Generate a single-page PDF calendar with configurable styling.
poetry installpoetry run python calendar_generator/generate.pyGenerates calendar_YYYY.pdf in the current directory.
Edit config.yaml to customize. Defaults to 2026, letter size, Avenir font.
Calendar
year- Calendar year (default: 2026)
Layout
pagesize- "letter" or "A4"margin_inches- Page marginsmonth_spacing_x_inches/month_spacing_y_inches- Space between months
Week Numbers
show_week_numbers- Display ISO week numbers (true/false)week_number_width_inches- Column width for week numbers
Overflow Days
show_overflow_days- Show days from prev/next month in grey (true/false)overflow_day_color- Color name or hex (e.g., "lightgrey", "#CCCCCC")
Custom Fonts
custom_fonts- Map font names to TTF file pathscustom_fonts: Avenir: /System/Library/Fonts/Avenir.ttc MyFont: path/to/font.ttf
Text Formatting
day_name_length- Letters per day name (1=M, 2=Mo, 3=Mon)month_name_alignment- "left", "center", or "right"header_to_table_spacing- Points between day headers and dates
Fonts
title_font/title_size- Month namesday_header_font/day_header_size- Day names (M, T, W...)day_number_font/day_number_size- Date numbersweek_number_font/week_number_size- Week numbers
Colors
text_color- Default text colorheader_color- Month and day header colorweekend_color- Weekend text color (null = same as text_color)
Colors can be names ("black", "darkgrey") or hex codes ("#000000").
year: 2027
pagesize: A4
show_week_numbers: true
day_name_length: 3
month_name_alignment: center
title_font: Avenir-Heavy