Metadata-Version: 2.4
Name: flyfield
Version: 2025.9.17
Summary: Tools for extracting, processing, and generating interactive fields for PDFs containing white box fields.
Author-email: flywire <flywire0@gmail.com>
License: GPL-3.0-or-later
Keywords: pdf,form,fields,extraction,pymupdf,pypdfforms
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyMuPDF>=1.18.0
Requires-Dist: PyPDFForm>=0.3.3
Provides-Extra: dev
Requires-Dist: mkdocs>=1.4; extra == "dev"
Requires-Dist: mkdocs-material>=9.1; extra == "dev"
Requires-Dist: mkdocstrings[python]>=0.19; extra == "dev"
Requires-Dist: black>=23.3.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: tox>=4.19; extra == "dev"
Dynamic: license-file

# flyfield

Transform static white box PDF forms into interactive forms for fast automation.

***
## Overview

**flyfield** automatically analyzes static PDF forms, creates fillable fields, marks field locations for verification, fills and extracts data, and seamlessly converts money values between PDF text and spreadsheet/database numeric formats.

***
## Key Features

- Generate interactive form fields and marked-up PDFs from PDF white box forms
- Fill and export form data using CSV files
- Seamlessly convert money values between PDF text and CSV number formats
- Simple command-line interface for efficient workflows
- Open source and flexible for diverse PDF automation needs

***
## Installation

Install with pipx:

```
pipx install flyfield
```

Check version:

```
flyfield --version
```

Or install via pip:

```
pip install flyfield
```


***
## Usage

Run commands on PDF files as needed:

```
flyfield --input-pdf myfile.pdf --markup
```


### Options:

- `--markup` Generate a PDF highlighting white boxes
- `--fields` Add interactive form fields
- `--fill` Fill form fields using data from a CSV file
- `--capture` Export filled form data to CSV
- `--input-csv` Load field data from a CSV instead of extracting
- `--debug` Show detailed processing logs


### Example workflow:

```
flyfield --input-pdf form.pdf --markup --fields  
flyfield --input-pdf form-fields.pdf --input-csv form.csv --fill form-fill.csv  
flyfield --input-pdf form-filled.pdf --capture  
```


***
## For Developers

Clone and install development tools:

```
git clone https://github.com/flywire/flyfield.git  
cd flyfield  
pip install -e .[dev]  
```

Run tests:

```
tox  
```

Modules:

- `extract` — box detection
- `layout` — analyse, group and filter fields
- `markup_and_fields` — generate fields and markings
- `io_utils` — data I/O
- `utils` — utility functions

For CLI help:

```
python -m flyfield.cli --help  
```


***
## License

GNU GPL v3.0 or later. See [LICENSE](LICENSE).

***
## Contributing

Contributions welcome via issues and pull requests.

***
## Acknowledgements

- Powered by [PyMuPDF](https://pymupdf.readthedocs.io).
- Uses [PyPDFForm](https://pypdfform.readthedocs.io).
- Designed to simplify workflows involving white boxed PDF form fields.

***
