daoxide 0.2.0

High-performance Rust library for DAOS (Distributed Asynchronous Object Storage)
[package]
name = "daoxide"
version = "0.2.0"
edition = "2024"
rust-version = "1.85"
description = "High-performance Rust library for DAOS (Distributed Asynchronous Object Storage)"
license = "GPL-3.0-only"
repository = "https://github.com/ustc-leofs/daoxide"
keywords = ["daos", "storage", "high-performance"]
categories = ["filesystem"]

[features]
default = ["tracing", "serde"]

## Enables mock testing utilities and test fixtures
mock = []

## Enables async runtime support (tokio). Core sync API remains available without this.
async = ["dep:tokio"]

## Enables tracing instrumentation for observability
tracing = ["dep:tracing"]

## Enables serialization/deserialization support via serde
serde = ["dep:serde", "dep:serde_json"]

[dependencies]
# Core DAOS client bindings
daos-rs = "0.1.0"
# Optional: async runtime (enabled by `async` feature)
tokio = { version = "1", features = ["rt-multi-thread", "sync", "time", "rt"], optional = true }

# Optional: tracing for instrumentation (enabled by `tracing` feature)
tracing = { version = "0.1", optional = true }

# Optional: serialization (enabled by `serde` feature)
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }

[dev-dependencies]
mockall = "0.14"
static_assertions = "1.1"
uuid = { version = "1", features = ["v4"] }