Crates.io | monzo-cli |
lib.rs | monzo-cli |
version | 0.1.0 |
source | src |
created_at | 2024-06-21 10:20:01.354986 |
updated_at | 2024-06-21 10:20:01.354986 |
description | A rust command line application for downloading Monzo transaction history to an SQLITE database. |
homepage | |
repository | https://github.com/richardjlyon/rust-monzo |
max_upload_size | |
id | 1279370 |
size | 207,787 |
A rust command line application for downloading Monzo transaction history to an SQLITE database.
cargo install --git https://github.com/richardjlyon/rust-monzo
> monzo-cli
Usage: monzo <COMMAND>
Commands:
update Update transactions
balances Account balances
auth (Re)authorise the application
reset Reset the database (WARNING: This will delete all data!)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Edit the file configuration.toml
with the following content:
start_date = "2024-01-01T00:00:00"
default_days_to_update = 14
[database]
database_path = "db.sqlite"
max_connections = 5
[oath_credentials]
client_id = "XXX"
client_secret = "XXX"
redirect_uri = "http://localhost:3000/oauth/callback"
Create a new OAuth client in the Monzo developer console and replace the
client_id
and client_secret
with the values from the new client. Replacestart_date
with the date of the earliest transaction you want to download.
Create file configuration.yaml
in the root of the project with the following content:
category_0000Aebc1dJeps1a2lDFKb: "InternetMobile"
category_0000AeNDWV8K5iX53Ohyld: "Car"
category_0000AiofUPXe8c5I6Zxp6g: "Clothing"
category_0000AeR7gxWtXy4Hzy0ULL: "Energy"
category_0000AgThBIKMlNhgpZPRhZ: "Maintenance"
category_0000AeU961sBDb6GUYcQh1: "Subscriptions"
Replace the category IDs with the IDs of the categories you want to use. These can be found in the database.
auth
command and follow the instructions to authenticate the application. This will only need to be done once.