# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [package] name = "hyperbee" version = "0.5.0" license = "MIT OR Apache-2.0" description = "Peer to Peer B-tree" documentation = "https://docs.rs/hyperbee" repository = "https://github.com/cowlicks/hyperbee" readme = "README.md" edition = "2021" keywords = ["dat", "p2p", "btree", "hypercore"] categories = [ "algorithms", "asynchronous", "data-structures", ] [lib] name = "hyperbee" crate-type = ["lib", "cdylib"] [[bin]] name = "uniffi-bindgen" path = "uniffi-bindgen.rs" required-features = ["ffi"] # TODO rm "ffi" from default when we split project into workspaces. So we can avoid using uniffi unless it is needed [features] default = ["ffi"] clib = ["tokio/rt-multi-thread", "dep:libc"] ffi = ["clib", "dep:uniffi"] debug = [] [dependencies] derive_builder = "0.12.0" futures-lite = "2.1.0" libc = { version = "0.2.153", optional = true } prost = "0.12.1" thiserror = "1.0.50" tokio = { version = "1.34.0", features = ["macros", "rt", "sync"] } tokio-stream = "0.1.14" tracing = "0.1.40" uniffi = { version = "0.26.1", features = ["cli"], optional = true } [dependencies.hypercore] version = "0.13.0" [build-dependencies] prost-build = "0.12.1" uniffi = { version = "0.26.1", features = ["build"], optional = true} [dev-dependencies] tracing-subscriber = "0.3.18" tokio = { version = "1.34.0", features = ["rt-multi-thread"] } async-recursion = "1.0.5" random-access-memory = "3.0.0" once_cell = "1.19.0" tempfile = "3.10.0" serde_json = "1.0.114"