[package]
name = "queryscript"
version = "0.1.4"
edition = "2021"
authors = [
"Ankur Goyal <ankrgyl@gmail.com>",
"Michael Andrews <09mandrews@gmail.com>",
]
description = "Queryscript is a SQL-based language that allows you to use higher order abstractions like variables, functions, and modules alongside SQL queries."
homepage = "https://github.com/qscl/queryscript"
repository = "https://github.com/qscl/queryscript"
readme = "../README.md"
license = "Apache-2.0"
keywords = ["sql", "bi"]
exclude = ["tests/**"]
[lib]
name = "queryscript"
path = "src/lib.rs"
[[bin]]
name = "qs"
path = "bin/qs.rs"
required-features = ["cli"]
[[bin]]
name = "qs-lsp"
path = "bin/lsp.rs"
required-features = ["lsp"]
[features]
default = ["cli", "all-engines"]
all-engines = ["clickhouse", "duckdb-bundled"]
multi-thread = ["tokio/rt-multi-thread"]
serde = ["dep:serde", "arrow-schema/serde", "half/serde"]
ts = ["serde", "dep:ts-rs"]
cli = ["clap", "home", "rustyline", "backtraces"]
lsp = [
"multi-thread",
"tokio/io-util",
"tokio/io-std",
"tokio/macros",
"tokio/fs",
"regex",
"serde_json",
"serde",
"tower-lsp",
]
backtraces = ["snafu/backtraces"]
duckdb-bundled = ["duckdb/bundled"]
clickhouse = ["dep:clickhouse-rs", "chrono-tz", "serde"]
[dependencies]
arrow = { version = "34", default-features = false, features = [
"csv",
"ffi",
"json",
"prettyprint",
] }
arrow-schema = { version = "34" }
arrow-buffer = { version = "34" }
arrow-cast = { version = "34" }
parquet = { version = "34" }
async-backtrace = "0.2"
async-trait = "0.1"
chrono = { version = "0.4.22", default-features = false }
colored = "2"
cxx = "1.0"
difference = "2.0"
dyn-clone = "1.0.9"
futures = "0.3"
half = { version = "2.1" }
lazy_static = "1.4.0"
object_store = "0.5.0"
regex = { version = "1", optional = true }
serde = { version = "1", optional = true }
serde_json = { version = "1", optional = true }
snafu = { version = "0.7.3" }
sqlparser = { path = "../sqlparser-rs", version = "0.32.0", package = "sqlparser-queryscript" }
strum = { version = "0.24", features = ["derive"] }
tabled = "0.10"
tokio = "1.25"
tower-lsp = { version = "0.17", optional = true }
ts-rs = { version = "6.2", optional = true }
unicase = "2.6.0"
url = "2.3.1"
duckdb = { path = "../duckdb-rs", version = "0.7.4", package = "duckdb-queryscript", features=["json", "httpfs", "parquet"] }
hashlink = { version = "0.8" }
clickhouse-rs = { version = "1.0.0-alpha.1", optional = true }
chrono-tz = { version = "0.5.3", optional = true }
clap = { version = "4.0", features = ["derive"], optional = true }
home = { version = "0.5.4", optional = true }
rustyline = { version = "10.0.0", optional = true }
[dev-dependencies]
sqllogictest = "0.10.0"
strum = { version = "0.24", features = ["derive"] }
walkdir = "2.3.2"
[build-dependencies]
cxx-build = "1.0"