skillfed

PyPDF2

A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files

pypdf2 Permissive license Active 10,154 v3.0.1 released

Install

pypdf2 on PyPI

pip

pip install pypdf2

uv

uv add pypdf2

poetry

poetry add pypdf2

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 2 — typing_extensions, dataclasses
Maintenance actively maintained — 1,321 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 2 — GHSA-4vvm-4w3v-6mr8, PYSEC-2026-1835

Evidence: pypdf2-3.0.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

About PyPDF2

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

PyPI version (image) Python Support (image) https://img.shields.io/badge/-documentation-green (image) GitHub last commit (image) codecov (image)

NOTE: The PyPDF2 project is going back to its roots. PyPDF2==3.0.X will be the last version of PyPDF2. Development will continue with pypdf==3.1.0.

PyPDF2

PyPDF2 is a free and open-source pure-python PDF library capable of splitting, merging, cropping, and transforming the pages of PDF files. It can also add custom data, viewing options, and passwords to PDF files. PyPDF2...

Read as markdown · JSON record · Source repository · 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

PyPDF2 is a pure-Python library for reading, splitting, merging, and transforming PDF files, with support for text extraction, metadata retrieval, and encryption/decryption.

Low install friction with only two lightweight runtime dependencies (typing_extensions, dataclasses). Repository is active with recent commits and strong community engagement, though the package is in its final 3.0.X release cycle with development migrating elsewhere.

Permissive license treatment allows broad use in commercial and open-source projects without significant restrictions.

Usage

pip install PyPDF2

from PyPDF2 import PdfReader

reader = PdfReader("example.pdf")
text = reader.pages[0].extract_text()

Requires Python 3.6+; AES encryption/decryption requires optional [crypto] extra dependencies.

Verdict: PyPDF2 3.0.1 is a stable, mature PDF manipulation library with low install friction and permissive licensing. However, it is explicitly the final 3.0.X release—development continues under a successor package. Two known vulnerabilities (GHSA-4vvm-4w3v-6mr8, PYSEC-2026-1835) warrant review before production use.

Needs verification

  • Severity and applicability of the two recorded vulnerabilities (GHSA-4vvm-4w3v-6mr8, PYSEC-2026-1835) to your use case
  • Whether migration to the successor package is feasible for your project given the end-of-line status of PyPDF2 3.0.X
  • Active maintenance status and security patch availability for this 3.0.X version line
pdf splitting mergingextract text from pdfpdf manipulation pythonpdf reader writerpdf encryption decryptioncrop transform pdf pagespdf metadata extraction

Similar packages