blob: 5b5837971f85f51052f54580f30ee21b2adab012 [file]
# 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.
[package]
name = "iotdb-client-rust"
version = "0.1.0"
edition = "2021"
rust-version = "1.75"
description = "Apache IoTDB client for Rust (tree & table model over Thrift RPC)"
license = "Apache-2.0"
repository = "https://github.com/apache/iotdb-client-rust"
keywords = ["iotdb", "timeseries", "database", "client"]
categories = ["database"]
# Import name stays `iotdb_client` (the package name carries the -rust suffix
# only because `iotdb-client` is taken on crates.io).
[lib]
name = "iotdb_client"
[dependencies]
thrift = "0.23"
byteorder = "1.5"
chrono = "0.4"
log = "0.4"
# thrift 0.23 allows any uuid 1.x; 1.21+ raises MSRV to Rust 1.85.
uuid = "=1.20.0"
rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12"], optional = true }
rustls-pemfile = { version = "2.2", optional = true }
rustls-native-certs = { version = "0.8.4", optional = true }
# Keep Cargo 1.75 from resolving zeroize 1.9, whose manifest uses edition 2024.
zeroize = { version = "=1.8.2", optional = true }
[target.'cfg(any(target_vendor = "apple"))'.dependencies]
# rustls-native-certs 0.8 allows 3.x; 3.7 raises MSRV to Rust 1.85.
security-framework = { version = "=3.5.1", optional = true }
[dev-dependencies]
env_logger = "0.11"
[features]
default = []
# TLS 1.2/1.3 via rustls, using the ring crypto provider and platform
# trust roots with consistent WebPKI verification. Adds `use_ssl` & friends to SessionConfig.
tls = ["dep:rustls", "dep:rustls-pemfile", "dep:rustls-native-certs", "dep:zeroize", "dep:security-framework"]