# 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 = "2024"
rust-version = "1.85"
name = "dynoxide-rs"
version = "0.9.11"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A lightweight, embeddable DynamoDB emulator backed by SQLite"
homepage = "https://github.com/nubo-db/dynoxide"
readme = "README.md"
keywords = [
    "dynamodb",
    "sqlite",
    "emulator",
    "aws",
    "database",
]
categories = [
    "database",
    "emulators",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/nubo-db/dynoxide"

[features]
_has-encryption = ["dep:zeroize"]
default = [
    "native-sqlite",
    "http-server",
    "mcp-server",
    "import",
]
encrypted-full = [
    "encryption",
    "http-server",
    "mcp-server",
    "import",
]
encrypted-server = [
    "encryption",
    "http-server",
]
encrypted-server-cc = [
    "encryption-cc",
    "http-server",
]
encryption = [
    "_has-encryption",
    "rusqlite/bundled-sqlcipher-vendored-openssl",
]
encryption-cc = [
    "_has-encryption",
    "rusqlite/bundled-sqlcipher",
]
full = [
    "native-sqlite",
    "http-server",
    "mcp-server",
    "import",
]
http-server = [
    "dep:axum",
    "dep:tokio",
    "dep:tower-http",
    "dep:clap",
    "dep:tracing",
    "dep:tracing-subscriber",
    "dep:socket2",
    "dep:crc32fast",
]
import = [
    "dep:clap",
    "dep:toml",
    "dep:fake",
    "dep:sha2",
    "dep:flate2",
    "dep:indicatif",
    "dep:zstd",
    "dep:tempfile",
]
mcp-server = [
    "dep:rmcp",
    "dep:schemars",
    "dep:tokio",
    "dep:tokio-util",
    "dep:axum",
    "dep:clap",
    "dep:tracing",
    "dep:tracing-subscriber",
    "dep:libc",
]
native-sqlite = ["rusqlite/bundled"]

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

[[bin]]
name = "dynoxide"
path = "src/main.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.axum]
version = "0.8"
optional = true

[dependencies.base64]
version = "0.22"

[dependencies.bigdecimal]
version = "0.4"

[dependencies.clap]
version = "4"
features = ["derive"]
optional = true

[dependencies.crc32fast]
version = "1"
optional = true

[dependencies.fake]
version = "3"
features = ["derive"]
optional = true

[dependencies.flate2]
version = "1"
optional = true

[dependencies.indicatif]
version = "0.17"
optional = true

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.md5]
version = "0.7"

[dependencies.rmcp]
version = "1"
features = [
    "server",
    "transport-io",
    "transport-streamable-http-server",
]
optional = true

[dependencies.rusqlite]
version = "0.36"
features = [
    "backup",
    "functions",
]

[dependencies.schemars]
version = "1"
optional = true

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

[dependencies.serde_json]
version = "1"

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.socket2]
version = "0.6"
optional = true

[dependencies.tempfile]
version = "3"
optional = true

[dependencies.thiserror]
version = "2"

[dependencies.tokio]
version = "1"
features = ["full"]
optional = true

[dependencies.tokio-util]
version = "0.7"
optional = true

[dependencies.toml]
version = "0.8"
optional = true

[dependencies.tower-http]
version = "0.6"
features = [
    "cors",
    "set-header",
    "trace",
]
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

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

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "v7",
]

[dependencies.zeroize]
version = "1"
optional = true

[dependencies.zstd]
version = "0.13"
optional = true

[dev-dependencies.aws-config]
version = "1"
features = ["behavior-version-latest"]

[dev-dependencies.aws-credential-types]
version = "1"

[dev-dependencies.aws-sdk-dynamodb]
version = "1"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]

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

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

[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
panic = "abort"
strip = true
