content: [package]
  name = "mz-persist"
  description = "Abstraction for Materialize dataplane persistence."
  version = "0.0.0"
  edition.workspace = true
  rust-version.workspace = true
  publish = false
  # Since we intentionally will only ever have one bench target, auto discovery of
  # benches is unnecessary. Turning it off allows us to have helper code in
  # src/benches.
  autobenches = false
  
  [lints]
  workspace = true
  
  # Disable the ability to use benches in the library because the bench harness
  # isn't overridable there and the stock one prevents using Criterion specific
  # flags, e.g. `cargo bench -p persist -- --baseline=foo`.
  [lib]
  bench = false
  
  # NB: This is meant to be a strong, independent abstraction boundary. Please
  # don't leak in dependencies on other Materialize packages.
  [dependencies]
  anyhow = "1.0.100"
  arrow = { version = "55.2.0", default-features = false }
  async-trait = "0.1.89"
  async-stream = "0.3.6"
  aws-config = { version = "1.2.0", default-features = false }
  aws-credential-types = { version = "1.2.7", features = ["hardcoded-credentials"] }
  aws-sdk-s3 = { version = "1.48.0", default-features = false, features = ["rt-tokio"] }
  aws-types = "1.3.7"
  azure_identity = { version = "0.21.0" }
  azure_storage = { version = "0.21.0" }
  azure_storage_blobs = { version = "0.21.0" }
  azure_core = "0.21.0"
  base64 = "0.22.1"
  bytes = "1.10.1"
  deadpool-postgres = "0.10.3"
  differential-dataflow = "0.17.0"
  fail = { version = "0.5.1", features = ["failpoints"] }
  futures-util = "0.3.31"
  itertools = "0.14.0"
  md-5 = "0.10.6"
  mz-aws-util = { path = "../aws-util", features = ["s3"] }
  mz-dyncfg = { path = "../dyncfg" }
  mz-ore = { path = "../ore", default-features = false, features = ["metrics", "async", "bytes", "region", "parquet"] }
  mz-persist-types = { path = "../persist-types" }
  mz-postgres-client = { path = "../postgres-client" }
  mz-proto = { path = "../proto" }
  openssl = { version = "0.10.73", features = ["vendored"] }
  openssl-sys = { version = "0.9.108", features = ["vendored"] }
  parquet = { version = "55.2.0", default-features = false, features = ["arrow", "brotli", "flate2", "snap", "lz4", "zstd"] }
  postgres-openssl = { version = "0.5.0" }
  postgres-protocol = { version = "0.6.5" }
  prometheus = { version = "0.13.4", default-features = false }
  proptest = { version = "1.7.0", default-features = false, features = ["std"] }
  proptest-derive = { version = "0.5.1", features = ["boxed_union"] }
  prost = { version = "0.13.5", features = ["no-recursion-limit"] }
  rand = { version = "0.8.5", features = ["small_rng"] }
  reqwest = { version = "0.12", features = ["blocking", "json", "default-tls", "charset", "http2"], default-features = false }
  serde = { version = "1.0.219", features = ["derive"] }
  timely = "0.24.0"
  tokio = { version = "1.44.1", default-features = false, features = ["fs", "macros", "sync", "rt", "rt-multi-thread"] }
  tokio-postgres = { version = "0.7.8" }
  tracing = "0.1.37"
  url = "2.3.1"
  urlencoding = "2.1.3"
  uuid = { version = "1.18.1", features = ["v4"] }
  workspace-hack = { version = "0.0.0", path = "../workspace-hack", optional = true }
  
  
  # While this crate doesn't directly depend on `sha2` we want to ensure that the
  # `asm` feature is enabled since computing SHA256 hashes is taking a
  # significant amount of CPU time when uploading data to S3
  [dependencies.sha2]
  version = "0.10.9"
  features = ["asm"]
  
  [dev-dependencies]
  mz-ore = { path = "../ore", default-features = false, features = ["test"] }
  serde_json = "1.0.145"
  tempfile = "3.20.0"
  
  [build-dependencies]
  mz-build-tools = { path = "../build-tools", default-features = false, features = ["protobuf-src"] }
  prost-build = "0.13.5"
  
  [features]
  default = ["mz-build-tools/default", "workspace-hack"]
  
  [package.metadata.cargo-udeps.ignore]
  normal = ["workspace-hack", "sha2"]
  