skillfed

pypdfium2

Python bindings to PDFium

pypdfium2 Permissive license BSD-3-Clause, Apache-2.0, dependency licenses Active 807 v5.13.0 released

Install

pypdfium2 on PyPI

pip

pip install pypdfium2

uv

uv add pypdfium2

poetry

poetry add pypdfium2

Package facts

License BSD-3-Clause, Apache-2.0, dependency licenses (permissive)
Python support supports the current Python release (>=3.6)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: pypdfium2-5.13.0-py3-none-android_23_arm64_v8a.whl; pypdfium2-5.13.0-py3-none-android_23_armeabi_v7a.whl; pypdfium2-5.13.0-py3-none-macosx_13_0_arm64.whl; pypdfium2-5.13.0-py3-none-macosx_13_0_x86_64.whl; pypdfium2-5.13.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pypdfium2-5.13.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pypdfium2-5.13.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl; pypdfium2-5.13.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pypdfium2-5.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pypdfium2-5.13.0-py3-none-manylinux_2_27_s390x.manylinux_2_28_s390x.whl; pypdfium2-5.13.0-py3-none-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_aarch64.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_armv7l.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_i686.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_ppc64le.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_riscv64.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_s390x.whl; pypdfium2-5.13.0-py3-none-musllinux_1_2_x86_64.whl; pypdfium2-5.13.0-py3-none-win32.whl; pypdfium2-5.13.0-py3-none-win_amd64.whl

Keywords: pdf, pdfium

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: Implementation :: CPythonTopic :: Multimedia :: GraphicsTopic :: Software Development :: Libraries

About pypdfium2

from the package's own PyPI description — quoted content, verbatim

<!-- SPDX-FileCopyrightText: 2026 geisserml <geisserml@gmail.com> --> <!-- SPDX-License-Identifier: CC-BY-4.0 -->

pypdfium2

<!-- Downloads (image) -->

pypdfium2 is an ABI-level Python 3 binding to PDFium, a powerful and liberal-licensed library for PDF rendering, inspection, manipulation and creation.

It is built with ctypesgen and external PDFium binaries. The custom setup infrastructure provides a seamless packaging and installation process. A wide range of platforms is covered with pre-built packages. Check out our platform support page.

pypdfium2 includes helpers to simplify common use cases, while the raw PDFium API (ctypes) remains accessible as well.

Installation

From PyPI (recommended)
python -m pip install -U pypdfium2

If available for your platform, this will use a pre-built wheel package, which is the easiest way of...

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

pypdfium2 is a Python binding to PDFium that enables PDF rendering, inspection, manipulation, and creation through a ctypes interface to the underlying C library.

Medium install friction due to platform-specific binary wheels and potential compilation fallback. Pre-built wheels cover multiple platforms, but setup falls back to system PDFium or source build if unavailable. No runtime dependencies required by default.

Dual-licensed under BSD-3-Clause and Apache-2.0 with additional dependency licenses. Both are permissive, allowing commercial and private use with minimal restrictions, though attribution and license notices must be retained.

Usage

pip install pypdfium2
import pypdfium2 as pdfium
pdf = pdfium.PdfDocument.new()

PDFium binary must be available—either pre-built (bundled in wheel), from system library, or built from source; requires Python ≥3.6.

Verdict: pypdfium2 is a stable, actively maintained PDF library (Production/Stable, 807 GitHub stars, released 2026-08-13) with broad platform coverage and zero known vulnerabilities. Permissive licensing and no mandatory runtime dependencies make it low-friction for most use cases, though binary availability varies by platform.

Needs verification

  • Whether pre-built wheels are available for your specific platform/architecture combination
  • Performance characteristics compared to alternative PDF libraries for your use case
  • Whether optional dependencies (Pillow, NumPy, opencv-python) are needed for your workflow
  • Specific API methods and their signatures beyond the basic PdfDocument.new() pattern
pdf rendering pythonpdfium bindingspdf manipulation librarypdf inspection toolspdf creation pythonpdf processing ctypesportable document format handling

Similar packages