[package] name = "par-dfs" version = "0.0.7" edition = "2021" authors = ["romnn "] description = "Parallel, serial, and async dfs and bfs traversal" license-file = "LICENSE" readme = "README.md" homepage = "https://github.com/romnn/par-dfs" repository = "https://github.com/romnn/par-dfs" categories = [ "concurrency", "asynchronous", "data-structures", "algorithms" ] keywords = [ "dfs", "bfs", "async", "rayon", "tokio" ] exclude = [] [[bench]] name = "benches" harness = false [[example]] name = "sync_fs" path = "examples/sync/fs.rs" [[example]] name = "async_fs" path = "examples/async/fs.rs" [features] default = ["sync"] full = ["sync", "async", "rayon"] rayon = ["dep:rayon"] sync = [] async = [ "dep:futures", "dep:pin-project", "dep:async-trait", ] [package.metadata.docs.rs] # document all features all-features = true # defines the configuration attribute `docsrs` rustdoc-args = ["--cfg", "docsrs"] rustc-args = ["--cfg", "docsrs"] [dependencies] thiserror = "1" rayon = { version = "1", optional = true } futures = { version = "0.3", optional = true } pin-project = { version = "1", optional = true } async-trait = { version = "0", optional = true } [dev-dependencies] paste = "1" anyhow = "1" pretty_assertions = "1.3" # benchmarking criterion = { version = "0.4", features = ["async_tokio"] } # testing async iterators tokio = { version = "1", features = ["time", "rt-multi-thread", "macros"] } tokio-test = "0" # examples clap = { version = "3.2", features = ["derive"] } # async fs example tokio-stream = { version = "0", features = ["fs"] }