[package]
edition = "2024"
name = "nisshi-storage-sql"
version = "0.7.0"
authors = ["Peter Morgan <peter.morgan@tansu.io>"]
build = false
include = [
"Cargo.toml",
"LICENSE",
"benches/*.rs",
"build.rs",
"examples/*.rs",
"message/*.json",
"src/**/*.avsc",
"src/**/*.json",
"src/**/*.proto",
"src/**/*.rs",
"src/**/*.sql",
"tests",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Nisshi storage backends for PostgreSQL and libSQL (SQLite)"
homepage = "https://nisshi.io"
readme = false
keywords = [
"deltalake",
"iceberg",
"kafka",
"postgres",
"s3",
]
license = "Apache-2.0"
repository = "https://github.com/nisshi-io/nisshi"
[features]
default = [
"libsql",
"postgres",
"turso",
]
libsql = [
"dep:libsql",
"dep:deadpool",
]
postgres = [
"dep:tokio-postgres",
"dep:deadpool",
"dep:deadpool-postgres",
"dep:tokio-postgres-rustls",
]
turso = ["dep:turso"]
[lib]
name = "nisshi_storage_sql"
path = "src/lib.rs"
[dependencies.async-trait]
version = "0.1.86"
[dependencies.bytes]
version = "1"
features = ["serde"]
[dependencies.chrono]
version = "0.4"
[dependencies.deadpool]
version = "0.13.1"
optional = true
[dependencies.deadpool-postgres]
version = "0.14.2"
optional = true
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3.31"
[dependencies.human-units]
version = "0.5.3"
features = ["iec-units"]
[dependencies.libsql]
version = "0.10.0"
features = ["core"]
optional = true
default-features = false
[dependencies.nisshi-sans-io]
version = "0.7.0"
default-features = false
[dependencies.nisshi-schema]
version = "0.7.0"
default-features = false
[dependencies.nisshi-storage]
version = "0.7.0"
features = [
"libsql",
"postgres",
"turso",
]
default-features = false
[dependencies.opentelemetry]
version = "0.33.0"
[dependencies.opentelemetry-semantic-conventions]
version = "0.33.0"
[dependencies.rama]
version = "0.4.0"
features = [
"http",
"tcp",
]
[dependencies.rand]
version = "0.10"
[dependencies.regex]
version = "1.12.3"
[dependencies.rustls]
version = "0.23.27"
[dependencies.rustls-native-certs]
version = "0.8.1"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dependencies.tokio-postgres]
version = "0.7.13"
features = [
"with-serde_json-1",
"with-uuid-1",
]
optional = true
[dependencies.tokio-postgres-rustls]
version = "0.14.0"
optional = true
[dependencies.tokio-util]
version = "0.7"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.turso]
version = "0.8.2"
optional = true
[dependencies.url]
version = "2.5.4"
features = ["serde"]
[dependencies.uuid]
version = "1.20.0"
features = [
"serde",
"v4",
"v5",
"v7",
]
[dev-dependencies.glob]
version = "0.3.2"
[dev-dependencies.sha2]
version = "0.10.9"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[lints.clippy]
expect_used = "deny"
unwrap_used = "deny"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
deprecated_in_future = "warn"
elided_lifetimes_in_paths = "deny"
linker_messages = "allow"
missing_copy_implementations = "warn"
missing_debug_implementations = "warn"
non_ascii_idents = "forbid"
unreachable_pub = "warn"
unsafe_code = "forbid"
unused_import_braces = "warn"
unused_labels = "warn"
unused_lifetimes = "warn"
unused_qualifications = "warn"
unused_results = "warn"
[lints.rust.nonstandard_style]
level = "deny"
priority = -1
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1
[lints.rustdoc]
broken_intra_doc_links = "deny"
private_intra_doc_links = "deny"