[package]
edition = "2021"
rust-version = "1.93"
name = "obj-db"
version = "1.1.2"
authors = ["obj contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Embedded document database. Stable file format, full ACID, single-file portability."
homepage = "https://github.com/uname-n/obj"
documentation = "https://docs.rs/obj-db"
readme = "README.md"
keywords = [
"database",
"embedded",
"document",
"acid",
"storage",
]
categories = [
"database",
"database-implementations",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/uname-n/obj"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
async = ["dep:blocking"]
compression = ["obj-core/compression"]
default = []
encryption = ["obj-core/encryption"]
fast-alloc = ["dep:mimalloc"]
serde = ["dep:serde"]
tracing = [
"dep:tracing",
"obj-core/tracing",
]
[lib]
name = "obj"
path = "src/lib.rs"
[[test]]
name = "async_smol"
path = "tests/async_smol.rs"
[[test]]
name = "async_tokio"
path = "tests/async_tokio.rs"
[[test]]
name = "attach"
path = "tests/attach.rs"
[[test]]
name = "attach_shared"
path = "tests/attach_shared.rs"
[[test]]
name = "backup"
path = "tests/backup.rs"
[[test]]
name = "backup_concurrent"
path = "tests/backup_concurrent.rs"
[[test]]
name = "batch_catalog_flush"
path = "tests/batch_catalog_flush.rs"
[[test]]
name = "compression"
path = "tests/compression.rs"
[[test]]
name = "compression_refusal"
path = "tests/compression_refusal.rs"
[[test]]
name = "concurrent_full_scan"
path = "tests/concurrent_full_scan.rs"
[[test]]
name = "concurrent_stress"
path = "tests/concurrent_stress.rs"
[[test]]
name = "crash_cycles_indexed"
path = "tests/crash_cycles_indexed.rs"
[[test]]
name = "cross_process_lock"
path = "tests/cross_process_lock.rs"
[[test]]
name = "cross_version_index_addition"
path = "tests/cross_version_index_addition.rs"
[[test]]
name = "db_api"
path = "tests/db_api.rs"
[[test]]
name = "derive_basic"
path = "tests/derive_basic.rs"
[[test]]
name = "derive_compile_fail"
path = "tests/derive_compile_fail.rs"
[[test]]
name = "derive_hygiene"
path = "tests/derive_hygiene.rs"
[[test]]
name = "derive_output_contract"
path = "tests/derive_output_contract.rs"
[[test]]
name = "design_md_attach"
path = "tests/design_md_attach.rs"
[[test]]
name = "design_md_derive"
path = "tests/design_md_derive.rs"
[[test]]
name = "design_md_queries"
path = "tests/design_md_queries.rs"
[[test]]
name = "doc_links"
path = "tests/doc_links.rs"
[[test]]
name = "encryption"
path = "tests/encryption.rs"
[[test]]
name = "encryption_refusal"
path = "tests/encryption_refusal.rs"
[[test]]
name = "enum_migration"
path = "tests/enum_migration.rs"
[[test]]
name = "golden_fixture"
path = "tests/golden_fixture.rs"
[[test]]
name = "historical_schemas"
path = "tests/historical_schemas.rs"
[[test]]
name = "index_maintenance"
path = "tests/index_maintenance.rs"
[[test]]
name = "integrity"
path = "tests/integrity.rs"
[[test]]
name = "lazy_migration"
path = "tests/lazy_migration.rs"
[[test]]
name = "perf_table_compiles"
path = "tests/perf_table_compiles.rs"
[[test]]
name = "python_interop"
path = "tests/python_interop.rs"
[[test]]
name = "query_basic"
path = "tests/query_basic.rs"
[[test]]
name = "readme_compiles"
path = "tests/readme_compiles.rs"
[[test]]
name = "reconcile_indexes_raw"
path = "tests/reconcile_indexes_raw.rs"
[[test]]
name = "reconcile_rollback"
path = "tests/reconcile_rollback.rs"
[[test]]
name = "schema_evolution"
path = "tests/schema_evolution.rs"
[[test]]
name = "serde_feature"
path = "tests/serde_feature.rs"
[[test]]
name = "snapshot_catalog_mvcc"
path = "tests/snapshot_catalog_mvcc.rs"
[[test]]
name = "tombstone_migration"
path = "tests/tombstone_migration.rs"
[[test]]
name = "tracing_feature"
path = "tests/tracing_feature.rs"
[[test]]
name = "txn_isolation"
path = "tests/txn_isolation.rs"
[[bench]]
name = "collection_scan"
path = "benches/collection_scan.rs"
harness = false
[[bench]]
name = "concurrent_reads"
path = "benches/concurrent_reads.rs"
harness = false
[[bench]]
name = "index_lookup"
path = "benches/index_lookup.rs"
harness = false
[[bench]]
name = "index_range"
path = "benches/index_range.rs"
harness = false
[[bench]]
name = "integrity_1gb"
path = "benches/integrity_1gb.rs"
harness = false
[[bench]]
name = "perf_table"
path = "benches/perf_table.rs"
harness = false
[[bench]]
name = "quick"
path = "benches/quick.rs"
harness = false
[dependencies.blocking]
version = "1"
optional = true
[dependencies.mimalloc]
version = "0.1"
optional = true
[dependencies.obj-core]
version = "1.1.2"
[dependencies.obj-derive]
version = "1.1.2"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dev-dependencies.criterion]
version = "0.5"
features = ["cargo_bench_support"]
default-features = false
[dev-dependencies.postcard]
version = "1"
features = ["alloc"]
default-features = false
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.rand_chacha]
version = "0.9"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.smol]
version = "2"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"rt-multi-thread",
"macros",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
[dev-dependencies.trybuild]
version = "1"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1