# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

[workspace]
exclude = ["bindings/python"]
members = [
  "crates/catalog/*",
  "crates/examples",
  "crates/iceberg",
  "crates/integration_tests",
  "crates/integrations/*",
  "crates/sqllogictest",
  "crates/storage/*",
  "crates/test_utils",
]
resolver = "2"

[workspace.package]
edition = "2024"
homepage = "https://rust.iceberg.apache.org/"
version = "0.9.1"

license = "Apache-2.0"
repository = "https://github.com/apache/iceberg-rust"
# Check the MSRV policy in README.md before changing this
rust-version = "1.92"

[workspace.dependencies]
anyhow = "1.0.72"
apache-avro = { version = "0.21", features = ["zstandard"] }
array-init = "2"
arrow-arith = "57.1"
arrow-array = "57.1"
arrow-buffer = "57.1"
arrow-cast = "57.1"
arrow-ord = "57.1"
arrow-schema = "57.1"
arrow-select = "57.1"
arrow-string = "57.1"
as-any = "0.3.2"
async-trait = "0.1.89"
aws-config = "1.8.7"
aws-sdk-glue = { version = "1.85", default-features = false, features = ["default-https-client", "rt-tokio"] }
aws-sdk-s3tables = { version = "1.28", default-features = false, features = ["default-https-client", "rt-tokio"] }
backon = "1.5.1"
base64 = "0.22.1"
bimap = "0.6"
bytes = "1.11"
cfg-if = "1"
chrono = "0.4.41"
clap = { version = "4.5.48", features = ["derive", "cargo"] }
dashmap = "6"
datafusion = "52.2"
datafusion-cli = "52.2"
datafusion-sqllogictest = "52.2"
derive_builder = "0.20"
dirs = "6"
enum-ordinalize = "4.3.0"
env_logger = "0.11.8"
expect-test = "1"
faststr = "0.2.31"
flate2 = "1.1.5"
fnv = "1.0.7"
fs-err = "3.1.0"
futures = "0.3"
hive_metastore = "0.2.0"
home = "=0.5.11"
http = "1.2"
iceberg = { version = "0.9.1", path = "./crates/iceberg" }
iceberg-catalog-glue = { version = "0.9.1", path = "./crates/catalog/glue" }
iceberg-catalog-hms = { version = "0.9.1", path = "./crates/catalog/hms" }
iceberg-catalog-rest = { version = "0.9.1", path = "./crates/catalog/rest" }
iceberg-catalog-s3tables = { version = "0.9.1", path = "./crates/catalog/s3tables" }
iceberg-catalog-sql = { version = "0.9.1", path = "./crates/catalog/sql" }
iceberg-datafusion = { version = "0.9.1", path = "./crates/integrations/datafusion" }
iceberg-storage-opendal = { version = "0.9.1", path = "./crates/storage/opendal" }
indicatif = "0.18"
itertools = "0.13"
libtest-mimic = "0.8.1"
linkedbytes = "0.1.8"
log = "0.4.28"
metainfo = "0.7.14"
mimalloc = "0.1.46"
minijinja = "2.12.0"
mockall = "0.13.1"
mockito = "1"
motore-macros = "0.4.3"
murmur3 = "0.5.2"
once_cell = "1.20"
opendal = "0.55.0"
ordered-float = "4"
parquet = "57.1"
pilota = "0.11.10"
pretty_assertions = "1.4"
rand = "0.9.3"
regex = "1.11.3"
reqwest = { version = "0.12.12", default-features = false, features = ["json"] }
roaring = { version = "0.11" }
fastnum = { version = "0.7", default-features = false, features = ["std", "serde"] }
serde = { version = "1.0.219", features = ["rc"] }
serde_bytes = "0.11.17"
serde_derive = "1.0.219"
serde_json = "1.0.142"
serde_repr = "0.1.16"
serde_with = "3.4"
sqllogictest = "0.28.3"
sqlx = { version = "0.8.1", default-features = false }
stacker = "0.1.20"
strum = "0.27.2"
tempfile = "3.18"
thrift = "0.17.0"
tokio = { version = "1.47", default-features = false }
toml = "0.8"
tracing = "0.1.41"
tracing-subscriber = "0.3.20"
typed-builder = "0.20"
typetag = "0.2"
url = "2.5.7"
uuid = { version = "1.18", features = ["v7"] }
volo = "0.10.6"
volo-thrift = "0.10.8"
zstd = "0.13.3"
