[[bench]]
harness = false
name = "benchmark"
path = "benches/benchmark.rs"
[dependencies.anyhow]
optional = true
version = "1.0.71"
[dependencies.async-stream]
optional = true
version = "0.3.5"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
optional = true
version = "0.21"
[dependencies.bincode]
optional = true
version = "1"
[dependencies.bitflags]
optional = true
version = "2.4.0"
[dependencies.bytes]
features = ["serde"]
optional = true
version = "1.4.0"
[dependencies.chrono]
optional = true
version = "0.4"
[dependencies.crc32fast]
optional = true
version = "1"
[dependencies.fallible-iterator]
optional = true
version = "0.3"
[dependencies.futures]
optional = true
version = "0.3.28"
[dependencies.http]
optional = true
version = "0.2"
[dependencies.hyper]
features = ["client", "http1", "http2", "stream", "runtime"]
optional = true
version = "0.14"
[dependencies.hyper-rustls]
features = ["webpki-roots"]
optional = true
version = "0.25"
[dependencies.libsql-hrana]
optional = true
version = "0.9.20"
[dependencies.libsql-sys]
default-features = true
optional = true
version = "0.9.20"
[dependencies.libsql_replication]
optional = true
version = "0.9.20"
[dependencies.parking_lot]
optional = true
version = "0.12.1"
[dependencies.serde]
features = ["derive"]
optional = true
version = "1"
[dependencies.serde_json]
features = ["float_roundtrip"]
optional = true
version = "1"
[dependencies.sqlite3-parser]
optional = true
package = "libsql-sqlite3-parser"
version = "0.13"
[dependencies.thiserror]
version = "1.0.40"
[dependencies.tokio]
features = ["sync"]
optional = true
version = "1.29.1"
[dependencies.tokio-stream]
optional = true
version = "0.1.14"
[dependencies.tokio-util]
features = ["io-util", "codec"]
optional = true
version = "0.7"
[dependencies.tonic]
optional = true
version = "0.11"
[dependencies.tonic-web]
optional = true
version = "0.11"
[dependencies.tower]
features = ["util"]
optional = true
version = "0.4.13"
[dependencies.tower-http]
features = ["trace", "set-header", "util"]
optional = true
version = "0.4.4"
[dependencies.tracing]
default-features = false
version = "0.1.37"
[dependencies.uuid]
features = ["v4", "serde"]
optional = true
version = "1.4.0"
[dependencies.worker]
optional = true
version = "0.4.1"
[dependencies.zerocopy]
optional = true
version = "0.7.28"
[dev-dependencies.criterion]
features = ["html_reports", "async", "async_futures", "async_tokio"]
version = "0.5"
[dev-dependencies.pprof]
features = ["criterion", "flamegraph"]
version = "0.14.0"
[dev-dependencies.rand]
version = "0.8.5"
[dev-dependencies.tempfile]
version = "3.7.0"
[dev-dependencies.tokio]
features = ["full"]
version = "1.29.1"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tracing-subscriber]
version = "0.3"
[[example]]
name = "deserialization"
path = "examples/deserialization.rs"
[[example]]
name = "encryption_sync"
path = "examples/encryption_sync.rs"
[[example]]
name = "example"
path = "examples/example.rs"
[[example]]
name = "example_v2"
path = "examples/example_v2.rs"
[[example]]
name = "flutter"
path = "examples/flutter.rs"
[[example]]
name = "local_sync"
path = "examples/local_sync.rs"
[[example]]
name = "offline_writes"
path = "examples/offline_writes.rs"
[[example]]
name = "remote_sync"
path = "examples/remote_sync.rs"
[[example]]
name = "replica"
path = "examples/replica.rs"
[[example]]
name = "transaction"
path = "examples/transaction.rs"
[features]
cloudflare = ["wasm", "dep:worker"]
core = ["libsql-sys", "dep:bitflags", "dep:bytes", "dep:futures", "dep:parking_lot"]
default = ["core", "replication", "remote", "sync", "tls"]
encryption = ["core", "libsql-sys/encryption", "dep:bytes"]
hrana = ["parser", "serde", "stream", "dep:base64", "dep:serde_json", "dep:futures", "dep:tokio", "dep:tokio-util", "dep:bytes", "dep:libsql-hrana"]
parser = ["dep:sqlite3-parser", "dep:fallible-iterator"]
remote = ["hrana", "dep:base64", "dep:tower", "dep:hyper", "dep:hyper", "dep:http", "dep:tokio", "dep:futures", "dep:bitflags"]
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"]
serde = ["dep:serde"]
stream = ["dep:futures", "dep:async-stream"]
sync = ["core", "parser", "serde", "stream", "remote", "replication", "dep:base64", "dep:tower", "dep:hyper", "dep:http", "dep:tokio", "dep:zerocopy", "dep:bytes", "dep:tokio", "dep:futures", "dep:serde_json", "dep:crc32fast", "dep:chrono", "dep:uuid", "tokio/fs"]
tls = ["dep:hyper-rustls"]
wasm = ["hrana"]
[lib]
name = "libsql"
path = "src/lib.rs"
[package]
authors = ["the libSQL authors"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
description = "The libSQL database library"
edition = "2021"
license = "MIT"
name = "libsql"
readme = "README.md"
repository = "https://github.com/tursodatabase/libsql"
version = "0.9.20"
[package.metadata.cargo-udeps.ignore]
normal = ["hyper-rustls"]
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "replication"
path = "tests/replication.rs"