PyPDF2
A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files
Install
pypdf2 on PyPI
pip
pip install pypdf2uv
uv add pypdf2poetry
poetry add pypdf2Package 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
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...
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
Similar packages
permissive · top 1,000 on PyPI
pdfplumberpermissive · top 1,000 on PyPI
rsapermissive · top 1,000 on PyPI
pymupdfagpl · top 1,000 on PyPI
pdfminer.sixpermissive · top 1,000 on PyPI
networkxpermissive · top 1,000 on PyPI
asn1cryptopermissive · top 1,000 on PyPI
pandaspermissive · top 100 on PyPI
msal-extensionspermissive · top 1,000 on PyPI
fonttoolspermissive · top 1,000 on PyPI