[!WARNING]
monopoly-sg has moved to monopoly-core on PyPI
Monopoly is a Python library & CLI that converts Singapore bank statement PDFs to CSV.
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: |
🎉 Monopoly is now live! 🎉
Try it out:
https://monopoly.streamlitapp.com/
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 with a script using the StatementHandler 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
Metadata
Release files for monopoly-sg 0.8.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| monopoly_sg-0.8.4.tar.gz | 224.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| monopoly_sg-0.8.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 456.5 kB
Release files / monopoly_sg-0.8.4.tar.gz
| Download URL | monopoly_sg-0.8.4.tar.gz |
|---|---|
| Size | 224.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90e63fd0cf268eca82af017e1a0a93d4d92ad619e24bd14fb6a933235e141313
|
|
BLAKE2b-256 checksum How to use checksums |
d9a1e404d7e82742494b9c1da3275d27cb24d4eb337f17d1febce088ca2b095f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2
|
Release files / monopoly_sg-0.8.4-py3-none-any.whl
| Download URL | monopoly_sg-0.8.4-py3-none-any.whl |
|---|---|
| Size | 231.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
556106b2287b136fccc946e1cd26883a78cea2c7c0d6a2e4e51f0fac47ffd7a8
|
|
BLAKE2b-256 checksum How to use checksums |
49706c0794c9b0cea52eb8b839509804acbccea2a116232964983d5771c0c47b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Linux/5.15.146.1-microsoft-standard-WSL2
|