[package]
name = "keelson"
description = "A SQL access toolkit for Rust: per-dialect query builders, a driver-free execution layer, generated models and factories. The facade crate."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["sql", "postgres", "mysql", "sqlite", "orm"]
categories = ["database"]
[features]
default = []
psql = ["dep:keelson-psql"]
mysql = ["dep:keelson-mysql"]
sqlite = ["dep:keelson-sqlite"]
exec = ["dep:keelson-exec"]
tracing = ["exec", "keelson-exec/tracing"]
sqlx-psql = ["exec", "psql", "dep:keelson-sqlx", "keelson-sqlx/psql"]
sqlx-mysql = ["exec", "mysql", "dep:keelson-sqlx", "keelson-sqlx/mysql"]
sqlx-sqlite = ["exec", "sqlite", "dep:keelson-sqlx", "keelson-sqlx/sqlite"]
models = ["exec", "dep:keelson-models"]
factory = ["models", "dep:keelson-factory"]
macros = [
"keelson-core/macros",
"keelson-psql?/macros",
"keelson-mysql?/macros",
"keelson-sqlite?/macros",
]
chrono = ["keelson-core/chrono", "keelson-sqlx?/chrono"]
uuid = ["keelson-core/uuid", "keelson-sqlx?/uuid"]
decimal = ["keelson-core/decimal", "keelson-sqlx?/decimal"]
json = ["keelson-core/json", "keelson-sqlx?/json"]
[dependencies]
keelson-core.workspace = true
keelson-exec = { workspace = true, optional = true }
keelson-factory = { workspace = true, optional = true }
keelson-models = { workspace = true, optional = true }
keelson-mysql = { workspace = true, optional = true }
keelson-psql = { workspace = true, optional = true }
keelson-sqlite = { workspace = true, optional = true }
keelson-sqlx = { workspace = true, optional = true }
[dev-dependencies]
keelson = { path = ".", features = ["sqlx-sqlite", "models", "factory", "macros", "chrono", "uuid"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
[package.metadata.docs.rs]
all-features = true
[lints]
workspace = true