[package]
edition = "2024"
rust-version = "1.95"
name = "drizzle"
version = "0.1.13"
authors = ["Mixed Nuts"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A type-safe SQL query builder for Rust"
readme = "README.md"
keywords = [
"drizzle",
"rizzle",
"orm",
"database",
"sqlite",
]
license = "MIT"
repository = "https://github.com/themixednuts/drizzle-rs"
[features]
alloc = [
"drizzle-core/alloc",
"drizzle-types/alloc",
"drizzle-sqlite?/alloc",
"drizzle-postgres?/alloc",
]
arrayvec = [
"dep:arrayvec",
"drizzle-postgres?/arrayvec",
"drizzle-sqlite?/arrayvec",
"drizzle-macros/arrayvec",
"drizzle-core/arrayvec",
]
aws-data-api = [
"postgres",
"dep:aws-sdk-rdsdata",
"dep:aws-config",
"dep:tokio",
"drizzle-postgres?/aws-data-api",
"drizzle-macros/aws-data-api",
]
bit-vec = [
"drizzle-core/bit-vec",
"drizzle-seed/bit-vec",
"drizzle-postgres?/bit-vec",
"drizzle-macros/bit-vec",
]
bytes = [
"drizzle-core/bytes",
"drizzle-postgres?/bytes",
"drizzle-sqlite?/bytes",
"drizzle-macros/bytes",
]
chrono = [
"drizzle-core/chrono",
"drizzle-seed/chrono",
"drizzle-postgres?/chrono",
"drizzle-sqlite?/chrono",
"drizzle-macros/chrono",
]
cidr = [
"drizzle-core/cidr",
"drizzle-seed/cidr",
"drizzle-postgres?/cidr",
"drizzle-macros/cidr",
]
compact-str = [
"drizzle-core/compact-str",
"drizzle-postgres?/compact-str",
"drizzle-macros/compact-str",
]
d1 = [
"std",
"sqlite",
"serde",
"dep:worker",
"worker/d1",
"dep:wasm-bindgen",
"dep:js-sys",
"dep:uuid",
"uuid/js",
"drizzle-sqlite?/d1",
]
default = ["std"]
durable = [
"std",
"sqlite",
"serde",
"dep:worker",
"dep:wasm-bindgen",
"dep:js-sys",
"dep:uuid",
"uuid/js",
"drizzle-sqlite?/durable",
]
geo-types = [
"drizzle-core/geo-types",
"drizzle-seed/geo-types",
"drizzle-postgres?/geo-types",
"drizzle-macros/geo-types",
]
libsql = [
"sqlite",
"drizzle-seed/sqlite",
"dep:libsql",
"drizzle-core/libsql",
"drizzle-macros/libsql",
"drizzle-sqlite?/libsql",
]
mysql = [
"drizzle-macros/mysql",
"dep:drizzle-mysql",
]
postgres = [
"drizzle-seed/postgres",
"drizzle-macros/postgres",
"dep:drizzle-postgres",
]
postgres-sync = [
"postgres",
"dep:postgres",
"drizzle-postgres?/postgres-sync",
"drizzle-macros/postgres-sync",
]
profiling = [
"dep:puffin",
"drizzle-core/profiling",
"drizzle-sqlite?/profiling",
]
query = [
"drizzle-core/query",
"drizzle-macros/query",
"drizzle-sqlite?/query",
"drizzle-postgres?/query",
]
rusqlite = [
"sqlite",
"drizzle-seed/sqlite",
"dep:rusqlite",
"drizzle-sqlite?/rusqlite",
"drizzle-macros/rusqlite",
"drizzle-core/rusqlite",
]
rust-decimal = [
"drizzle-core/rust-decimal",
"drizzle-postgres?/rust-decimal",
"drizzle-sqlite?/rust-decimal",
]
serde = [
"dep:serde_json",
"serde_json/alloc",
"dep:serde",
"drizzle-seed/serde",
"drizzle-sqlite?/serde",
"drizzle-postgres?/serde",
"drizzle-mysql?/serde",
"drizzle-macros/serde",
"drizzle-core/serde",
"rusqlite?/serde_json",
"uuid?/serde",
]
smallvec-types = [
"drizzle-core/smallvec-types",
"drizzle-postgres?/smallvec",
"drizzle-sqlite?/smallvec",
"drizzle-macros/smallvec",
]
sqlite = [
"drizzle-seed/sqlite",
"drizzle-macros/sqlite",
"dep:drizzle-sqlite",
]
std = [
"drizzle-core/std",
"drizzle-types/std",
"drizzle-sqlite?/std",
"drizzle-postgres?/std",
"dep:drizzle-migrations",
]
time = [
"drizzle-core/time",
"drizzle-postgres?/time",
"drizzle-sqlite?/time",
"drizzle-macros/time",
]
tokio-postgres = [
"postgres",
"dep:tokio-postgres",
"dep:tokio",
"drizzle-postgres?/tokio-postgres",
"drizzle-macros/tokio-postgres",
]
tracing = [
"dep:tracing",
"drizzle-core/tracing",
]
turso = [
"sqlite",
"drizzle-seed/sqlite",
"dep:turso",
"drizzle-core/turso",
"drizzle-macros/turso",
"drizzle-sqlite?/turso",
]
uuid = [
"dep:uuid",
"drizzle-seed/uuid",
"drizzle-sqlite?/uuid",
"drizzle-postgres?/uuid",
"drizzle-mysql?/uuid",
"drizzle-macros/uuid",
"drizzle-core/uuid",
"rusqlite?/uuid",
]
[lib]
name = "drizzle"
path = "src/lib.rs"
[[example]]
name = "readme_smoke"
path = "examples/readme_smoke.rs"
[[example]]
name = "rusqlite"
path = "examples/rusqlite.rs"
[[example]]
name = "turso"
path = "examples/turso.rs"
[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"
required-features = ["serde"]
[[test]]
name = "lib"
path = "tests/lib.rs"
[[test]]
name = "sqlite_backend_feature_gating"
path = "tests/sqlite_backend_feature_gating.rs"
[[bench]]
name = "postgres"
path = "benches/postgres.rs"
harness = false
[[bench]]
name = "sqlite"
path = "benches/sqlite.rs"
harness = false
[dependencies.arrayvec]
version = "0.7"
features = ["serde"]
optional = true
default-features = false
[dependencies.aws-config]
version = "1"
optional = true
[dependencies.aws-sdk-rdsdata]
version = "1"
optional = true
[dependencies.const_format]
version = "0.2"
[dependencies.drizzle-core]
version = "0.1"
default-features = false
[dependencies.drizzle-macros]
version = "0.1"
[dependencies.drizzle-migrations]
version = "0.1"
optional = true
[dependencies.drizzle-mysql]
version = "0.1"
optional = true
default-features = false
[dependencies.drizzle-postgres]
version = "0.1"
optional = true
default-features = false
[dependencies.drizzle-sqlite]
version = "0.1"
optional = true
default-features = false
[dependencies.drizzle-types]
version = "0.1"
default-features = false
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.libsql]
version = ">=0.9.1, <0.10"
optional = true
[dependencies.paste]
version = "1.0"
[dependencies.postgres]
version = ">=0.19.11, <0.20"
optional = true
[dependencies.puffin]
version = "0.19"
optional = true
[dependencies.rusqlite]
version = ">=0.36, <0.40"
features = ["bundled"]
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0"
optional = true
default-features = false
[dependencies.smallvec]
version = "1.15"
features = [
"union",
"const_new",
"const_generics",
]
default-features = false
[dependencies.tokio]
version = "1.48"
optional = true
[dependencies.tokio-postgres]
version = ">=0.7.15, <0.8"
features = ["runtime"]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.turso]
version = "=0.7.0-pre.18"
features = ["pure-rust-crypto"]
optional = true
default-features = false
[dependencies.uuid]
version = "1.18"
features = ["v4"]
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.worker]
version = "0.8"
optional = true
default-features = false
[dev-dependencies.bit-vec]
version = "0.8"
[dev-dependencies.bytes]
version = "1.11.1"
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.cidr]
version = "0.3"
features = ["serde"]
[dev-dependencies.compact_str]
version = "0.9.0"
default-features = false
[dev-dependencies.criterion]
version = "0.8.2"
features = ["stable"]
default-features = false
[dev-dependencies.drizzle-seed]
version = "0.1"
default-features = false
[dev-dependencies.eframe]
version = "0.33"
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.geo-types]
version = "0.7"
features = ["serde"]
[dev-dependencies.glob]
version = "0.3"
[dev-dependencies.puffin_egui]
version = "0.29"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.tokio]
version = "1.48"
features = [
"macros",
"rt-multi-thread",
"time",
]
[dev-dependencies.trybuild]
version = "1.0"
[profile.bench]
debug = 2
[profile.dev]
debug = 2
[profile.test]
debug = 2