15 unstable releases (4 breaking)

0.5.0 Aug 26, 2024
0.4.0 Feb 25, 2024
0.3.0 Dec 27, 2022
0.2.0 Sep 19, 2022
0.1.6 May 31, 2021

#215 in Database interfaces

MIT/Apache

400KB
11K SLoC

rucash

The Rust for Gnucash


rucash provides a simple interface to GnuCash files stored in xml and SQL (sqlite3, PostgreSQL and MySQL).

Example

use rucash::{Book, SQLiteQuery};

#[tokio::main]
async fn main() {
    let query = SQLiteQuery::new("tests/db/sqlite/complex_sample.gnucash").unwrap();
    let book = Book::new(query).await.unwrap();
    let accounts = book.accounts();
}

Install

# Cargo.toml
[dependencies]
rucash = { version = "0.5", features = [ "sqlite", "decimal" ] }

Cargo Feature Flags

  • sqlite: Add support for the self-contained SQLite database engine.
  • postgresql: Add support for the Postgres database server.
  • mysql: Add support for the MySQL database server.
  • xml: Add support for xml.
  • decimal: Add support for Decimal.

Dependencies

~4–20MB
~285K SLoC