[package]
edition = "2024"
rust-version = "1.85"
name = "dynoxide-rs"
version = "0.11.1"
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"
documentation = "https://docs.rs/dynoxide-rs"
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"
[package.metadata.wasm-pack.profile.release]
wasm-opt = [
"-Os",
"--enable-bulk-memory",
"--enable-sign-ext",
"--enable-mutable-globals",
"--enable-nontrapping-float-to-int",
"--enable-multivalue",
"--enable-reference-types",
]
[features]
_has-encryption = ["dep:zeroize"]
cli = ["dep:clap"]
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 = [
"cli",
"dep:axum",
"dep:tokio",
"dep:tower-http",
"dep:tracing",
"dep:tracing-subscriber",
"dep:socket2",
"dep:crc32fast",
]
import = [
"cli",
"dep:toml",
"dep:fake",
"dep:sha2",
"dep:flate2",
"dep:indicatif",
"dep:zstd",
"dep:tempfile",
]
mcp-server = [
"cli",
"dep:rmcp",
"dep:schemars",
"dep:tokio",
"dep:tokio-util",
"dep:axum",
"dep:tracing",
"dep:tracing-subscriber",
"dep:libc",
"dep:directories",
"dep:subtle",
]
native-sqlite = [
"dep:rusqlite",
"rusqlite/bundled",
]
wasm-harness = ["wasm-sqlite"]
wasm-sqlite = [
"dep:wasm-bindgen",
"dep:js-sys",
"dep:wasm-bindgen-futures",
"dep:web-sys",
"dep:async-lock",
]
[lib]
name = "dynoxide"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "dynoxide"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "aws_sdk_integration"
path = "tests/aws_sdk_integration.rs"
[[test]]
name = "backend_error"
path = "tests/backend_error.rs"
[[test]]
name = "batch_operations"
path = "tests/batch_operations.rs"
[[test]]
name = "clock"
path = "tests/clock.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 = "healthcheck"
path = "tests/healthcheck.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 = "index_key_validation"
path = "tests/index_key_validation.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 = "nesting_depth"
path = "tests/nesting_depth.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 = "storage_backend_native"
path = "tests/storage_backend_native.rs"
[[test]]
name = "storage_backend_trait_compile"
path = "tests/storage_backend_trait_compile.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.async-lock]
version = "3"
optional = true
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.base64]
version = "0.22"
[dependencies.bigdecimal]
version = "0.4"
[dependencies.clap]
version = "4"
features = [
"derive",
"env",
]
optional = true
[dependencies.crc32fast]
version = "1"
optional = true
[dependencies.directories]
version = "6"
optional = true
[dependencies.fake]
version = "3"
features = ["derive"]
optional = true
[dependencies.flate2]
version = "1"
optional = true
[dependencies.indicatif]
version = "0.18"
optional = true
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.md5]
version = "0.7"
[dependencies.pollster]
version = "0.4"
[dependencies.rmcp]
version = "1"
features = [
"server",
"transport-io",
"transport-streamable-http-server",
]
optional = true
[dependencies.rusqlite]
version = "0.36"
features = [
"backup",
"functions",
]
optional = true
[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.subtle]
version = "2"
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",
"v5",
"v7",
]
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = ["console"]
optional = true
[dependencies.web-time]
version = "1"
[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"]
[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1"
features = ["js"]
[profile.release]
opt-level = "s"
lto = true
codegen-units = 1
panic = "abort"
strip = true