[!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 | Provenance | Actions |
|---|---|---|---|---|
| monopoly_sg-0.8.4.tar.gz | 224.8 kB | Without provenance | Details for monopoly_sg-0.8.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| monopoly_sg-0.8.4-py3-none-any.whl | Python 3 | none | any | Details for monopoly_sg-0.8.4-py3-none-any.whl |
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
|
Security for monopoly-sg 0.8.4
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.