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