[package] name = "clickhouse" version = "0.13.1" description = "Official Rust client for ClickHouse DB" keywords = ["clickhouse", "database", "driver", "tokio", "hyper"] authors = ["ClickHouse Contributors", "Paul Loyd "] repository = "https://github.com/ClickHouse/clickhouse-rs" homepage = "https://clickhouse.com" license = "MIT OR Apache-2.0" readme = "README.md" edition = "2021" # update `derive/Cargo.toml` and CI if changed rust-version = "1.70.0" [lints.rust] rust_2018_idioms = { level = "warn", priority = -1 } unreachable_pub = "warn" # TODO: missing_docs = "warn" unexpected_cfgs = "allow" # for `docsrs` [lints.clippy] undocumented_unsafe_blocks = "warn" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [[bench]] name = "select_numbers" harness = false [[bench]] name = "insert" harness = false [[bench]] name = "select" harness = false [[example]] name = "mock" required-features = ["test-util"] [[example]] name = "clickhouse_cloud" required-features = ["rustls-tls"] [[example]] name = "data_types_derive_simple" required-features = ["time", "uuid"] [profile.release] debug = true [features] default = ["lz4"] test-util = ["hyper/server"] inserter = ["dep:quanta"] watch = ["dep:sha-1", "dep:serde_json", "serde/derive"] uuid = ["dep:uuid"] time = ["dep:time"] lz4 = ["dep:lz4_flex", "dep:cityhash-rs"] ## TLS native-tls = ["dep:hyper-tls"] # ext: native-tls-alpn # ext: native-tls-vendored rustls-tls = ["rustls-tls-aws-lc", "rustls-tls-webpki-roots"] rustls-tls-aws-lc = ["dep:rustls", "dep:hyper-rustls", "hyper-rustls?/aws-lc-rs"] rustls-tls-ring = ["dep:rustls", "dep:hyper-rustls", "hyper-rustls?/ring"] rustls-tls-webpki-roots = ["dep:rustls", "dep:hyper-rustls", "hyper-rustls?/webpki-tokio"] rustls-tls-native-roots = ["dep:rustls", "dep:hyper-rustls", "hyper-rustls?/native-tokio"] [dependencies] clickhouse-derive = { version = "0.2.0", path = "derive" } thiserror = "1.0.16" serde = "1.0.106" bytes = "1.5.0" tokio = { version = "1.0.1", features = ["rt", "macros"] } http-body-util = "0.1.2" hyper = "1.4" hyper-util = { version = "0.1.6", features = ["client-legacy", "http1"] } hyper-tls = { version = "0.6.0", optional = true } rustls = { version = "0.23", default-features = false, optional = true } hyper-rustls = { version = "0.27.2", default-features = false, features = [ "http1", "tls12", ], optional = true } url = "2.1.1" futures = "0.3.5" futures-channel = "0.3.30" static_assertions = "1.1" sealed = "0.6" sha-1 = { version = "0.10", optional = true } serde_json = { version = "1.0.68", optional = true } lz4_flex = { version = "0.11.3", default-features = false, features = [ "std", ], optional = true } cityhash-rs = { version = "=1.0.1", optional = true } # exact version for safety uuid = { version = "1", optional = true } time = { version = "0.3", optional = true } bstr = { version = "1.2", default-features = false } quanta = { version = "0.12", optional = true } replace_with = { version = "0.1.7" } [dev-dependencies] criterion = "0.5.0" serde = { version = "1.0.106", features = ["derive"] } tokio = { version = "1.0.1", features = ["full", "test-util"] } hyper = { version = "1.1", features = ["server"] } serde_bytes = "0.11.4" serde_json = "1" serde_repr = "0.1.7" uuid = { version = "1", features = ["v4", "serde"] } time = { version = "0.3.17", features = ["macros", "rand"] } fixnum = { version = "0.9.2", features = ["serde", "i32", "i64", "i128"] } rand = { version = "0.8.5", features = ["small_rng"] }