| # 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"] |