[package] name = "cozo" version = "0.1.7" edition = "2021" description = "A general-purpose, transactional, relational database that uses Datalog and focuses on graph data and algorithms" authors = ["Ziyang Hu"] license = "MPL-2.0" homepage = "https://github.com/cozodb/cozo" repository = "https://github.com/cozodb/cozo" documentation = "https://cozodb.github.io/current/manual" exclude = [ "docs/*", "tests/*", ] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] #! # Features default = ["compact", "storage-rocksdb"] ## Enables the `minimal`, `requests` and `graph-algo` features compact = ["minimal", "requests", "graph-algo", "rayon"] ## Enables the `minimal`, `requests` and `graph-algo` features in single threaded mode compact-single-threaded = ["minimal", "requests", "graph-algo"] ## Enables the `storage-sqlite` feature minimal = ["storage-sqlite"] ## Enables the [Sqlite](https://www.sqlite.org/index.html) backend, also allows backup and restore with Sqlite data files. storage-sqlite = ["dep:sqlite"] ## Enables the [RocksDB](http://rocksdb.org/) backend storage-rocksdb = ["dep:cozorocks"] ## Enables the graph algorithms graph-algo = ["dep:nalgebra"] ## Allows the utilities to make web requests to fetch data requests = ["dep:minreq"] ## Uses jemalloc as the global allocator, can make a difference in performance jemalloc = ["dep:tikv-jemallocator-global", "cozorocks?/jemalloc"] ## Enables io-uring option for the RocksDB storage io-uring = ["cozorocks?/io-uring"] ## Enables the WASM target wasm = ["uuid/js", "dep:js-sys"] ## Allows threading and enables the use of the `rayon` library for parallelizing algorithms rayon = ["dep:rayon"] ## Disallows the use of threads nothread = [] #! The following features are highly experimental: ## Enables the [Sled](https://github.com/spacejam/sled) backend storage-sled = ["dep:sled"] ## Enables the [TiKV](https://tikv.org/) client backend storage-tikv = ["dep:tikv-client", "dep:tokio"] [dependencies] casey = "0.3.3" either = "1.7.0" rand = "0.8.5" miette = { version = "=5.3.0", features = ["fancy"] } lazy_static = "1.4.0" log = "0.4.16" env_logger = "0.9.0" smallvec = { version = "1.8.1", features = ["serde", "write", "union", "const_generics", "const_new"] } smartstring = { version = "1.0.1", features = ["serde"] } serde_json = "1.0.81" serde = { version = "1.0.137" } serde_derive = "1.0.137" serde_bytes = "0.11.7" rmp = "0.8.11" rmp-serde = "1.1.0" rmpv = "1.0.0" base64 = "0.13.0" chrono = "0.4.19" chrono-tz = "0.6.3" priority-queue = "1.2.3" ordered-float = "3.0.0" byteorder = "1.4.3" num-traits = "0.2.15" itertools = "0.10.3" regex = "1.6.0" pest = "2.2.1" pest_derive = "2.2.1" approx = "0.5.1" unicode-normalization = "0.1.21" thiserror = "1.0.34" uuid = { version = "1.1.2", features = ["v1", "v4", "serde"] } csv = "1.1.6" document-features = "0.2.6" rayon = { version = "1.5.3", optional = true } nalgebra = { version = "0.31.1", optional = true } minreq = { version = "2.6.0", features = ["https-rustls"], optional = true } tikv-jemallocator-global = { version = "0.5.0", optional = true } cozorocks = { path = "../cozorocks", version = "0.1.0", optional = true } sled = { version = "0.34.7", optional = true } tikv-client = { version = "0.1.0", optional = true } tokio = { version = "1.21.2", optional = true } sqlite = { version = "0.30.1", optional = true } js-sys = { version = "0.3.60", optional = true } #redb = "0.9.0" #ouroboros = "0.15.5"