[package]
name = "a3s-orm"
version = "0.3.1"
edition = "2021"
rust-version = "1.85"
description = "A type-safe, executor-neutral SQL query builder for Rust"
license = "MIT"
repository = "https://github.com/A3S-Lab/ORM"
keywords = ["database", "query-builder", "sql", "postgres", "sqlite"]
categories = ["database"]
[features]
default = ["sqlite"]
chrono = ["dep:chrono"]
decimal = ["dep:rust_decimal"]
json = ["dep:serde_json"]
postgres = [
"chrono",
"decimal",
"dep:bytes",
"dep:deadpool-postgres",
"dep:rustls",
"dep:tokio",
"dep:tokio-postgres",
"dep:tokio-postgres-rustls",
"dep:zeroize",
"json",
"uuid",
]
sqlite = ["dep:tokio", "dep:tokio-rusqlite"]
uuid = ["dep:uuid"]
[dependencies]
async-trait = "0.1"
bytes = { version = "1", optional = true }
chrono = { version = "0.4", optional = true }
deadpool-postgres = { version = "0.14", optional = true }
rust_decimal = { version = "1", default-features = false, features = [
"db-tokio-postgres",
"std",
], optional = true }
rustls = { version = "0.23", default-features = false, features = [
"ring",
"std",
"tls12",
], optional = true }
serde_json = { version = "1", optional = true }
sha2 = "0.11"
thiserror = "2"
tokio = { version = "1", features = ["rt", "sync"], optional = true }
tokio-postgres = { version = "0.7", features = [
"array-impls",
"with-chrono-0_4",
"with-serde_json-1",
"with-uuid-1",
], optional = true }
tokio-postgres-rustls = { version = "0.14", default-features = false, features = [
"ring",
], optional = true }
tokio-rusqlite = { version = "0.7", optional = true }
uuid = { version = "1", optional = true }
zeroize = { version = "1", features = ["alloc"], optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread", "time"] }