ggsql 0.4.0

A declarative visualization language that extends SQL with powerful data visualization capabilities.
[package]
name = "ggsql"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description.workspace = true

[lib]
name = "ggsql"
path = "lib.rs"

[dependencies]
# Parsing
tree-sitter.workspace = true
tree-sitter-ggsql = { workspace = true }
csscolorparser.workspace = true

# Color interpolation
palette.workspace = true

# Arrow (core data container)
arrow = { workspace = true }

# Readers
duckdb = { workspace = true, optional = true }
rusqlite = { workspace = true, optional = true }
toml_edit = { workspace = true, optional = true }
libloading = { workspace = true, optional = true }
parquet = { workspace = true, optional = true }
bytes = { workspace = true }

# ADBC reader
adbc_core = { version = "0.23", optional = true }

# Spatial
geozero = { workspace = true, optional = true, features = ["with-wkb", "with-wkt", "with-geojson"] }

# Serialization
serde.workspace = true
serde_json.workspace = true

# Error handling
thiserror.workspace = true

# Utilities
regex.workspace = true
chrono.workspace = true
rand.workspace = true
sprintf = "0.4"
const_format.workspace = true
uuid.workspace = true

[dev-dependencies]
jsonschema = { version = "0.44", default-features = false, features = ["resolve-file"] }
tempfile = "3.8"
ureq = "3"
adbc_datafusion = "0.23"
adbc_driver_manager = "0.23"

[features]
default = ["adbc", "duckdb", "sqlite", "vegalite", "parquet", "builtin-data", "odbc", "spatial"]
duckdb = ["dep:duckdb"]
parquet = ["dep:parquet"]
sqlite = ["dep:rusqlite"]
adbc = ["dep:adbc_core"]
odbc = ["dep:toml_edit", "dep:libloading"]
spatial = ["dep:geozero", "rusqlite?/load_extension"]
vegalite = []
builtin-data = []
all-readers = ["duckdb", "sqlite", "odbc"]