| Crates.io | monobank-sync-rust |
| lib.rs | monobank-sync-rust |
| version | 0.2.2 |
| created_at | 2025-11-22 17:44:49.089826+00 |
| updated_at | 2025-11-22 22:05:06.853708+00 |
| description | Synchronize data from Monobank's Personal API into a local database |
| homepage | |
| repository | https://github.com/ryzhakar/monobank-sync |
| max_upload_size | |
| id | 1945519 |
| size | 161,441 |
This tool synchronizes data from Monobanks Personal API into a local SQLite database. Meant as a companion app for monobank-report tool, which ... should make useful reports based on this data.
Sync is pretty slow due to rate-limiting, but acceptable for a cron task. Expect spending months * cards * tokens + tokens minutes on each run.
Configure the tool by setting the necessary environment variables in the .env file at the project's root:
MULTIPLE_MONOBANK_TOKENS: Monobank API tokens, comma-separated.DATABASE_URL: Connection string for your database.ALLOWED_CARD_TYPES: Filter transactions by card types, comma-separated.SYNC_START_TIMESTAMP: Initial sync date; defaults to the start of the current month if unspecified.This project uses just for cumbersome repetitive tasks. For standard Rust development, use cargo commands directly (cargo build, cargo test, cargo fmt, cargo clippy, etc.).
# Install just (if not already installed)
cargo install just
# Set up development environment (installs deps, pre-commit hooks, generates SQLx data)
just setup
# Standard development workflow
cargo fmt
cargo clippy
cargo test
cargo run
just setup - Set up development environmentjust prepare-offline - Generate SQLx offline query data (used by pre-commit hook)just run-sqlite - Run with SQLite feature flagsjust migrate-new NAME - Create new migrationjust migrate-run DATABASE_URL - Run migrationsjust migrate-revert DATABASE_URL - Revert last migrationjust migrate-info DATABASE_URL - Show migration statusSee just --list for all available commands.