Generate your year calendar in Python. The result is a PDF file with 12 pages containing an image and a grid of days.
- pillow or PIL
- DejaVu fonts (if you want pyearcal work out of the box)
- BeautifulSoup (optional)
- Python 3.6+
- Prepare a directory with 12 images (different image providers are planned)
- Initialize calendar with all options.
- Language (locales for English, Czech, Slovak, Italian)
- Special days (national holidays are included + add your own)
- Fonts, colours
- Render it to PDF
Usage of the script
Usage: pyearcal [OPTIONS] [OUTPUT] Options: -s, --source PATH -l, --locale [en|cs|it|sk] -y, --year INTEGER -f, --font TEXT -d, --special-days TEXT
# Import important modules from pyearcal import YearCalendar from pyearcal.image_sources import UnsortedImageDirectory from datetime import date from pyearcal.l10n import CzechLocale year = date.today().year + 1 # Use all pictures from "images" directory image_source = UnsortedImageDirectory("images") # Use Czech locale and holidays locale = CzechLocale() # Set a few special days special_days = [ date(year, 1, 31) # Guido van Rossum's birthday ] calendar = YearCalendar(year, image_source, locale, special_days) calendar.render("calendar.pdf")
You can take FlickrDownloader as an inspiration for developing a more sophisticated image source.