Skip to main content

PDF aggregator

Aggregate account PDF statements into JSON and visualize aggregated financial data as timeline.

PDF aggregator

Works offline and relies on tika for PDF parsing and matplotlib for plotting. It relies on regular expressions stored in simple configuration files to extract bank statements balance, date, account number...

Installation

pip install -r requirements.txt

Usage

Aggregate

Scan PDF files and aggregate financial data into an accounts.json summary file:

python aggregate.py path/to/folder/with/PDF

or

python aggregate.py path/to/file.pdf

--help for more options.

Add a new config

python aggregate.py path/to/PDF/file --test

It should print out the content of the pdf. Then test regular expression:

python aggregate.py path/to/PDF/file --test 'Ending balance on (\d+)/(\d+)/(\d+)

You can then create conf file and test detection with -vvv:

python aggregate.py path/to/PDF/file -vvv

Plot

Plot aggregated data:

python plot.py path/to/folder/with/multiple/accounts.json

or

python plot.py path/to/accounts.json

--help for more options.

Example:

python.exe .\plot.py .\accounts\ --subtotals --no_real_estate_appreciation

Metadata

Release files for pdf-aggregator 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pdf-aggregator 0.0.1
File Size Uploaded Provenance Actions
pdf-aggregator-0.0.1.tar.gz 8.8 kB Without provenance Details for pdf-aggregator-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pdf-aggregator 0.0.1
File Interpreter ABI Platform Actions
pdf_aggregator-0.0.1-py3-none-any.whl Python 3 none any Details for pdf_aggregator-0.0.1-py3-none-any.whl

Total release size: 19.3 kB

Release files / pdf-aggregator-0.0.1.tar.gz

Download URL pdf-aggregator-0.0.1.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7bb694f89ff1b590429d7f285134567cf58f480f29601b4d04aecc9984216793
BLAKE2b-256 checksum
How to use checksums
66fd84db9f9b053a42debb170be330f241f22f5d55166922731a260b33f0299b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.8

Release files / pdf_aggregator-0.0.1-py3-none-any.whl

Download URL pdf_aggregator-0.0.1-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a23cb0760b27b8457c5e84276124c0aac28c8b2a62919f111eb58bc693d80bd
BLAKE2b-256 checksum
How to use checksums
c0d3526724bcb3ff1fee559d9b1b35aade81584e832013aad60a50b80af8df37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.8

Security for pdf-aggregator 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page