[package] name = "ledger-core" version = "0.1.0" edition.workspace = true license.workspace = true repository.workspace = true description = "Canonical double-entry bookkeeping semantics: the engine everything else is built on." [dependencies] rust_decimal = { version = "1", features = ["serde"] } thiserror = "2" chrono = { version = "0.4", features = ["serde"] } serde = { version = "1", features = ["derive"] } serde_json = "1" # company.timezone: IANA names, with the zone database built in so every # computer reads a name the same way. jiff = { version = "0.2.35", default-features = false, features = ["std", "tz-system", "tzdb-bundle-always"] } [lints] workspace = true [dev-dependencies] criterion = "0.8.2" proptest = "1" # bookspec examples are TOML (tests/bookspec.rs), run on the engine's own # store (a dev-dependency only: the store depends on this crate), each in # a directory of its own. toml = "1" # The specification lives in its own repository (P13 step 6, D-34, D-65), # pinned to a commit. bookspec-checker = { git = "https://git.swaits.com/swaits/bookspec", rev = "74f2853d5f0db0066147c17fed8033cfe3d83a24" } bookspec-runner = { git = "https://git.swaits.com/swaits/bookspec", rev = "74f2853d5f0db0066147c17fed8033cfe3d83a24" } ledger-package = { path = "../ledger-package" } ledger-import = { path = "../ledger-import" } ledger-store = { path = "../ledger-store" } tempfile = "3" [[bench]] name = "books" harness = false