# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.81"
name = "hyperdb-api"
version = "0.1.0-rc.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust API for Hyper database"
homepage = "https://github.com/tableau/hyper-api-rust"
readme = "README.md"
keywords = [
    "database",
    "hyper",
    "postgres",
    "arrow",
]
categories = ["database"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tableau/hyper-api-rust"

[lib]
name = "hyperdb_api"
path = "src/lib.rs"

[[example]]
name = "arrow"
path = "examples/additional_examples/arrow.rs"

[[example]]
name = "arrow_batching_benchmark"
path = "benches/arrow_batching_benchmark.rs"

[[example]]
name = "async_parallel_benchmark"
path = "benches/async_parallel_benchmark.rs"

[[example]]
name = "async_parity_smoke"
path = "examples/async_parity_smoke.rs"

[[example]]
name = "async_usage"
path = "examples/additional_examples/async_usage.rs"

[[example]]
name = "benchmark"
path = "benches/benchmark.rs"

[[example]]
name = "benchmark_suite"
path = "benches/benchmark_suite.rs"

[[example]]
name = "connection_pool"
path = "examples/additional_examples/connection_pool.rs"

[[example]]
name = "create_hyper_file_from_csv"
path = "examples/create_hyper_file_from_csv.rs"

[[example]]
name = "delete_data_in_existing_hyper_file"
path = "examples/delete_data_in_existing_hyper_file.rs"

[[example]]
name = "grpc_benchmark_tests"
path = "benches/grpc_benchmark_tests.rs"

[[example]]
name = "grpc_query"
path = "examples/additional_examples/grpc_query.rs"

[[example]]
name = "grpc_truncation_probe"
path = "examples/grpc_truncation_probe.rs"

[[example]]
name = "insert_data_into_multiple_tables"
path = "examples/insert_data_into_multiple_tables.rs"

[[example]]
name = "insert_data_into_single_table"
path = "examples/insert_data_into_single_table.rs"

[[example]]
name = "insert_data_with_expressions"
path = "examples/insert_data_with_expressions.rs"

[[example]]
name = "insert_geospatial_data_to_a_hyper_file"
path = "examples/insert_geospatial_data_to_a_hyper_file.rs"

[[example]]
name = "prepared_statements"
path = "examples/prepared_statements.rs"

[[example]]
name = "read_and_print_data_from_existing_hyper_file"
path = "examples/read_and_print_data_from_existing_hyper_file.rs"

[[example]]
name = "threaded_inserter"
path = "examples/additional_examples/threaded_inserter.rs"

[[example]]
name = "transactions"
path = "examples/additional_examples/transactions.rs"

[[example]]
name = "update_data_in_existing_hyper_file"
path = "examples/update_data_in_existing_hyper_file.rs"

[[test]]
name = "arrow_inserter_tests"
path = "tests/arrow_inserter_tests.rs"

[[test]]
name = "arrow_reader_tests"
path = "tests/arrow_reader_tests.rs"

[[test]]
name = "async_builder_tests"
path = "tests/async_builder_tests.rs"

[[test]]
name = "async_connection_tests"
path = "tests/async_connection_tests.rs"

[[test]]
name = "async_owned_handles_tests"
path = "tests/async_owned_handles_tests.rs"

[[test]]
name = "async_prepared_statement_tests"
path = "tests/async_prepared_statement_tests.rs"

[[test]]
name = "async_transaction_tests"
path = "tests/async_transaction_tests.rs"

[[test]]
name = "catalog_tests"
path = "tests/catalog_tests.rs"

[[test]]
name = "connection_tests"
path = "tests/connection_tests.rs"

[[test]]
name = "copy_tests"
path = "tests/copy_tests.rs"

[[test]]
name = "grpc_cancel_tests"
path = "tests/grpc_cancel_tests.rs"

[[test]]
name = "grpc_streaming_tests"
path = "tests/grpc_streaming_tests.rs"

[[test]]
name = "inserter_tests"
path = "tests/inserter_tests.rs"

[[test]]
name = "logging_tests"
path = "tests/logging_tests.rs"

[[test]]
name = "new_features_tests"
path = "tests/new_features_tests.rs"

[[test]]
name = "numeric_typemod_tests"
path = "tests/numeric_typemod_tests.rs"

[[test]]
name = "prepared_statement_tests"
path = "tests/prepared_statement_tests.rs"

[[test]]
name = "process_tests"
path = "tests/process_tests.rs"

[[test]]
name = "remaining_features_tests"
path = "tests/remaining_features_tests.rs"

[[test]]
name = "result_tests"
path = "tests/result_tests.rs"

[[test]]
name = "roundtrip_tests"
path = "tests/roundtrip_tests.rs"

[[test]]
name = "stress_test"
path = "tests/stress_test_main.rs"
harness = true

[[test]]
name = "transaction_tests"
path = "tests/transaction_tests.rs"

[[test]]
name = "type_tests"
path = "tests/type_tests.rs"

[[test]]
name = "unload_tests"
path = "tests/unload_tests.rs"

[[test]]
name = "wire_desync_tests"
path = "tests/wire_desync_tests.rs"

[dependencies.arrow]
version = "58"
features = ["ipc"]
default-features = false

[dependencies.bytes]
version = "1.5"

[dependencies.deadpool]
version = "0.13"

[dependencies.hyperdb-api-core]
version = "=0.1.0-rc.1"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.smallvec]
version = "1.13"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "sync",
    "macros",
    "sync",
]

[dependencies.tracing]
version = "0.1"

[dev-dependencies.libc]
version = "0.2"

[dev-dependencies.rand]
version = "0.10"

[dev-dependencies.serde]
version = "1.0"
features = ["derive"]

[dev-dependencies.sysinfo]
version = "0.38"

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.tokio]
version = "1"
features = ["full"]

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[lints.clippy]
allow_attributes_without_reason = "warn"
as_underscore = "warn"
cast_lossless = "warn"
cast_possible_truncation = "deny"
cast_possible_wrap = "deny"
cast_precision_loss = "warn"
cast_sign_loss = "deny"
clone_on_ref_ptr = "warn"
doc_markdown = "allow"
items_after_statements = "allow"
match_same_arms = "allow"
match_wildcard_for_single_variants = "allow"
missing_errors_doc = "warn"
missing_panics_doc = "warn"
module_name_repetitions = "allow"
must_use_candidate = "allow"
too_many_lines = "allow"
undocumented_unsafe_blocks = "deny"
unnecessary_safety_comment = "warn"
unnecessary_safety_doc = "warn"
unreadable_literal = "allow"

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1

[lints.clippy.pedantic]
level = "warn"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "deny"
priority = -1

[lints.rust]
ambiguous_negative_literals = "warn"
missing_debug_implementations = "warn"
missing_docs = "warn"
redundant_imports = "warn"
redundant_lifetimes = "warn"
trivial_numeric_casts = "warn"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "deny"
unused_lifetimes = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]
