Python API
from betacalendars_printlint import CalendarSpec, build_month_grid, validate_manifest
grid = build_month_grid(CalendarSpec(2027, 1, "monday", "fixed-six-weeks"))
assert (grid.rows, grid.columns) == (6, 7)
report = validate_manifest("fixtures/2027/01-january.json")
print(report.to_dict())
Public imports include CalendarSpec, GridCell, GridResult, Issue, Check, ValidationReport, build_month_grid, validate_calendar, validate_manifest, validate_blank_grid, validate_svg, and validate_pdf. ValidationReport.valid is false when any errors exist; warnings remain advisory. PDF validation imports pypdf when called.