-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
59 lines (52 loc) · 1.62 KB
/
Cargo.toml
File metadata and controls
59 lines (52 loc) · 1.62 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
[package]
name = "qcl"
description = "A Query Check Language written in Rust"
version = "0.1.5"
edition = "2024"
authors = ["lollipopkit <a@lollipopkit.com>"]
license = "Apache-2.0"
repository = "https://github.com/lollipopkit/qcl"
[lib]
crate-type = ["cdylib", "rlib"]
[package.metadata.cargo-test]
args = ["--", "--nocapture"]
[dependencies]
serde = { version = "^1", default-features = false, features = [
"derive",
"alloc",
] }
serde_json = { version = "^1", optional = true }
serde_yaml = { version = "^0.9", optional = true }
toml = { version = "^0.8", optional = true }
once_cell = { version = "1", optional = true }
hashbrown = { version = "0.15", features = ["serde"] }
wasm-bindgen = { version = "0.2", optional = true }
serde-wasm-bindgen = { version = "0.6", optional = true }
pyo3 = { version = "0.24", optional = true, features = ["extension-module"] }
[features]
default = ["std", "sem_arith", "json"]
# Enable std (required for parse cache and format parsers)
std = ["dep:once_cell", "serde/std"]
# Semantic arith: 3 / 2 = 1.5, not 1
sem_arith = []
# Advanced arithmetic support: Map + Map, List + Val etc.
adv_arith = []
# Input format features
json = ["std", "dep:serde_json"]
yaml = ["std", "dep:serde_yaml"]
toml = ["std", "dep:toml"]
# WASM bindings via wasm-bindgen
wasm = ["dep:wasm-bindgen", "dep:serde-wasm-bindgen", "std", "json"]
# C FFI
ffi = ["std", "json"]
# Python bindings via PyO3
python = ["dep:pyo3", "std", "json"]
all = ["std", "sem_arith", "adv_arith", "json", "yaml", "toml"]
[[bin]]
name = "qcl"
required-features = ["std"]
[dev-dependencies]
criterion = "0.3"
[[bench]]
name = "bench_main"
harness = false