[package] name = "kip_db" version = "0.1.2-alpha.26.fix1" edition = "2021" authors = ["Kould "] description = "轻量级、异步 基于LSM Leveled Compaction K-V数据库" license = "Apache-2.0" repository = "https://github.com/KipData/kipdb" readme = "README.md" keywords = ["async", "KV-Store", "Persistence"] categories = ["development-tools", "database"] default-run = "server" [[bin]] name = "cli" path = "src/bin/cli.rs" required-features = ["net"] [[bin]] name = "server" path = "src/bin/server.rs" required-features = ["net"] [[bench]] name = "server_bench" path = "src/bench/kernel_bench.rs" harness = false [profile.release] debug = true [features] sled = ["dep:sled"] rocksdb = ["dep:rocksdb"] net = ["dep:tonic", "dep:prost", "dep:tonic-build"] [dependencies] thiserror = "1.0.24" # 序列化 serde = { version = "1.0.89", features = ["derive", "rc"] } bincode = "1.3.3" # tokio异步 tokio = { version="1.21.2", features = ["full", "signal"] } futures = "0.3" tokio-util = { version="0.7.3", features = ["codec"] } tokio-stream = "0.1.9" async-trait = "0.1.57" # 数据承载媒介 bytes = { version = "1.2.1", features = ["serde"] } # 日志 tracing = "0.1" tracing-subscriber = "0.3" # 工具 lz4 = "1.23.1" integer-encoding = "3.0.4" clap = { version = "4.4.6", features = ["derive"] } itertools = "0.10.3" chrono = "0.4.19" parking_lot = "0.12.1" crc32fast = "1.3.2" skiplist = "0.5.1" fslock = "0.2.1" rand = "0.8.5" # grpc tonic = { version = "0.10.2", optional = true } prost = { version = "0.12", optional = true } # 其他数据库内核 sled = { version = "0.34.7", optional = true } rocksdb = { version = "0.21.0", optional = true } [dev-dependencies] assert_cmd = "0.11.0" predicates = "1.0.0" walkdir = "2.2.7" tokio-test = "0.4.2" criterion = { version = "0.3.5", features = ["async_tokio", "html_reports"] } # 单元测试用 tempfile = "3.0.7" rand = "0.8.5" [build-dependencies] tonic-build = {version = "0.10.2", optional = true}