kozea/weasyprint

The awesome document factory

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 25 minutes ago
Added to GitGenius on September 6th, 2026
Created on August 9th, 2011
Open Issues & Pull Requests: 140 (+0)
GitHub issues: Enabled
Number of forks: 868
Total Stargazers: 9,569 (+0)
Total Subscribers: 131 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.1 hours
Mean response time: 79.4 days
90th percentile: 59.5 days
Tracked items: 543

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 81% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "crash" is answered fastest, typically in about 2 hours, while "feature" waits about 26 hours. Only 8% of issues opened in the past year have been closed. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 77
New in 7 days: 4
Closed in 7 days: 2
Avg open age: 1,329 days
Stale 30+ days: 59
Stale 90+ days: 45

Recent activity

Opened in 7 days: 4
Closed in 7 days: 2
Comments in 7 days: 6
Events in 7 days: 10

Top labels

  • bug (195)
  • feature (80)
  • crash (39)
  • CSS (29)
  • sponsored (27)
  • good first issue (18)
  • documentation (10)
  • performance (7)

Detailed Description

WeasyPrint is a Python library that converts HTML and CSS into PDF documents.

WeasyPrint solves the problem of generating formatted PDF reports, invoices, and tickets from web content. Rather than embedding a full browser rendering engine, it implements its own CSS layout engine written in Python and specifically designed for pagination. This approach allows developers to style documents using standard HTML and CSS while maintaining fine control over the output for print media.

The tool suits projects where you need to generate PDFs programmatically from HTML templates, particularly when you want to avoid the overhead and complexity of headless browser solutions. It works well for server-side document generation in Python applications. Choose WeasyPrint if you need a lightweight, hackable solution where the layout engine itself is accessible and modifiable. It requires Python 3.10 or later and runs on both CPython and PyPy.

Development on the tool is active and sustained. The project maintains comprehensive documentation and provides multiple examples demonstrating real-world usage. Professional support and maintenance are available through an associated organization, ensuring the project receives dedicated attention beyond community contributions. The codebase remains open to contributions under a clear licensing model that does not require copyright assignment from contributors.