-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathCargo.toml
More file actions
83 lines (69 loc) · 1.95 KB
/
Cargo.toml
File metadata and controls
83 lines (69 loc) · 1.95 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
[package]
name = "ggsql"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description.workspace = true
[lib]
name = "ggsql"
path = "lib.rs"
[[bin]]
name = "ggsql"
path = "cli.rs"
[[bin]]
name = "ggsql-rest"
path = "rest.rs"
required-features = ["rest-api"]
[dependencies]
# Parsing
tree-sitter.workspace = true
tree-sitter-ggsql = { path = "../tree-sitter-ggsql" }
csscolorparser.workspace = true
# Data processing
polars.workspace = true
polars-ops.workspace = true
# Readers
duckdb = { workspace = true, optional = true }
arrow = { workspace = true, optional = true }
postgres = { workspace = true, optional = true }
sqlx = { workspace = true, optional = true }
rusqlite = { workspace = true, optional = true }
# Writers
plotters = { workspace = true, optional = true }
# Serialization
serde.workspace = true
serde_json.workspace = true
# CLI and error handling
clap.workspace = true
anyhow.workspace = true
thiserror.workspace = true
# Utilities
regex.workspace = true
chrono.workspace = true
const_format.workspace = true
uuid.workspace = true
# Web server (optional)
axum = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tower-http = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
# Python bindings (future)
pyo3 = { workspace = true, optional = true }
[dev-dependencies]
proptest.workspace = true
tower = { workspace = true }
[features]
default = ["duckdb", "sqlite", "vegalite"]
duckdb = ["dep:duckdb", "dep:arrow"]
postgres = ["dep:postgres"]
sqlite = ["dep:rusqlite"]
vegalite = []
ggplot2 = []
python = ["dep:pyo3"]
rest-api = ["dep:axum", "dep:tokio", "dep:tower-http", "dep:tracing", "dep:tracing-subscriber", "duckdb", "vegalite"]
all-readers = ["duckdb", "postgres", "sqlite"]
all-writers = ["vegalite", "ggplot2", "plotters"]