[package] name = "rucash" version = "0.5.0" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/z-Wind/rucash" description = "read Gnucash file" keywords = ["gnucash"] categories = ["database"] authors = ["zWindr "] edition = "2021" rust-version = "1.77.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] sqlx = { version = "0.8", optional = true } chrono = "0.4" rust_decimal = { version = "1.36", optional = true } xmltree = { version = "0.11", optional = true } itertools = "0.13" flate2 = "1.0" tokio = { version = "1.39", features = ["sync"] } num-traits = "0.2" thiserror = "1.0" rusqlite = { version = "0.32", features = [ "bundled", "chrono", ], optional = true } [lib] name = "rucash" crate-type = ["cdylib", "rlib"] [dev-dependencies] criterion = { version = "0.5", features = ["async_tokio"] } float-cmp = "0.9" pretty_assertions = "1.4" tokio = { version = "1.39", features = ["rt-multi-thread", "macros"] } [features] default = [] schema = ["sqlx_common", "sqlx/sqlite"] sqlx_common = [ "sqlx/any", "sqlx/runtime-tokio-rustls", "sqlx/macros", "sqlx/chrono", ] sqlite = ["rusqlite"] postgresql = ["sqlx_common", "sqlx/postgres"] mysql = ["sqlx_common", "sqlx/mysql"] xml = ["xmltree"] decimal = ["rust_decimal"] [[bench]] name = "benchmark" harness = false required-features = ["sqlite", "xml"] [[test]] name = "sqlite" path = "tests/sqlite.rs" required-features = ["sqlite"] [[test]] name = "mysql" path = "tests/mysql.rs" required-features = ["mysql"] [[test]] name = "xml" path = "tests/xml.rs" required-features = ["xml"] [[test]] name = "postgresql" path = "tests/postgresql.rs" required-features = ["postgresql"] [[test]] name = "all" path = "tests/all.rs" required-features = ["sqlite", "postgresql", "mysql", "xml"]