Installation
PlutoPrint is available on PyPI and supports Python 3.10 and newer.
Standard Installation
For most users on standard architectures (Windows win_amd64, Linux x86_64 manylinux, macOS arm64), prebuilt binaries are bundled with the package. You can install simply via pip:
pip install plutoprint
macOS (Homebrew)
On macOS, you can alternatively install PlutoPrint using Homebrew:
brew update
brew install plutoprint
Building from Source / Other Architectures
If you are on an architecture without prebuilt wheels, or if you wish to build PlutoPrint from source, you must have the required system libraries installed. Meson will attempt to build dependencies if they are not found, which can significantly increase build time.
Dependencies
- Required:
cairo,expat,fontconfig,freetype,harfbuzz,icu - Optional:
curl(for network fetching),turbojpeg,webp
System Setup Guides
Ubuntu / Debian
sudo apt-get install -y \
build-essential pkg-config \
meson ninja-build \
libcairo2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev \
libharfbuzz-dev libicu-dev \
libcurl4-openssl-dev libturbojpeg0-dev libwebp-dev
macOS (Homebrew Dependencies)
brew install llvm pkg-config \
meson ninja \
cairo expat fontconfig freetype harfbuzz icu4c \
curl jpeg-turbo webp
Windows (MSYS2)
Install MSYS2, launch the MSYS2 MinGW 64-bit shell, and run:
pacman -S --needed \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-pkgconf \
mingw-w64-x86_64-meson \
mingw-w64-x86_64-ninja \
mingw-w64-x86_64-expat \
mingw-w64-x86_64-icu \
mingw-w64-x86_64-freetype \
mingw-w64-x86_64-harfbuzz \
mingw-w64-x86_64-fontconfig \
mingw-w64-x86_64-cairo \
mingw-w64-x86_64-curl-winssl \
mingw-w64-x86_64-libjpeg-turbo \
mingw-w64-x86_64-libwebp
Verifying Installation
To verify that PlutoPrint is installed and linking correctly to the underlying rendering engine, run:
python -c "import plutoprint; print(plutoprint.__build_info__)"