macOS
brew install weasyprintprovider-native install command
brew / rank 1068
Convert HTML to PDF. Version 69.0 via Homebrew; verified 2026-06-03.
install
brew install weasyprintprovider-native install command
overview
Convert HTML to PDF
history
WeasyPrint is a free, BSD-licensed HTML and CSS rendering engine that exports paged documents as PDF. It is used from the command line or Python API to turn web-standard markup into invoices, reports, tickets, books, documentation, and other static documents.
Unlike browser-wrapper PDF tools, WeasyPrint is not based on WebKit or Gecko. Its layout engine is written in Python and is intentionally focused on paged media rather than interactive web browsing.
WeasyPrint was created and developed by Kozea. Simon Sapin announced the first release in late 2011 after working with Kozea for several months; the PyPI timeline records version 0.1 on October 28, 2011, and Sapin's November 2, 2011 post describes it as a rendering engine for HTML and CSS that produces PDF.
The project was created to fill a gap in open-source document generation. WeasyPrint's own documentation notes that web engines had limited pagination support when the project began in 2011, while dedicated paged-media renderers such as Prince and Antenna House were powerful but not open source.
In October 2020, maintainership moved into the CourtBouillon organization. A GitHub issue titled 'The future of WeasyPrint' announced that CourtBouillon, composed of Guillaume Ayoub and Lucie Anglade, was the new organization maintaining the project. The current project website says professional support, maintenance, and community management are provided by CourtBouillon.
WeasyPrint's adoption has followed the broad demand for server-side document generation in web applications. Its documentation frames the main use case as automatic generation of PDFs from HTML and CSS for business and publishing documents, using technologies already familiar to web developers and designers.
The project has also matured through regular releases and sponsor-backed work. Recent changelog entries list security releases, new PDF standards work, CSS features, SVG improvements, and named sponsors and backers, showing that it is maintained as production infrastructure rather than a one-off converter.
From the shell, users typically run the weasyprint command with an input HTML document or URL and an output PDF path. From Python, applications instantiate HTML and CSS objects and render or write PDFs programmatically.
Because WeasyPrint is focused on paged media, its value is strongest when CSS print rules, page breaks, generated content, fonts, metadata, attachments, PDF/A or electronic-invoice features, and reproducible layout matter more than JavaScript execution or browser fidelity.
WeasyPrint is package-nerd significant because it is a substantial pure-open-source renderer in a space often served by headless browsers or commercial engines. It chose the hard route of implementing layout logic for paginated output instead of wrapping a general-purpose browser engine.
It also tracks a browser-like release philosophy. The documentation warns that major versions can change rendered output, which is what matters for document generation, even when APIs remain compatible.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
weasyprint | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:weasyprint |
|---|---|
| Version | 69.0 |
| Package manager | Homebrew |
| Homepage | https://www.courtbouillon.org/weasyprint |
| Last updated | 2026-06-03T18:44:54Z |
| Pulse | updated |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.