prql-compiler 0.9.3

PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement.
Documentation
[package]
description = "PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement."
name = "prql-compiler"

edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

metadata.msrv = "1.65.0"

[features]
default = []
# Technically tokio could be limited to external tests, but its types are in
# signatures which would require lots of conditional compilation.
test-dbs = ["duckdb", "rusqlite", "tokio"]
test-dbs-external = ["chrono", "duckdb", "mysql", "pg_bigdecimal", "postgres", "rusqlite", "tiberius", "tokio", "tokio-util"]

[dependencies]
prql-ast = {path = "../prql-ast", version = "0.9.3" }
prql-parser = {path = "../prql-parser", version = "0.9.3" }

anstream = {version = "0.3.2", features = ["auto"]}
anyhow = {version = "1.0.57", features = ["backtrace"]}
ariadne = "0.3.0"
csv = "1.2.0"
enum-as-inner = "0.6.0"
itertools = "0.11.0"
log = "0.4.17"
once_cell = "1.18.0"
regex = "1.9.0"
semver = {version = "1.0.14", features = ["serde"]}
# We could put `serde` behind a feature if needed.
serde = {version = "1.0.137", features = ["derive"]}
serde_json = "1.0.81"
sqlformat = "0.2.1"
sqlparser = {version = "0.36.0", features = ["serde"]}
strum = {version = "0.25.0", features = ["std", "derive"]}
strum_macros = "0.25.0"

serde_yaml = {version = "0.9", optional = true}

[target.'cfg(not(target_family="wasm"))'.dependencies]
# For integration tests. These are not listed as dev-dependencies because
# dev-dependencies can't be optional.
chrono = {version = "0.4", optional = true, features = [], default-features = false}
duckdb = {version = "0.8.1", optional = true, features = ["bundled", "chrono"]}
mysql = {version = "24", optional = true}
pg_bigdecimal = {version = "0.1", optional = true}
postgres = {version = "0.19", optional = true}
rusqlite = {version = "0.29.0", optional = true, features = ["bundled", "csvtab"]}
tiberius = {version = "0.12", optional = true, features = ["sql-browser-tokio", "bigdecimal", "time"]}
tokio = {version = "1", optional = true, features = ["full"]}
tokio-util = {version = "0.7", optional = true, features = ["compat"]}

[dev-dependencies]
cfg-if = "1.0"
insta = {version = "1.31", features = ["colors", "glob", "yaml"]}
similar-asserts = "1.4.2"

[target.'cfg(not(target_family="wasm"))'.dev-dependencies]
criterion = {version = "0.5.1"}

[[bench]]
harness = false
name = "bench"

# Putting this in the workspace root causes it to refer to the path relative
# to `prql-compiler`, so we choose this crate out of default.

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "../../web/book/src/project/target.md"
replace = 'prql version:"{{version}}"'
search = 'prql version:"[\d.]+"'