query-forge 0.9.0

Run SQL queries and dataset diffs on XLSX/XML/CSV/JSON/JSONL/Markdown/HTML/Feather/Parquet inputs and export results as text, CSV, JSONL, Markdown, XML, HTML, XLSX, Feather, or Parquet
Documentation
[package]

name = "query-forge"

version = "0.9.0"

description = "Run SQL queries and dataset diffs on XLSX/XML/CSV/JSON/JSONL/Markdown/HTML/Feather/Parquet inputs and export results as text, CSV, JSONL, Markdown, XML, HTML, XLSX, Feather, or Parquet"

edition = "2024"

rust-version = "1.85"

default-run = "qf"

authors = ["Daniele Olmisani <daniele.olmisani@gmail.com>"]

license = "MIT"

readme = "README.md"

repository = "https://github.com/mad4j/query-forge"

homepage = "https://github.com/mad4j/query-forge"

documentation = "https://docs.rs/query-forge"

keywords = ["xlsx", "sql", "cli", "sqlite", "parquet"]

categories = ["command-line-utilities", "database"]

include = [

	"src/**",

	"examples/**",

	"scripts/**",

	"resources/**",

	"build.rs",

	"README.md",

	"LICENSE",

	"Cargo.toml",

]



[[bin]]

name = "qf"

path = "src/main.rs"



[dependencies]

anyhow = "1.0.103"

arboard = "3.6.1"

calamine = "0.35.0"

clap = { version = "4.6.1", features = ["derive"] }

clap_complete = "4.6.7"

clap_mangen = "0.3.0"

csv = "1.4.0"

chrono = { version = "0.4.39", default-features = false, features = ["std"] }

parquet = { version = "53", default-features = false }

rusqlite = { version = "0.40.1", features = ["bundled"] }

rust_xlsxwriter = "0.96.0"

roxmltree = "0.21.1"

scraper = "0.27.0"

serde_json = "1.0.145"

regex = { version = "1.12.2", default-features = false, features = ["std", "perf", "unicode-case", "unicode-perl"] }

arrow-array = "53.4.1"

arrow-ipc = "53.4.1"

arrow-schema = "53.4.1"

arrow-cast = "53.4.1"



[build-dependencies]

ico = "0.4.0"

image = { version = "0.25.6", default-features = false, features = ["png"] }

winres = "0.1.12"



[dev-dependencies]

criterion = { version = "0.5", features = ["html_reports"] }



[[bench]]

name = "bench_formats"

harness = false



[profile.release]

# Optimise for smallest binary size; use "s" if runtime performance regresses

# unacceptably (verified via `cargo bench`).

opt-level = "z"

# Thin LTO removes dead code across crate boundaries with reasonable compile times.

lto = "thin"

# Single codegen unit is required for maximum LTO effectiveness.

codegen-units = 1

# Abort on panic instead of unwinding: removes panic-formatting machinery and

# unwind tables from the binary. Suitable for a CLI that exits on unrecoverable

# errors; not recommended for libraries that callers may need to catch panics from.

panic = "abort"

# Strip debug symbols from the final binary (debug info is in separate .pdb/.dSYM

# on platforms that support split-DWARF; this setting is safe for release builds).

strip = "symbols"