[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]
tree-sitter.workspace = true
tree-sitter-ggsql = { workspace = true }
csscolorparser.workspace = true
palette.workspace = true
polars = { workspace = true, features = ["lazy", "sql"] }
polars-ops.workspace = true
duckdb = { workspace = true, optional = true }
arrow = { workspace = true, optional = true }
postgres = { workspace = true, optional = true }
rusqlite = { workspace = true, optional = true }
plotters = { workspace = true, optional = true }
serde.workspace = true
serde_json.workspace = true
clap.workspace = true
anyhow.workspace = true
thiserror.workspace = true
regex.workspace = true
chrono.workspace = true
rand.workspace = true
sprintf = "0.4"
const_format.workspace = true
uuid.workspace = true
axum = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["full"] }
tower-http = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
pyo3 = { workspace = true, optional = true }
[dev-dependencies]
jsonschema = "0.44"
proptest.workspace = true
ureq = "3"
[features]
default = ["duckdb", "sqlite", "vegalite", "ipc", "parquet", "builtin-data"]
ipc = ["polars/ipc"]
duckdb = ["dep:duckdb", "dep:arrow"]
polars-sql = ["polars/sql"]
parquet = ["polars/parquet"]
postgres = ["dep:postgres"]
sqlite = ["dep:rusqlite"]
vegalite = []
ggplot2 = []
builtin-data = []
python = ["dep:pyo3"]
rest-api = ["dep:axum", "dep:tokio", "dep:tower-http", "dep:tracing", "dep:tracing-subscriber", "duckdb", "vegalite"]
all-readers = ["duckdb", "postgres", "sqlite", "polars-sql"]
all-writers = ["vegalite", "ggplot2", "plotters"]
[package.metadata.packager]
product-name = "ggsql"
identifier = "com.ggsql.app"
category = "DeveloperTool"
publisher = "ggsql Team"
authors = ["ggsql Team"]
icons = ["../doc/assets/logo.png"]
license-file = "../LICENSE.md"
out-dir = "target/release/packager"
homepage = "https://ggsql.org/"
description = "SQL extension for declarative data visualization"
long-description = "ggsql extends SQL with a VISUALISE clause for declarative data visualization based on Grammar of Graphics principles. Combine SQL queries with visualization specifications to create charts directly from your data."
copyright = "Copyright (c) 2026 ggsql Team"
binaries = [
{ path = "ggsql", main = true },
]
resources = []