[package]
edition = "2021"
rust-version = "1.75.0"
name = "prqlc"
version = "0.13.12"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement."
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/PRQL/prql"
[package.metadata]
msrv = "1.75.0"
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "../packages/snap/snapcraft.yaml"
replace = 'version: "{{version}}"'
search = '^version: "[\d.]+"$'
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "../../web/book/src/project/target.md"
replace = 'prql version:"{{prev_version}}"'
search = 'prql version:"[\d.]+"'
[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "../../CHANGELOG.md"
replace = """
# PRQL Changelog
## [unreleased]
**Language**:
**Features**:
**Fixes**:
**Documentation**:
**Web**:
**Integrations**:
**Internal changes**:
**New Contributors**:
"""
search = """
# PRQL Changelog
"""
[features]
cli = [
"anyhow",
"clap_complete_command",
"clap",
"clio",
"color-eyre",
"colorchoice-clap",
"is-terminal",
"minijinja",
"notify",
"serde_yaml",
"walkdir",
]
default = ["cli"]
lsp = [
"lsp-server",
"lsp-types",
]
serde_yaml = [
"prqlc-parser/serde_yaml",
"dep:serde_yaml",
]
test-dbs = [
"rusqlite",
"duckdb",
"connector_arrow",
"connector_arrow/src_rusqlite",
"connector_arrow/src_duckdb",
]
test-dbs-external = [
"test-dbs",
"postgres",
"mysql",
"tiberius",
"futures",
"tokio",
"tokio-util",
"connector_arrow/src_mysql",
"connector_arrow/src_postgres",
"connector_arrow/src_tiberius",
]
[lib]
name = "prqlc"
path = "src/lib.rs"
bench = false
[[bin]]
name = "prqlc"
path = "src/main.rs"
bench = false
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[[bench]]
name = "bench"
path = "benches/bench.rs"
harness = false
[dependencies.anstream]
version = "1.0.0"
features = ["auto"]
[dependencies.ariadne]
version = "0.5.1"
[dependencies.chrono]
version = "0.4"
[dependencies.csv]
version = "1.4.0"
[dependencies.enum-as-inner]
version = "0.7.0"
[dependencies.itertools]
version = "0.14.0"
[dependencies.log]
version = "0.4.29"
[dependencies.lsp-server]
version = "0.7.9"
optional = true
[dependencies.lsp-types]
version = "0.97.0"
optional = true
[dependencies.prqlc-parser]
version = "0.13.12"
[dependencies.regex]
version = "1.12.3"
[dependencies.schemars]
version = "1.2.1"
[dependencies.semver]
version = "1.0.28"
features = ["serde"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.serde_yaml]
version = "0.9.34"
optional = true
[dependencies.sqlformat]
version = "0.3.5"
[dependencies.sqlparser]
version = "0.60.0"
features = ["serde"]
default-features = false
[dependencies.strum]
version = "0.28.0"
features = [
"std",
"derive",
]
[dependencies.strum_macros]
version = "0.28.0"
[dev-dependencies.glob]
version = "0.3.3"
[dev-dependencies.insta]
version = "1.47.2"
features = [
"colors",
"glob",
"yaml",
"filters",
]
[dev-dependencies.insta-cmd]
version = "0.6.0"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.similar]
version = "2.7.0"
[dev-dependencies.similar-asserts]
version = "1.7.0"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.test_each_file]
version = "0.3.7"
[build-dependencies.vergen-gitcl]
version = "1.0.0"
features = ["build"]
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.8.2"
default-features = false
[target.'cfg(not(target_family="wasm"))'.dependencies.anyhow]
version = "1.0.102"
features = ["backtrace"]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.clap]
version = "4.5.61"
features = [
"derive",
"env",
"wrap_help",
]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.clap_complete_command]
version = "0.5.1"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.clio]
version = "0.3.3"
features = ["clap-parse"]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.color-eyre]
version = "0.6.5"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.colorchoice-clap]
version = "1.0.0"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.connector_arrow]
version = "0.11.0"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.duckdb]
version = "1.10501.0"
features = [
"bundled",
"chrono",
]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.futures]
version = "0.3.32"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.is-terminal]
version = "0.4.17"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.minijinja]
version = "2.19.0"
features = ["unstable_machinery"]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.mysql]
version = "28"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.notify]
version = "7.0.0"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.postgres]
version = "0.19.10"
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.rusqlite]
version = "0.39.0"
features = [
"bundled",
"csvtab",
]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.tiberius]
version = "0.12.3"
features = [
"sql-browser-tokio",
"bigdecimal",
"time",
"rustls",
"tds73",
]
optional = true
default-features = false
[target.'cfg(not(target_family="wasm"))'.dependencies.tokio]
version = "1.51.1"
features = ["full"]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.tokio-util]
version = "0.7.18"
features = ["compat"]
optional = true
[target.'cfg(not(target_family="wasm"))'.dependencies.walkdir]
version = "2.5.0"
optional = true
[lints.clippy]
result_large_err = "allow"
[lints.rust]
unsafe_code = "forbid"