PyPDF3
Pure Python PDF toolkit
What it is and what it does
PyPDF3 is a pure-Python PDF manipulation library that lets you read, split, merge, crop, and encrypt PDF files without installing system libraries or external tools. It works entirely in memory using StringIO objects, making it suitable for web applications that need to generate or modify PDFs on the fly.
The package has been abandoned since February 2022 and its repository is now archived. While it carries a Production/Stable classifier and has no known security vulnerabilities, the lack of maintenance means it will not receive bug fixes, security patches, or updates for modern PDF specifications. It remains functional for basic PDF operations on older or simpler documents, but newer projects should evaluate actively maintained alternatives.
Use it for:
- Extract metadata (title, author) from PDF files in a web service without external dependencies
- Split multi-page PDFs into individual pages or merge pages from multiple documents
- Encrypt or decrypt PDF files programmatically in memory for secure document handling
- Crop or resize PDF pages before serving them to users in a web application
- Generate simple PDF reports by combining pages from template documents
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyPDF3 is a pure-Python PDF toolkit for extracting document information, splitting and merging pages, cropping, and encrypting or decrypting PDF files without external dependencies.
No, unless you have legacy code already using PyPDF3 or a specific constraint preventing use of maintained alternatives. The package is abandoned, unmaintained since 2022, and its repository is archived. While it has no known vulnerabilities and works for basic tasks, the lack of ongoing support means no fixes for edge cases, modern PDF formats, or Python version incompatibilities. Evaluate actively maintained PDF libraries instead.
Install
pypdf3 on PyPI
pip
pip install pypdf3uv
uv add pypdf3poetry
poetry add pypdf3Installing PyPDF3
Before you install
High install friction due to source distribution. Package is abandoned as of 2022-02-03 with no maintenance since then; the repository is archived. Use only if no active alternative exists.
License in practice
BSD License (permissive) allows commercial and private use with minimal restrictions, though the abandoned status means no ongoing legal or security updates.
Quickstart
pip install PyPDF3==1.0.6
from PyPDF3 import PdfFileReader, PdfFileWriter
with open('input.pdf', 'rb') as f:
reader = PdfFileReader(f)
writer = PdfFileWriter()
writer.addPage(reader.getPage(0))
with open('output.pdf', 'wb') as out:
writer.write(out)
No external dependencies, but package is unmaintained since 2022; test thoroughly with your target PDF files before production use.
Verify before relying
- Whether PyPDF3 handles modern PDF specifications and edge cases reliably given its abandoned status since 2022
- Known compatibility issues or regressions with recent Python versions beyond the unspecified support declaration
- Whether in-memory StringIO manipulation still works as intended or has bitrotted
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,653 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 75,634/month — #14,694 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyPDF3-1.0.6.tar.gz
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
borbborb reads, writes, and manipulates PDF files…
agpl · top 15,000 on PyPI
PyPDF4PyPDF4 is a pure-Python PDF toolkit for…
permissive · top 15,000 on PyPI
pypdfpypdf is a pure-Python library for reading,…
permissive · top 1,000 on PyPI
PyPDF2PyPDF2 is a pure-Python library for reading,…
permissive · top 1,000 on PyPI
pikepdfpikepdf reads, writes, repairs, and transforms…
copyleft · top 5,000 on PyPI
pypdftkPython wrapper that drives the pdftk binary to…
permissive · top 15,000 on PyPI
convertapiA Python client for the ConvertAPI online file…
permissive · top 15,000 on PyPI
pdftotextExtracts text from PDF files, including…
permissive · top 15,000 on PyPI
pdfrwpdfrw reads, writes, and manipulates PDF files…
permissive · top 5,000 on PyPI
pdfrw2pdfrw2 reads, writes, and manipulates PDF files…
permissive · top 15,000 on PyPI