file-engine 2.0.0

Async, cross-platform file operations engine for desktop apps and developer tools: copy, move, sync, watch, and compress files with progress reporting and cancellation.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "file-engine"
version = "2.0.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Async, cross-platform file operations engine for desktop apps and developer tools: copy, move, sync, watch, and compress files with progress reporting and cancellation."
readme = "README.md"
keywords = [
    "filesystem",
    "io",
    "async",
    "tokio",
    "copy",
]
categories = [
    "filesystem",
    "asynchronous",
]
license = "MIT"
repository = "https://github.com/naut54/file-engine"

[features]
analyze = [
    "dep:walkdir",
    "dep:infer",
]
checksum = [
    "analyze",
    "dep:blake3",
]
compress = [
    "operations",
    "dep:zip",
    "dep:flate2",
]
default = [
    "operations",
    "analyze",
]
diagnostics = ["dep:error-engine"]
operations = [
    "dep:walkdir",
    "dep:libc",
    "dep:windows-sys",
    "dep:unicode-normalization",
]
permissions = ["operations"]
sync = [
    "operations",
    "analyze",
]
watch = ["dep:notify"]

[lib]
name = "file_engine"
path = "src/lib.rs"

[[example]]
name = "basic_compress"
path = "examples/basic_compress.rs"
required-features = ["compress"]

[[example]]
name = "basic_copy"
path = "examples/basic_copy.rs"
required-features = ["operations"]

[[example]]
name = "basic_move"
path = "examples/basic_move.rs"
required-features = ["operations"]

[[example]]
name = "basic_sync"
path = "examples/basic_sync.rs"
required-features = ["sync"]

[[example]]
name = "basic_watch"
path = "examples/basic_watch.rs"
required-features = ["watch"]

[[example]]
name = "with_diagnostics"
path = "examples/with_diagnostics.rs"

[dependencies.blake3]
version = "1"
optional = true

[dependencies.error-engine]
version = "0.2"
optional = true

[dependencies.flate2]
version = "1"
optional = true

[dependencies.infer]
version = "0.16"
optional = true

[dependencies.notify]
version = "6"
optional = true

[dependencies.thiserror]
version = "1"

[dependencies.tokio]
version = "1"
features = [
    "fs",
    "rt",
    "rt-multi-thread",
    "macros",
    "sync",
    "io-util",
    "time",
]

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dependencies.unicode-normalization]
version = "0.1"
optional = true

[dependencies.walkdir]
version = "2"
optional = true

[dependencies.zip]
version = "2"
optional = true

[dev-dependencies.filetime]
version = "0.2"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[target."cfg(unix)".dependencies.libc]
version = "0.2"
optional = true

[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
    "Win32_Storage_FileSystem",
    "Win32_Foundation",
]
optional = true