PyPDFForm
The Python library & CLI for PDF forms.
Decision gist · record as of 2026-08-14
Yes. PyPDFForm is actively maintained, carries no known vulnerabilities, has low install friction, and is licensed permissively under MIT. It solves a real problem—PDF form automation—with a clean API and CLI interface. The 6 dependencies are all well-established libraries. Install it if you need to create, inspect, or fill PDF forms programmatically.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Underlying dependencies (pikepdf, reportlab, pillow) may require system libraries for image and font handling on some platforms.
- Low install friction with a pure-Python wheel distribution.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute PyPDFForm freely provided you include the license notice.
last release 2026-08-08 (6 days) · last repo commit 2026-08-08 · 1,236 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 201,071 downloads/mo, #9,679 on PyPI
Alternatives
Verify before relying
pip install PyPDFForm
from PyPDFForm import PdfWrapper
filled = PdfWrapper("form.pdf", need_appearances=True).fill({
"field_name": "value",
"checkbox": True,
})
filled.write("output.pdf")- Whether the package handles complex nested form structures or only flat field layouts.
- Performance characteristics when processing large batches of forms or very large PDF files.
- Extent of CLI feature parity with the Python API for form creation and styling.
What it is and what it does
PyPDFForm is a Python library and CLI tool for working with PDF forms end-to-end. It lets you create new forms and form fields from scratch, inspect existing form structure and metadata, update field styling and behavior, fill forms programmatically, and perform common PDF operations like page extraction and merging. The library wraps lower-level PDF manipulation via pikepdf and reportlab, exposing a straightforward API for both Python code and command-line workflows.
Typical use cases range from one-off form filling to building larger document automation pipelines. You can load a template PDF, populate its fields with data, and write the result—or use the CLI for quick command-line form operations. The package is actively maintained, supports modern Python versions, and carries no known security vulnerabilities.
Use it for
- Batch-fill hundreds of PDF forms with data from a database or spreadsheet in a single script.
- Inspect form field names and types programmatically before deciding how to populate them.
- Create new PDF forms with custom fields, styling, and behavior from Python code.
- Automate document workflows that require extracting pages from multiple PDFs and merging them.
- Build a CLI tool for non-developers to fill forms without writing code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyPDFForm is actively maintained, carries no known vulnerabilities, has low install friction, and is licensed permissively under MIT. It solves a real problem—PDF form automation—with a clean API and CLI interface. The 6 dependencies are all well-established libraries. Install it if you need to create, inspect, or fill PDF forms programmatically.
Install
pypdfform on PyPI
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a release 6 days ago and 1236 repository stars. Requires modern Python (3.10+) but supports current versions through 3.14.
Requires Python 3.10 or later. Underlying dependencies (pikepdf, reportlab, pillow) may require system libraries for image and font handling on some platforms.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute PyPDFForm freely provided you include the license notice.
Quickstart
pip install PyPDFForm
from PyPDFForm import PdfWrapper
filled = PdfWrapper("form.pdf", need_appearances=True).fill({
"field_name": "value",
"checkbox": True,
})
filled.write("output.pdf")
Verify before relying
- Whether the package handles complex nested form structures or only flat field layouts.
- Performance characteristics when processing large batches of forms or very large PDF files.
- Extent of CLI feature parity with the Python API for form creation and styling.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagescryptographyfonttoolspikepdfpillowpypdfreportlab |
| Maintenance | Actively maintained 6 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 201,071 / month, #9,679 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: File FormatsTopic :: Software Development :: Libraries :: Python ModulesTopic :: Text ProcessingTopic :: Utilities |
Evidence: pypdfform-5.5.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “pdf form filling automation”
- PyPDFFormPyPDFForm creates, inspects, styles, and fills PDF forms via Python…
- fillpdfFills, flattens, and manipulates PDF forms by reading form fields,…
- pypdftkPython wrapper that drives the pdftk binary to fill PDF forms, merge…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also pypdftk · fillpdf · pdfrw2 · pikepdf · pymupdf · pdfrw · PyPDF2 · pdftext · pymupdf-layout · PyPDF3