[package]
edition = "2024"
name = "pxs"
version = "0.6.1"
authors = ["Nicolas Embriz <nbari@tequila.io>"]
build = "build.rs"
exclude = [
"tests/podman/*",
"benchmark.sh",
"local_pxs_vs_rsync.sh",
"remote_pxs_vs_rsync.sh",
".github/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "pxs (Parallel X-Sync) - Integrity-first Rust sync/clone for large mutable datasets."
homepage = "https://github.com/nbari/pxs"
documentation = "https://docs.rs/pxs"
readme = "README.md"
keywords = [
"sync",
"rsync",
"parallel",
"transfer",
"backup",
]
categories = [
"command-line-utilities",
"filesystem",
]
license = "BSD-3-Clause"
repository = "https://github.com/nbari/pxs"
[[package.metadata.generate-rpm.assets]]
source = "target/release/pxs"
dest = "/usr/local/bin/pxs"
mode = "0755"
[package.metadata.deb]
assets = [[
"target/release/pxs",
"/usr/local/bin/pxs",
"755",
]]
depends = ""
[lib]
name = "pxs"
path = "src/lib.rs"
[[bin]]
name = "pxs"
path = "src/bin/pxs.rs"
[[test]]
name = "cli_test"
path = "tests/cli_test.rs"
[[test]]
name = "net_test"
path = "tests/net_test.rs"
[[test]]
name = "sync_test"
path = "tests/sync_test.rs"
[dependencies.anyhow]
version = "1"
[dependencies.blake3]
version = "1"
features = [
"mmap",
"rayon",
]
[dependencies.bytes]
version = "1.11.1"
[dependencies.chrono]
version = "0.4"
[dependencies.clap]
version = "4.6"
features = ["env"]
[dependencies.filetime]
version = "0.2.27"
[dependencies.futures-util]
version = "0.3.32"
[dependencies.ignore]
version = "0.4.25"
[dependencies.indicatif]
version = "0.18.4"
[dependencies.memchr]
version = "2.8.0"
[dependencies.memmap2]
version = "0.9"
[dependencies.nix]
version = "0.31.2"
features = [
"fs",
"user",
]
[dependencies.opentelemetry]
version = "0.31"
[dependencies.opentelemetry-otlp]
version = "0.31"
features = [
"grpc-tonic",
"tls",
]
[dependencies.opentelemetry_sdk]
version = "0.31"
features = ["rt-tokio"]
[dependencies.rkyv]
version = "0.8.15"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.tokio]
version = "1.50"
features = [
"full",
"io-util",
"macros",
"net",
"rt-multi-thread",
]
[dependencies.tokio-util]
version = "0.7.18"
features = ["codec"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
version = "0.32"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.twox-hash]
version = "2.1.2"
[dependencies.zstd]
version = "0.13"
[dev-dependencies.tempfile]
version = "3"
[build-dependencies.built]
version = "0.8"
features = ["git2"]
[lints.clippy]
all = "deny"
await_holding_lock = "deny"
complexity = "deny"
correctness = "deny"
expect_used = "deny"
indexing_slicing = "deny"
large_stack_arrays = "deny"
needless_borrow = "deny"
needless_collect = "deny"
panic = "deny"
pedantic = "deny"
perf = "deny"
suspicious = "deny"
unwrap_used = "deny"
[lints.clippy.nursery]
level = "allow"
priority = -1
[lints.rust]
warnings = "deny"
[profile.release]
lto = "fat"
codegen-units = 1
strip = "symbols"