AI-powered document extraction system that classifies documents and extracts structured data
Project description
ext_data
Lightweight AI-based document extraction package for automatic document classification and structured data extraction using a hybrid NLP pipeline (spaCy + GLiNER).
Features
- Multi-format support -- PDF, DOCX, PPTX, PNG, JPG
- Automatic document classification
- Hybrid extraction -- spaCy, GLiNER, regex, rules
- Line item extraction -- tables and text
- OCR support via Tesseract OCR
- Structured JSON output with confidence scores
Installation
Prerequisites
- Python 3.10 – 3.12
- Tesseract OCR installed
Install package
pip install ext_data
Or from source:
git clone https://github.com/your-repo/ext_data.git
cd ext_data
pip install -e .
Usage
Single file
python -m ext_data.main --input file.pdf
Folder
python -m ext_data.main --input documents/
Output
Results are saved as JSON:
{
"document_type": "invoice",
"fields": {
"invoice_number": "INV-001",
"vendor_name": "Company",
"total_amount": "1000.00"
},
"line_items": [],
"overall_confidence": 0.8,
"status": "success"
}
Supported Types
- Invoice (enabled)
- Other types available in codebase (can be enabled manually)
Project Structure
ext_data/
├── main.py
├── ingestion/
├── parsers/
├── extraction/
└── output/
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ext_data-0.1.1.tar.gz
(67.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ext_data-0.1.1-py3-none-any.whl
(78.9 kB
view details)
File details
Details for the file ext_data-0.1.1.tar.gz.
File metadata
- Download URL: ext_data-0.1.1.tar.gz
- Upload date:
- Size: 67.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eac84924f9bf2c6fa5988f8a6c24201aec40906f61ad638d7ed4359fe415b03
|
|
| MD5 |
3e8a49b260df1f3e16217914aae5498c
|
|
| BLAKE2b-256 |
e0e71d5ebeda5505d2e41507b29a5b6dc1dcf9dcd32ce172357efa2bf4f205ca
|
File details
Details for the file ext_data-0.1.1-py3-none-any.whl.
File metadata
- Download URL: ext_data-0.1.1-py3-none-any.whl
- Upload date:
- Size: 78.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b5590c4cdfe3143362b250665a1963aed0444f261fb073acd712e5f77e2d1d6
|
|
| MD5 |
be2731378f0de5ed3cbbb15f1078f46c
|
|
| BLAKE2b-256 |
c4311145798f549a3e55ec9b822c3fbd8ab54f4bcca82f7697aab6efff509138
|