[package] name = "surreal" publish = false edition = "2021" version = "2.0.0" license-file = "LICENSE" authors = ["Tobie Morgan Hitchcock "] [features] # Public features default = ["storage-mem", "storage-surrealkv", "storage-rocksdb", "scripting", "http"] storage-mem = ["surrealdb/kv-mem"] storage-rocksdb = ["surrealdb/kv-rocksdb"] storage-tikv = ["surrealdb/kv-tikv"] storage-fdb = ["surrealdb/kv-fdb"] storage-surrealkv = ["surrealdb/kv-surrealkv"] scripting = ["surrealdb/scripting"] http = ["surrealdb/http"] http-compression = [] ml = ["surrealdb/ml"] jwks = ["surrealdb/jwks"] performance-profiler = ["dep:pprof"] # Special features storage-fdb-7_1 = ["surrealdb/kv-fdb-7_1"] storage-fdb-7_3 = ["surrealdb/kv-fdb-7_3"] # Trigger database upgrade tests database-upgrade-tests = [] [workspace] members = [ "core", "lib", "lib/examples/actix", "lib/examples/axum", "lib/examples/rocket", ] [profile.make] inherits = "dev" [profile.release] lto = true strip = true opt-level = 3 panic = 'abort' codegen-units = 1 [profile.bench] strip = false [dependencies] argon2 = "0.5.2" axum = { version = "0.6.20", features = ["tracing", "ws", "headers"] } axum-extra = { version = "0.7.7", features = ["query", "typed-routing"] } axum-server = { version = "0.5.1", features = ["tls-rustls"] } base64 = "0.21.5" bytes = "1.5.0" ciborium = "0.2.1" clap = { version = "4.4.11", features = [ "env", "derive", "wrap_help", "unicode", ] } futures = "0.3.29" futures-util = "0.3.29" geo = "0.28.0" geo-types = "0.7.13" glob = "0.3.1" http = "0.2.11" http-body = "0.4.5" hyper = "0.14.27" once_cell = "1.18.0" opentelemetry = { version = "0.19", features = ["rt-tokio"] } opentelemetry-otlp = { version = "0.12.0", features = ["metrics"] } pin-project-lite = "0.2.13" pprof = { version = "0.13.0", features = [ "flamegraph", "prost-codec", ], optional = true } rand = "0.8.5" reqwest = { version = "0.11.22", default-features = false, features = [ "blocking", "gzip", ] } revision = { version = "0.8.0", features = [ "chrono", "geo", "roaring", "regex", "rust_decimal", "uuid", ] } rmpv = "1.0.1" rustyline = { version = "12.0.0", features = ["derive"] } semver = "1.0.20" serde = { version = "1.0.193", features = ["derive"] } serde_json = "1.0.108" serde_pack = { version = "1.1.2", package = "rmp-serde" } surrealdb = { version = "2", path = "lib", features = [ "protocol-http", "protocol-ws", "rustls", ] } tempfile = "3.8.1" thiserror = "1.0.50" tokio = { version = "1.34.0", features = ["macros", "signal"] } tokio-util = { version = "0.7.10", features = ["io"] } tower = "0.4.13" tower-http = { version = "0.4.4", features = [ "trace", "sensitive-headers", "auth", "request-id", "util", "catch-panic", "cors", "set-header", "limit", "add-extension", "compression-full", ] } tracing = "0.1" tracing-opentelemetry = "0.19.0" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } urlencoding = "2.1.3" uuid = { version = "1.6.1", features = ["serde", "js", "v4", "v7"] } [target.'cfg(unix)'.dependencies] nix = { version = "0.27.1", features = ["user"] } [target.'cfg(unix)'.dev-dependencies] nix = { version = "0.27.1", features = ["signal", "user"] } [target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "ios"))'.dependencies] mimalloc = { version = "0.1.39", default-features = false } [target.'cfg(any(target_os = "android", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies] jemallocator = "0.5.4" [dev-dependencies] assert_fs = "1.0.13" chrono = { version = "0.4.31", features = ["serde"] } env_logger = "0.10.1" jsonwebtoken = { version = "8.3.0-surreal.1", package = "surrealdb-jsonwebtoken" } opentelemetry-proto = { version = "0.2.0", features = [ "gen-tonic", "traces", "metrics", "logs", ] } rcgen = "0.11.3" serial_test = "2.0.0" temp-env = { version = "0.3.6", features = ["async_closure"] } test-log = { version = "0.2.13", features = ["trace"] } tokio-stream = { version = "0.1", features = ["net"] } tokio-tungstenite = { version = "0.20.1" } tonic = "0.8.3" ulid = "1.1.0" wiremock = "0.5.22" [build-dependencies] semver = "1.0.20" [package.metadata.deb] maintainer-scripts = "pkg/deb/" maintainer = "Tobie Morgan Hitchcock " copyright = "SurrealDB Ltd. 2022" systemd-units = { enable = true } depends = "$auto" section = "utility" priority = "optional" assets = [ [ "target/release/surreal", "usr/share/surrealdb/surreal", "755", ], [ "pkg/deb/README", "usr/share/surrealdb/README", "644", ], ] extended-description = "A scalable, distributed, collaborative, document-graph database, for the realtime web." license-file = ["LICENSE", "4"]