188 lines
6 KiB
TOML
188 lines
6 KiB
TOML
|
[package]
|
||
|
name = "surrealdb-core"
|
||
|
publish = true
|
||
|
edition = "2021"
|
||
|
version = "1.1.1"
|
||
|
rust-version = "1.70.0"
|
||
|
readme = "../lib/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-core/"
|
||
|
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 = ["kv-mem"]
|
||
|
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"]
|
||
|
ml = ["dep:surrealml-core", "dep:ndarray"]
|
||
|
jwks = ["dep:reqwest"]
|
||
|
arbitrary = [
|
||
|
"dep:arbitrary",
|
||
|
"dep:regex-syntax",
|
||
|
"rust_decimal/rust-fuzz",
|
||
|
"geo-types/arbitrary",
|
||
|
"uuid/arbitrary",
|
||
|
]
|
||
|
experimental-parser = ["dep:phf", "dep:unicase"]
|
||
|
sql2 = []
|
||
|
# Private features
|
||
|
kv-fdb = ["tokio/time"]
|
||
|
|
||
|
[package.metadata.docs.rs]
|
||
|
rustdoc-args = ["--cfg", "docsrs"]
|
||
|
features = [
|
||
|
"kv-mem",
|
||
|
"kv-indxdb",
|
||
|
"kv-rocksdb",
|
||
|
"http",
|
||
|
"scripting",
|
||
|
"jwks",
|
||
|
]
|
||
|
targets = []
|
||
|
|
||
|
[dependencies]
|
||
|
addr = { version = "0.15.6", default-features = false, features = ["std"] }
|
||
|
argon2 = "0.5.2"
|
||
|
ascii = { version = "0.3.2", package = "any_ascii" }
|
||
|
async-recursion = "1.0.5"
|
||
|
base64_lib = { version = "0.21.5", package = "base64" }
|
||
|
bcrypt = "0.15.0"
|
||
|
bincode = "1.3.3"
|
||
|
bytes = "1.5.0"
|
||
|
cedar-policy = "2.4.2"
|
||
|
channel = { version = "1.9.0", package = "async-channel" }
|
||
|
chrono = { version = "0.4.31", features = ["serde"] }
|
||
|
derive = { version = "0.12.0", package = "surrealdb-derive" }
|
||
|
deunicode = "1.4.1"
|
||
|
dmp = "0.2.0"
|
||
|
echodb = { version = "0.4.0", optional = true }
|
||
|
executor = { version = "1.8.0", package = "async-executor" }
|
||
|
foundationdb = { version = "0.8.0", default-features = false, features = [
|
||
|
"embedded-fdb-include",
|
||
|
], optional = true }
|
||
|
fst = "0.4.7"
|
||
|
futures = "0.3.29"
|
||
|
fuzzy-matcher = "0.3.7"
|
||
|
geo = { version = "0.27.0", features = ["use-serde"] }
|
||
|
hex = { version = "0.4.3" }
|
||
|
indxdb = { version = "0.4.0", optional = true }
|
||
|
ipnet = "2.9.0"
|
||
|
js = { version = "0.4.2", 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"
|
||
|
md-5 = "0.10.6"
|
||
|
nanoid = "0.4.0"
|
||
|
ndarray = { version = "0.15.6", optional = true }
|
||
|
nom = { version = "7.1.3", features = ["alloc"] }
|
||
|
num_cpus = "1.16.0"
|
||
|
object_store = { version = "0.8.0", optional = false }
|
||
|
once_cell = "1.18.0"
|
||
|
pbkdf2 = { version = "0.12.2", features = ["simple"] }
|
||
|
pin-project-lite = "0.2.13"
|
||
|
quick_cache = "0.4.0"
|
||
|
radix_trie = { version = "0.2.1", features = ["serde"] }
|
||
|
rand = "0.8.5"
|
||
|
regex = "1.10.2"
|
||
|
reqwest = { version = "0.11.22", 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", features = ["lz4", "snappy"], optional = true }
|
||
|
rust_decimal = { version = "1.33.1", features = ["maths", "serde-str"] }
|
||
|
rust-stemmers = "1.2.0"
|
||
|
scrypt = "0.11.0"
|
||
|
semver = { version = "1.0.20", features = ["serde"] }
|
||
|
serde = { version = "1.0.193", features = ["derive"] }
|
||
|
serde_json = "1.0.108"
|
||
|
sha1 = "0.10.6"
|
||
|
sha2 = "0.10.8"
|
||
|
snap = "1.1.0"
|
||
|
speedb = { version = "0.0.4", features = ["lz4", "snappy"], optional = true }
|
||
|
storekey = "0.5.0"
|
||
|
surrealml-core = { version = "0.0.7", optional = true }
|
||
|
thiserror = "1.0.50"
|
||
|
tikv = { version = "0.2.0-surreal.2", default-features = false, package = "surrealdb-tikv-client", optional = true }
|
||
|
tracing = "0.1.40"
|
||
|
trice = "0.4.0"
|
||
|
ulid = { version = "1.1.0", features = ["serde"] }
|
||
|
url = "2.5.0"
|
||
|
phf = { version = "0.11.2", features = ["macros", "unicase"], optional = true }
|
||
|
unicase = { version = "2.7.0", optional = true }
|
||
|
arbitrary = { version = "1.3.2", features = ["derive"], optional = true }
|
||
|
regex-syntax = { version = "0.8.2", optional = true, features = ["arbitrary"] }
|
||
|
geo-types = { version = "0.7.12", features = ["arbitrary"] }
|
||
|
|
||
|
[dev-dependencies]
|
||
|
criterion = { version = "0.5.1", features = ["async_tokio"] }
|
||
|
env_logger = "0.10.1"
|
||
|
pprof = { version = "0.13.0", features = ["flamegraph", "criterion"] }
|
||
|
serial_test = "2.0.0"
|
||
|
temp-dir = "0.1.11"
|
||
|
test-log = { version = "0.2.13", features = ["trace"] }
|
||
|
time = { version = "0.3.30", features = ["serde"] }
|
||
|
tokio = { version = "1.34.0", features = ["macros", "sync", "rt-multi-thread"] }
|
||
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
||
|
wiremock = "0.5.22"
|
||
|
|
||
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||
|
pharos = "0.5.3"
|
||
|
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] } # Make ring-based dependencies work on Wasm
|
||
|
tokio = { version = "1.34.0", default-features = false, features = ["rt", "sync"] }
|
||
|
uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] }
|
||
|
wasm-bindgen-futures = "0.4.39"
|
||
|
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.34.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.6.1", features = ["serde", "v4", "v7"] }
|