[package]
edition = "2024"
rust-version = "1.85"
name = "ousia"
version = "1.2.4"
build = false
exclude = [
"tests/",
".github/",
"Cargo.lock",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Postgres ORM with native double-entry ledger, graph relations, and atomic money operations for Rust"
homepage = "https://github.com/theousia/ousia"
documentation = "https://docs.rs/ousia"
readme = "README.md"
keywords = [
"orm",
"postgres",
"ledger",
"graph",
"finance",
]
categories = [
"database",
"finance",
"data-structures",
]
license = "MIT"
repository = "https://github.com/theousia/ousia"
resolver = "2"
[features]
cockroach = ["dep:sqlx"]
default = [
"derive",
"postgres",
"ledger",
]
derive = ["dep:ousia_derive"]
full = [
"derive",
"cockroach",
"postgres",
"sqlite",
"ledger",
]
ledger = ["dep:ledger"]
postgres = ["dep:sqlx"]
sqlite = ["dep:sqlx"]
[lib]
name = "ousia"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.blake3]
version = "1.8.3"
[dependencies.chrono]
version = "0.4.42"
features = ["serde"]
[dependencies.ledger]
version = "1.2.3"
optional = true
package = "ousia-ledger"
[dependencies.metrics]
version = "0.24.3"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.ousia_derive]
version = "1.2.3"
optional = true
[dependencies.redis]
version = "1"
features = [
"json",
"tokio-comp",
]
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.145"
[dependencies.sqlx]
version = "0.8"
features = [
"postgres",
"sqlite",
"runtime-tokio",
"derive",
"tls-native-tls",
"json",
"uuid",
"chrono",
]
optional = true
[dependencies.tokio]
version = "1"
features = [
"macros",
"time",
]
[dependencies.uuid]
version = "1"
features = [
"v7",
"serde",
]
[dev-dependencies.bincode]
version = "1.3"
[dev-dependencies.testcontainers]
version = "0.25"
[dev-dependencies.testcontainers-modules]
version = "0.13"
features = ["postgres"]