PDF parsing for Singaporean banks
Project description
Monopoly is a Python library that converts Singapore bank statement PDFs to CSV using pdftotext
Supported banks:
Bank | Credit Statement | Debit Statement |
---|---|---|
Citibank | :white_check_mark: | :x: |
DBS | :white_check_mark: | :white_check_mark: |
HSBC | :white_check_mark: | :x: |
OCBC | :white_check_mark: | :white_check_mark: |
Standard Chartered | :white_check_mark: | :x: |
Install
Clone the repo
git clone https://github.com/benjamin-awd/monopoly.git
Install dependencies using Homebrew
brew install make
make setup
Usage
Monopoly can be run as a Python package, allowing you to extract, transform and write bank statements to a CSV file.
To see how Monopoly works, you can run this example
python3 src/monopoly/examples/single_statement.py
If you need to run monopoly on a password protected file, ensure that passwords are set in the .env file:
cp .env.template env
If you have multiple statements from the same bank with different passwords (e.g. HSBC statements), make sure to set both passwords in an array format like so:
HSBC_PDF_PASSWORDS=["password1","password2"]
Features
- Unlocks PDFs using user-provided credentials
- Statements can be parsed with the CLI, or manually with the bank processor class.
- Support for cashback transactions and refunds
- Monopoly can be run on Google Cloud as a scheduled Cloud Run job, which opens up more sophisticated use-cases like historical analysis and personal finance visualization
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
Built Distribution
File details
Details for the file monopoly_sg-0.7.7.tar.gz
.
File metadata
- Download URL: monopoly_sg-0.7.7.tar.gz
- Upload date:
- Size: 212.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9c4b9f97c27d9b8cc7a55e9463e934a42d9893c44c4ee370cb49fb82b396fbb |
|
MD5 | 5c5d3665c908dc6a2002498f0fd517d3 |
|
BLAKE2b-256 | c5759bf891c967d0003644412a3c5b58475f5056e74b71f53ea531ca1549948b |
File details
Details for the file monopoly_sg-0.7.7-py3-none-any.whl
.
File metadata
- Download URL: monopoly_sg-0.7.7-py3-none-any.whl
- Upload date:
- Size: 218.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Linux/5.15.146.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ac8c94e25f7ee9899e5fa811a2b597e910f74bcaa582ac8cd7c314edaf40689 |
|
MD5 | bef42b2683e7ac0e37b9e36e7b6253df |
|
BLAKE2b-256 | aa0f703c17d1fb2b08cd7047c69fa34880e1f672553013e5522ce1bba9d4e3b4 |