surrealpatch/core/Cargo.toml
2024-08-21 13:54:58 +00:00

206 lines
6.3 KiB
TOML

[package]
name = "surrealdb-core"
publish = true
edition = "2021"
version = "2.0.0"
rust-version = "1.77.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", "dep:tempfile", "dep:ext-sort"]
kv-indxdb = ["dep:indxdb"]
kv-rocksdb = ["dep:rocksdb", "tokio/time", "dep:tempfile", "dep:ext-sort"]
kv-tikv = ["dep:tikv", "tokio/time", "dep:tempfile", "dep:ext-sort"]
kv-fdb = ["dep:foundationdb", "tokio/time", "dep:tempfile", "dep:ext-sort"]
kv-surrealkv = ["dep:surrealkv", "tokio/time", "dep:tempfile", "dep:ext-sort"]
scripting = ["dep:js"]
http = ["dep:reqwest"]
ml = ["dep:surrealml"]
jwks = ["dep:reqwest"]
arbitrary = [
"dep:arbitrary",
"dep:regex-syntax",
"rust_decimal/rust-fuzz",
"geo-types/arbitrary",
"uuid/arbitrary",
]
# Special features
kv-fdb-7_1 = ["foundationdb/fdb-7_1"]
kv-fdb-7_3 = ["foundationdb/fdb-7_3"]
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "docsrs"]
features = ["kv-mem", "kv-rocksdb", "http", "scripting"]
targets = []
[dependencies]
addr = { version = "0.15.6", default-features = false, features = ["std"] }
ahash = "0.8.11"
ammonia = "4.0.0"
arbitrary = { version = "1.3.2", features = ["derive"], optional = true }
argon2 = "0.5.2"
ascii = { version = "0.3.2", package = "any_ascii" }
async-recursion = "1.0.5"
base64 = "0.21.5"
bcrypt = "0.15.0"
blake3 = "1.5.3"
bincode = "1.3.3"
bytes = "1.5.0"
ciborium = "0.2.1"
cedar-policy = "2.4.2"
channel = { version = "1.9.0", package = "async-channel" }
chrono = { version = "0.4.31", features = ["serde"] }
dashmap = "5.5.3"
derive = { version = "0.12.0", package = "surrealdb-derive" }
deunicode = "1.4.1"
dmp = "0.2.0"
echodb = { version = "0.7.0", optional = true }
executor = { version = "1.8.0", package = "async-executor" }
ext-sort = { version = "^0.1.4", optional = true }
foundationdb = { version = "0.9.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"] }
geo-types = { version = "0.7.12", features = ["arbitrary"] }
hex = { version = "0.4.3" }
indxdb = { version = "0.5.0", optional = true }
ipnet = "2.9.0"
js = { version = "0.6.2", package = "rquickjs", features = [
"array-buffer",
"bindgen",
"classes",
"futures",
"loader",
"macro",
"parallel",
"properties",
"rust-alloc",
], optional = true }
jsonwebtoken = "9.3.0"
lexicmp = "0.1.0"
linfa-linalg = "=0.1.0"
md-5 = "0.10.6"
nanoid = "0.4.0"
ndarray = { version = "=0.15.6" }
ndarray-stats = "=0.5.1"
num-traits = "0.2.18"
num_cpus = "1.16.0"
object_store = { version = "0.10.2", optional = false }
once_cell = "1.18.0"
pbkdf2 = { version = "0.12.2", features = ["simple"] }
phf = { version = "0.11.2", features = ["macros", "unicase"] }
pin-project-lite = "0.2.13"
quick_cache = "0.5.1"
radix_trie = { version = "0.2.1", features = ["serde"] }
rand = "0.8.5"
reblessive = { version = "0.4.0", features = ["tree"] }
regex = "1.10.2"
regex-syntax = { version = "0.8.2", optional = true, features = ["arbitrary"] }
reqwest = { version = "0.12.5", default-features = false, features = [
"json",
"stream",
"multipart",
], optional = true }
revision = { version = "0.8.0", features = [
"chrono",
"geo",
"roaring",
"regex",
"rust_decimal",
"uuid",
] }
rmpv = "1.0.1"
roaring = { version = "0.10.2", features = ["serde"] }
rocksdb = { version = "0.21.0", features = ["lz4", "snappy"], optional = true }
rust_decimal = { version = "1.36.0", 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"
storekey = "0.5.0"
subtle = "2.6"
surrealkv = { version = "0.3.4", optional = true }
surrealml = { version = "0.1.1", optional = true, package = "surrealml-core" }
tempfile = { version = "3.10.1", optional = true }
thiserror = "1.0.50"
tikv = { version = "0.3.0-surreal.1", default-features = false, package = "surrealdb-tikv-client", optional = true }
tracing = "0.1.40"
trice = "0.4.0"
ulid = { version = "1.1.0", features = ["serde"] }
unicase = "2.7.0"
url = "2.5.0"
async-graphql = { version = "7.0.7", default-features = false, features = [
"dynamic-schema",
] }
castaway = "0.2.3"
serde-content = "0.1.0"
[dev-dependencies]
criterion = { version = "0.5.1", features = ["async_tokio"] }
env_logger = "0.10.1"
flate2 = "1.0.28"
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.36", features = ["serde"] }
tokio = { version = "1.34.0", features = ["macros", "sync", "rt-multi-thread"] }
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
wiremock = "0.6.0"
[target.'cfg(target_arch = "wasm32")'.dependencies]
pharos = "0.5.3"
ring = { version = "0.17.7", features = ["wasm32_unknown_unknown_js"] }
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.21.0", optional = true }
uuid = { version = "1.6.1", features = ["serde", "v4", "v7"] }
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(surrealdb_unstable)'] }
[lib]
name = "surrealdb_core"