-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
96 lines (80 loc) · 2.44 KB
/
Copy pathCargo.toml
File metadata and controls
96 lines (80 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
[package]
name = "cargobase"
version = "0.1.1"
edition = "2021"
authors = ["Giuseppe Gelardi <giuseppegelardi@icloud.com>"]
license = "MIT"
description = "A local, in-memory, and file-based key-value store."
homepage = "https://github.com/giuseppe-g-gelardi/cargobase"
repository = "https://github.com/giuseppe-g-gelardi/cargobase"
documentation = "https://docs.rs/cargobase"
readme = "README.md"
keywords = ["database", "json", "key-value", "embedded", "async"]
categories = ["database-implementations", "data-structures", "development-tools"]
[features]
# Default features - minimal but useful set
default = ["async", "uuid-keys"]
# Core features
async = ["tokio"]
sync = []
# Performance features
compression = ["flate2"]
encryption = ["aes-gcm", "rand"]
in-memory = []
caching = ["moka"]
# Advanced features
indexing = []
transactions = []
migrations = []
full-text-search = ["tantivy"]
# Export/Import
csv = ["csv-crate"]
json-export = []
backup = []
# Logging & Debugging
detailed-logging = ["tracing-subscriber/env-filter"]
query-stats = []
# Type support
uuid-keys = ["uuid"]
integer-keys = []
timestamps = ["chrono"]
# Validation
strict-validation = []
foreign-keys = []
# Testing
test-utils = ["tempfile"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["raw_value"] }
serde_derive = "1.0"
serde-reflection = "0.4"
thiserror = "2.0"
tracing = "0.1"
regex = "1.10"
# Optional dependencies
tokio = { version = "1", features = ["fs", "io-util", "rt-multi-thread"], optional = true }
uuid = { version = "1.11", features = ["v4", "serde"], optional = true }
flate2 = { version = "1.0", optional = true }
aes-gcm = { version = "0.10", optional = true }
rand = { version = "0.8", optional = true }
moka = { version = "0.12", features = ["future"], optional = true }
tantivy = { version = "0.22", optional = true }
csv-crate = { package = "csv", version = "1.3", optional = true }
chrono = { version = "0.4", features = ["serde"], optional = true }
tempfile = { version = "3.14", optional = true }
[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util", "macros"] }
tempfile = "3.14"
tracing-subscriber = "0.3"
tracing-test = "0.2"
base64 = "0.22"
uuid = { version = "1.11", features = ["v4", "serde"] }
cargobase = { path = ".", features = ["test-utils"] }
[lib]
path = "src/lib.rs"
[workspace]
members = ["examples/*"]
[[test]]
name = "core"
path = "tests/core.rs"
required-features = ["test-utils"]