Further Reading: Automated Reporting


Tier 1: Essential Reading

FPDF2 documentation. py-pdf.github.io/fpdf2/ The official FPDF2 documentation with examples for tables, images, multi-page documents, and templates. Essential for PDF generation.

ReportLab documentation. www.reportlab.com/docs/reportlab-userguide.pdf The official ReportLab user guide. More complex than FPDF2's docs but covers advanced layout features.

python-pptx documentation. python-pptx.readthedocs.io The official documentation for python-pptx. Covers slide layouts, slot elements, shapes, and chart embedding.


Jinja2 documentation. jinja.palletsprojects.com The official Jinja2 docs. Template syntax, inheritance, filters, macros, and the Environment API.

WeasyPrint documentation. doc.courtbouillon.org/weasyprint/ For HTML-to-PDF conversion. Good CSS support and no external binary dependencies.

Python email documentation. docs.python.org/3/library/email.html The standard-library email module. Covers MIME, multipart messages, encoding, and smtplib. Essential for building email workflows without third-party dependencies.

SendGrid Python library. github.com/sendgrid/sendgrid-python For production email delivery. SendGrid (now Twilio) is one of the most popular transactional email services. Alternatives: Mailgun, Postmark, AWS SES.

IPCC AR6 figures repository. github.com/IPCC-WG1/AR6-figures Some IPCC chapters published their figure-generation scripts. An interesting example of production scientific figure code.

Crontab Guru. crontab.guru An interactive tool for testing cron expressions. Type a schedule string and see what it means in human-readable form. Useful for avoiding common cron mistakes.


Tier 3: Tools and Online Resources

Resource URL / Source Description
FPDF2 GitHub github.com/py-pdf/fpdf2 The FPDF2 source code.
ReportLab GitHub github.com/Distrib-Tools/reportlab The ReportLab source (and PyPI mirror).
python-pptx GitHub github.com/scanny/python-pptx python-pptx source and examples.
openpyxl openpyxl.readthedocs.io Excel file generation. Alternative to python-pptx for stakeholders who want Excel.
xlsxwriter xlsxwriter.readthedocs.io Another Excel library with different strengths (faster writes, better formatting).
pdfplumber github.com/jsvine/pdfplumber For reading PDFs (not generating). Useful for testing generated PDFs or extracting data.
pypdf pypdf.readthedocs.io General PDF manipulation: merge, split, encrypt, extract pages.
Jinja2 template designer docs jinja.palletsprojects.com/templates/ The template syntax reference for authors.
APScheduler apscheduler.readthedocs.io Python scheduling library for in-process scheduling. Alternative to cron.
Healthchecks.io healthchecks.io Cron monitoring service. Free tier available. Pings you if a scheduled job doesn't run.
Cronitor cronitor.io Similar to Healthchecks.io with additional features.
Prefect prefect.io Workflow orchestration for data pipelines. More complex than cron but powerful for multi-step workflows.

A note on reading order: If you want one additional source, read the FPDF2 examples in the official documentation — they cover most common PDF generation patterns with working code. For email workflows, the Python standard-library email and smtplib documentation is sufficient for most cases; move to SendGrid or similar only when you need production-grade delivery.