surrealpatch/lib/Cargo.toml
Rushmore Mushambi 2d19ac9f7a
Add live query API (#2919)
Co-authored-by: Emmanuel Keller <keller.emmanuel@gmail.com>
2023-11-13 17:19:47 +00:00

169 lines
5.9 KiB
TOML

[package]
name = "surrealdb"
publish = true
edition = "2021"
version = "1.0.0"
rust-version = "1.70.0"
readme = "CARGO.md"
authors = ["Tobie Morgan Hitchcock <tobie@surrealdb.com>"]
description = "A scalable, distributed, collaborative, document-graph database, for the realtime web"
repository = "https://github.com/surrealdb/surrealdb"
homepage = "https://github.com/surrealdb/surrealdb"
documentation = "https://docs.rs/surrealdb/"
keywords = ["database", "embedded-database", "key-value", "key-value-store", "kv-store"]
categories = ["database-implementations", "data-structures", "embedded"]
license-file = "../LICENSE"
resolver = "2"
[features]
# Public features
default = ["protocol-ws", "rustls"]
protocol-http = ["dep:reqwest", "dep:tokio-util"]
protocol-ws = ["dep:tokio-tungstenite", "tokio/time"]
kv-mem = ["dep:echodb", "tokio/time"]
kv-indxdb = ["dep:indxdb"]
kv-speedb = ["dep:speedb", "tokio/time"]
kv-rocksdb = ["dep:rocksdb", "tokio/time"]
kv-tikv = ["dep:tikv"]
kv-fdb-5_1 = ["foundationdb/fdb-5_1", "kv-fdb"]
kv-fdb-5_2 = ["foundationdb/fdb-5_2", "kv-fdb"]
kv-fdb-6_0 = ["foundationdb/fdb-6_0", "kv-fdb"]
kv-fdb-6_1 = ["foundationdb/fdb-6_1", "kv-fdb"]
kv-fdb-6_2 = ["foundationdb/fdb-6_2", "kv-fdb"]
kv-fdb-6_3 = ["foundationdb/fdb-6_3", "kv-fdb"]
kv-fdb-7_0 = ["foundationdb/fdb-7_0", "kv-fdb"]
kv-fdb-7_1 = ["foundationdb/fdb-7_1", "kv-fdb"]
scripting = ["dep:js"]
http = ["dep:reqwest"]
native-tls = ["dep:native-tls", "reqwest?/native-tls", "tokio-tungstenite?/native-tls"]
rustls = ["dep:rustls", "reqwest?/rustls-tls", "tokio-tungstenite?/rustls-tls-webpki-roots"]
# Private features
kv-fdb = ["foundationdb", "tokio/time"]
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
features = [
"protocol-ws", "protocol-http",
"kv-mem", "kv-indxdb", "kv-rocksdb",
"rustls", "native-tls",
"http", "scripting"
]
targets = []
[dependencies]
addr = { version = "0.15.6", default-features = false, features = ["std"] }
argon2 = "0.5.1"
ascii = { version = "0.3.2", package = "any_ascii" }
async-recursion = "1.0.4"
base64_lib = { version = "0.21.2", package = "base64" }
bcrypt = "0.14.0"
bincode = "1.3.3"
bytes = "1.4.0"
cedar-policy = "2.3.2"
channel = { version = "1.9.0", package = "async-channel" }
chrono = { version = "0.4.26", features = ["serde"] }
derive = { version = "0.12.0", package = "surrealdb-derive" }
deunicode = "1.3.3"
dmp = "0.2.0"
echodb = { version = "0.4.0", optional = true }
executor = { version = "1.5.1", package = "async-executor" }
flume = "0.10.14"
foundationdb = { version = "0.8.0", default-features = false, features = ["embedded-fdb-include"], optional = true }
fst = "0.4.7"
futures = "0.3.28"
futures-concurrency = "7.3.0"
fuzzy-matcher = "0.3.7"
geo = { version = "0.25.1", features = ["use-serde"] }
indexmap = { version = "1.9.3", features = ["serde"] }
indxdb = { version = "0.3.0", optional = true }
ipnet = "2.8.0"
js = { version = "=0.4.0-beta.4", package = "rquickjs", features = ["array-buffer", "bindgen", "classes", "futures", "loader", "macro", "parallel", "properties","rust-alloc"], optional = true }
jsonwebtoken = { version = "8.3.0-surreal.1", package = "surrealdb-jsonwebtoken" }
lexicmp = "0.1.0"
lru = "0.10.1"
md-5 = "0.10.5"
nanoid = "0.4.0"
native-tls = { version = "0.2.11", optional = true }
nom = { version = "7.1.3", features = ["alloc"] }
once_cell = "1.18.0"
path-clean = "1.0.1"
pbkdf2 = { version = "0.12.2", features = ["simple"] }
pin-project-lite = "0.2.12"
radix_trie = { version = "0.2.1", features = ["serde"] }
rand = "0.8.5"
regex = "1.9.3"
reqwest = { version = "0.11.18", default-features = false, features = ["json", "stream", "multipart"], optional = true }
revision = "0.5.0"
roaring = { version = "0.10.2", features = ["serde"] }
rocksdb = { version = "0.21.0", optional = true }
rust_decimal = { version = "1.31.0", features = ["maths", "serde-str"] }
rust-stemmers = "1.2.0"
rustls = { version = "0.21.6", optional = true }
scrypt = "0.11.0"
semver = { version = "1.0.18", features = ["serde"] }
serde = { version = "1.0.183", features = ["derive"] }
serde_json = "1.0.104"
sha1 = "0.10.6"
sha2 = "0.10.7"
snap = "1.1.0"
speedb = { version = "0.0.2", optional = true }
storekey = "0.5.0"
thiserror = "1.0.44"
tikv = { version = "0.2.0-surreal.2", default-features = false, package = "surrealdb-tikv-client", optional = true }
tokio-util = { version = "0.7.8", optional = true, features = ["compat"] }
tracing = "0.1.37"
trice = "0.3.1"
ulid = { version = "1.0.0", features = ["serde"] }
url = "2.4.0"
[dev-dependencies]
criterion = { version="0.4", features= ["async_tokio"] }
env_logger = "0.10.0"
pprof = { version = "0.11.1", features = ["flamegraph", "criterion"] }
serial_test = "2.0.0"
temp-dir = "0.1.11"
test-log = { version="0.2.12", features = ["trace"] }
time = { version = "0.3.25", features = ["serde"] }
tokio = { version = "1.31.0", features = ["macros", "sync", "rt-multi-thread"] }
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
wiremock = "0.5.19"
[target.'cfg(target_arch = "wasm32")'.dependencies]
pharos = "0.5.3"
tokio = { version = "1.31.0", default-features = false, features = ["rt", "sync"] }
uuid = { version = "1.4.1", features = ["serde", "js", "v4", "v7"] }
wasm-bindgen-futures = "0.4.37"
wasmtimer = { version = "0.2.0", default-features = false, features = ["tokio"] }
ws_stream_wasm = "0.7.4"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.31.0", default-features = false, features = ["macros", "io-util", "io-std", "fs", "rt-multi-thread", "time", "sync"] }
tokio-tungstenite = { version = "0.20.1", optional = true }
uuid = { version = "1.4.1", features = ["serde", "v4", "v7"] }
[lib]
bench = false
[[bench]]
name = "executor"
harness = false
[[bench]]
name = "parser"
harness = false
[[bench]]
name = "processor"
harness = false
[[bench]]
name = "index_btree"
harness = false
[[bench]]
name = "index_mtree"
harness = false
[[bench]]
name = "move_vs_clone"
harness = false