[package] name = "surrealdb" publish = true edition = "2021" version = "1.0.0-beta.8" rust-version = "1.65.0" readme = "CARGO.md" authors = ["Tobie Morgan Hitchcock "] 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 = "Apache-2.0" resolver = "2" [features] # Public features default = ["protocol-ws", "rustls"] protocol-http = ["dep:reqwest", "dep:tokio-util"] protocol-ws = ["dep:tokio-tungstenite", "dep:tokio-stream", "tokio/time"] kv-mem = ["dep:echodb"] kv-indxdb = ["dep:indxdb"] kv-rocksdb = ["dep:rocksdb"] 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"] # Private features kv-fdb = ["foundationdb"] [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] features = [ "protocol-ws", "protocol-http", "kv-mem", "kv-indxdb", "kv-rocksdb", "kv-tikv", "kv-fdb", "rustls", "native-tls", "http", "scripting" ] targets = [] [dependencies] addr = { version = "0.15.6", default-features = false, features = ["std"] } argon2 = "0.4.1" async-recursion = "1.0.2" bcrypt = "0.14.0" bigdecimal = { version = "0.3.0", features = ["serde", "string-only"] } channel = { version = "1.8.0", package = "async-channel" } chrono = { version = "0.4.23", features = ["serde"] } derive = { version = "0.5.0", package = "surrealdb-derive" } deunicode = "1.3.3" dmp = "0.1.2" echodb = { version = "0.3.0", optional = true } executor = { version = "1.5.0", package = "async-executor" } flume = "0.10.14" futures = "0.3.26" futures-concurrency = "7.1.0" foundationdb = { version = "0.7.0", default-features = false, features = ["embedded-fdb-include"], optional = true } fuzzy-matcher = "0.3.7" geo = { version = "0.23.1", features = ["use-serde"] } indexmap = { version = "1.9.2", features = ["serde"] } indxdb = { version = "0.2.0", optional = true } lexical-sort = "0.3.1" log = "0.4.17" md-5 = "0.10.5" msgpack = { version = "1.1.1", package = "rmp-serde" } nanoid = "0.4.0" native-tls = { version = "0.2.11", optional = true } nom = { version = "7.1.3", features = ["alloc"] } once_cell = "1.17.0" pbkdf2 = "0.11.0" rand = "0.8.5" regex = "1.7.1" reqwest = { version = "0.11.14", default-features = false, features = ["json", "stream"], optional = true } rocksdb = { version = "0.20.1", optional = true } rustls = { version = "0.20.8", optional = true } scrypt = "0.10.0" semver = { version = "1.0.16", features = ["serde"] } serde = { version = "1.0.152", features = ["derive"] } serde_json = "1.0.93" sha-1 = "0.10.1" sha2 = "0.10.6" storekey = "0.4.0" thiserror = "1.0.38" tikv = { version = "0.1.0", package = "tikv-client", optional = true } tokio-stream = { version = "0.1.11", optional = true } tokio-util = { version = "0.7.6", optional = true, features = ["compat"] } trice = "0.3.0" ulid = { version = "1.0.0", features = ["serde"] } url = "2.3.1" [dependencies.js] optional = true version = "0.1.7" package = "rquickjs" features = [ "array-buffer", "bindgen", "classes", "futures", "loader", "macro", "parallel", "properties", ] [dev-dependencies] env_logger = "0.10.0" temp-dir = "0.1.11" time = { version = "0.3.17", features = ["serde"] } tokio = { version = "1.25.0", features = ["macros", "rt", "rt-multi-thread"] } [target.'cfg(target_arch = "wasm32")'.dependencies] pharos = "0.5.3" tokio = { version = "1.25.0", default-features = false, features = ["rt"] } uuid = { version = "1.3.0", features = ["serde", "js", "v4", "v7"] } wasm-bindgen-futures = "0.4.34" ws_stream_wasm = "0.7.4" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "1.25.0", default-features = false, features = ["io-util", "fs", "rt-multi-thread"] } tokio-tungstenite = { version = "0.18.0", optional = true } uuid = { version = "1.3.0", features = ["serde", "v4", "v7"] }