Skip to content

Repository files navigation

WeasyPrint native libraries

Platform wheels containing the native libraries required by WeasyPrint.

The package installs a .pth file that activates the bundled runtime automatically when Python starts. Applications can therefore use WeasyPrint normally without calling a separate loader function.

Supported wheels

Platform Wheel tag Native source
Linux x86-64 manylinux_2_28_x86_64 Libraries built from pinned source archives
Windows x86-64 win_amd64 Locked MSYS2/MinGW runtime packages
macOS Apple Silicon macosx_11_0_arm64 Relocated Homebrew runtime
macOS Intel macosx_11_0_x86_64 Relocated Homebrew runtime

The Linux baseline targets glibc 2.28 and newer systems, including RHEL/Rocky Linux 8 and later.

Build

Linux:

make wheel

Windows:

.\scripts\build_windows.ps1

macOS:

./scripts/build_macos.sh

Generated wheels are written to dist/.

Code quality

Format all Python files locally:

make format

Run the same non-modifying format and lint checks as GitHub Actions:

make check

make check executes ruff format --check . followed by ruff check .. The dedicated code-quality workflow runs this target for pushes to main, pull requests and manual dispatches.

To create a WeasyPrint wheel with the native runtime embedded directly:

make patched-wheel WEASYPRINT_VERSION=69.0

On Windows:

.\scripts\build_patched_weasyprint_windows.ps1 -WeasyPrintVersion 69.0

Test locally

make local-test

On Windows:

.\scripts\test_local.ps1

The complete platform matrix is tested by GitHub Actions on Ubuntu, Rocky Linux 8/9 and Windows.

Documentation

License

The project-specific Python and build code is licensed under the MIT License.

The wheel also redistributes third-party native libraries under their respective licenses. See THIRD_PARTY_LICENSES.md. The MIT license of this repository does not replace those licenses.

About

Build a python wheel for weasyprint libraries

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages