[package] name = "libsql" version = "0.6.0" edition = "2021" description = "libSQL library: the main gateway for interacting with the database" repository = "https://github.com/tursodatabase/libsql" license = "MIT" [dependencies] tracing = { version = "0.1.37", default-features = false } thiserror = "1.0.40" futures = { version = "0.3.28", optional = true } libsql-sys = { version = "0.8", path = "../libsql-sys", optional = true } libsql-hrana = { version = "0.2", path = "../libsql-hrana", optional = true } tokio = { version = "1.29.1", features = ["sync"], optional = true } tokio-util = { version = "0.7", features = ["io-util", "codec"], optional = true } parking_lot = { version = "0.12.1", optional = true } hyper = { version = "0.14", features = ["client", "http1", "http2", "stream", "runtime"], optional = true } hyper-rustls = { version = "0.25", features = ["webpki-roots"], optional = true } base64 = { version = "0.21", optional = true } serde = { version = "1", features = ["derive"], optional = true } serde_json = { version = "1", features = ["float_roundtrip"], optional = true } async-trait = "0.1" bitflags = { version = "2.4.0", optional = true } tower = { workspace = true, features = ["util"], optional = true } worker = { version = "0.2.0", optional = true } bincode = { version = "1", optional = true } anyhow = { version = "1.0.71", optional = true } bytes = { version = "1.4.0", features = ["serde"], optional = true } uuid = { version = "1.4.0", features = ["v4", "serde"], optional = true } tokio-stream = { version = "0.1.14", optional = true } tonic = { version = "0.11", optional = true} tonic-web = { version = "0.11", optional = true } tower-http = { version = "0.4.4", features = ["trace", "set-header", "util"], optional = true } http = { version = "0.2", optional = true } zerocopy = { version = "0.7.28", optional = true } sqlite3-parser = { package = "libsql-sqlite3-parser", path = "../vendored/sqlite3-parser", version = "0.13", optional = true } fallible-iterator = { version = "0.3", optional = true } libsql_replication = { version = "0.6", path = "../libsql-replication", optional = true } async-stream = { version = "0.3.5", optional = true } [dev-dependencies] criterion = { version = "0.5", features = ["html_reports", "async", "async_futures", "async_tokio"] } pprof = { version = "0.12.1", features = ["criterion", "flamegraph"] } tokio = { version = "1.29.1", features = ["full"] } tokio-test = "0.4" tracing-subscriber = "0.3" tempfile = { version = "3.7.0" } rand = "0.8.5" [features] default = ["core", "replication", "remote", "tls"] core = [ "libsql-sys", "dep:bitflags", "dep:bytes", "dep:futures", ] stream = [ "dep:futures", "dep:async-stream" ] parser = [ "dep:sqlite3-parser", "dep:fallible-iterator" ] replication = [ "core", "parser", "serde", "stream", "dep:tower", "dep:hyper", "dep:http", "dep:tokio", "dep:anyhow", "dep:bincode", "dep:zerocopy", "dep:bytes", "dep:uuid", "dep:tokio-stream", "dep:parking_lot", "dep:tokio", "dep:tonic", "dep:tonic-web", "dep:tower-http", "dep:futures", "dep:libsql_replication", ] hrana = [ "parser", "serde", "stream", "dep:base64", "dep:serde_json", "dep:futures", "dep:tokio", "dep:tokio-util", "dep:bytes", "dep:libsql-hrana", ] serde = ["dep:serde"] remote = [ "hrana", "dep:tower", "dep:hyper", "dep:hyper", "dep:http", "dep:tokio", "dep:futures", "dep:bitflags", ] wasm = ["hrana"] cloudflare = [ "wasm", "dep:worker" ] encryption = ["core", "libsql-sys/encryption", "dep:bytes"] tls = ["dep:hyper-rustls"] [[bench]] name = "benchmark" harness = false [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-udeps.ignore] normal = ["hyper-rustls"]