[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"
[dependencies]
tree-sitter.workspace = true
tree-sitter-ggsql = { workspace = true }
csscolorparser.workspace = true
palette.workspace = true
polars = { workspace = true, features = [
"lazy",
"cum_agg",
"dtype-full",
"timezones",
] }
polars-ops.workspace = true
duckdb = { workspace = true, optional = true }
arrow = { workspace = true, optional = true }
postgres = { workspace = true, optional = true }
rusqlite = { workspace = true, optional = true }
odbc-api = { workspace = true, optional = true }
toml_edit = { 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
pyo3 = { workspace = true, optional = true }
[dev-dependencies]
jsonschema = "0.44"
proptest.workspace = true
tempfile = "3.8"
ureq = "3"
[features]
default = ["duckdb", "sqlite", "vegalite", "ipc", "parquet", "builtin-data", "odbc"]
ipc = ["polars/ipc"]
duckdb = ["dep:duckdb", "dep:arrow"]
parquet = ["polars/parquet"]
postgres = ["dep:postgres"]
sqlite = ["dep:rusqlite"]
odbc = ["dep:odbc-api", "dep:toml_edit"]
vegalite = []
ggplot2 = []
builtin-data = []
python = ["dep:pyo3"]
all-readers = ["duckdb", "postgres", "sqlite", "odbc"]
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 },
{ path = "ggsql-jupyter", main = false },
]
resources = []