[package]
edition = "2024"
rust-version = "1.93"
name = "qsv"
version = "16.1.0"
authors = ["Joel Natividad <joel@datHere.com>"]
build = false
include = [
"src/**/*",
"LICENSE-MIT",
"UNLICENSE",
"README.md",
"CHANGELOG.md",
"resources/luau/vendor/luadate/date.lua",
"resources/describegpt_defaults.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A Blazing-Fast Data-wrangling toolkit."
homepage = "https://qsv.dathere.com"
documentation = "https://github.com/dathere/qsv#qsv-ultra-fast-csv-data-wrangling-toolkit"
readme = "README.md"
keywords = [
"csv",
"geocode",
"data-engineering",
"etl",
"opendata",
]
categories = [
"command-line-utilities",
"parser-implementations",
]
license = "MIT OR Unlicense"
repository = "https://github.com/dathere/qsv"
resolver = "3"
[package.metadata.deb]
maintainer = "Konstantin Sivakov <konstantin@datHere.com>"
copyright = "2024, datHere Inc. <www.dathere.com>"
extended-description = "A high performance CSV data-wrangling toolkit."
depends = "$auto"
section = "utility"
priority = "optional"
features = ["feature_capable"]
assets = [[
"target/release/qsv",
"/usr/local/bin/",
"755",
]]
[package.metadata.deb.variants.lite]
features = ["lite"]
assets = [[
"target/release/qsvlite",
"/usr/local/bin/",
"755",
]]
[package.metadata.deb.variants.datapusher_plus]
features = [
"datapusher_plus",
"luau",
]
assets = [[
"target/release/qsvdp",
"/usr/local/bin/",
"755",
]]
[features]
all_features = [
"distrib_features",
"magika",
"self_update",
"ui",
]
apply = [
"base62",
"base64-simd",
"censor",
"cpc",
"crc32fast",
"eudex",
"gender_guesser",
"qsv_vader_sentiment_analysis",
"strsim",
"thousands",
"titlecase",
"whatlang",
]
clipboard = ["arboard"]
color = [
"anstream",
"crossterm",
"terminal-colorsaurus",
"unicode-width",
]
datapusher_plus = [
"geocode",
"self_update",
]
default = ["mimalloc"]
distrib_features = [
"feature_capable",
"apply",
"fetch",
"foreach",
"geocode",
"luau",
"mcp",
"polars",
"python",
"to",
]
feature_capable = []
fetch = [
"console",
"flate2",
"governor",
"serde_urlencoded",
"sled",
]
foreach = []
geocode = [
"bytemuck",
"dns-lookup",
"geosuggest-core",
"geosuggest-utils",
"geozero",
"sled",
]
lens = ["csvlens"]
lite = []
luau = [
"mlua",
"sanitize-filename",
]
magika = [
"dep:magika",
"dep:ort",
]
mcp = []
nightly = [
"crc32fast/nightly",
"pyo3/nightly",
"rand/simd_support",
"simd-json/hints",
"foldhash/nightly",
]
nightly-polars = [
"polars/nightly",
"polars/simd",
]
polars = [
"dep:polars",
"bytemuck",
]
prompt = ["rfd"]
python = ["pyo3"]
to = ["csvs_convert"]
ui = [
"clipboard",
"color",
"prompt",
"lens",
]
[[bin]]
name = "qsv"
path = "src/main.rs"
test = true
doctest = false
bench = false
required-features = ["feature_capable"]
[[bin]]
name = "qsvlite"
path = "src/mainlite.rs"
test = true
doctest = false
bench = false
required-features = ["lite"]
[[bin]]
name = "qsvdp"
path = "src/maindp.rs"
test = true
doctest = false
bench = false
required-features = ["datapusher_plus"]
[dependencies.anstream]
version = "1.0"
optional = true
[dependencies.arboard]
version = "3.6.1"
optional = true
default-features = false
[dependencies.atoi_simd]
version = "0.17"
[dependencies.base62]
version = "2.2"
optional = true
[dependencies.base64-simd]
version = "0.8"
optional = true
[dependencies.bitvec]
version = "1"
[dependencies.blake3]
version = "1.8"
features = [
"rayon",
"mmap",
]
[dependencies.bytemuck]
version = "1.24"
features = ["latest_stable_rust"]
optional = true
[dependencies.byteorder]
version = "1.5"
[dependencies.bytes]
version = "1"
[dependencies.cached]
version = "0.56"
features = [
"ahash",
"disk_store",
"redis_ahash",
]
[dependencies.calamine]
version = "0.33"
features = ["chrono"]
[dependencies.censor]
version = "0.3"
optional = true
[dependencies.chrono]
version = "0.4"
default-features = false
[dependencies.chrono-tz]
version = "0.10"
[dependencies.console]
version = "0.16"
optional = true
[dependencies.const_format]
version = "0.2"
[dependencies.cpc]
version = "3"
optional = true
[dependencies.crc32fast]
version = "1.4"
optional = true
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.crossterm]
version = "0.29"
optional = true
[dependencies.csv]
version = "1.4"
[dependencies.csv-diff]
version = "0.1"
[dependencies.csv-index]
version = "0.1"
[dependencies.csv-nose]
version = "0.8"
features = ["runtime-dispatch-simd"]
default-features = false
[dependencies.csvlens]
version = "0.15"
features = ["clipboard"]
optional = true
default-features = false
[dependencies.csvs_convert]
version = "0.12"
features = ["converters"]
optional = true
default-features = false
[dependencies.directories]
version = "6.0"
[dependencies.dns-lookup]
version = "3"
optional = true
[dependencies.dotenvy]
version = "0.15"
[dependencies.dunce]
version = "1"
[dependencies.dynfmt2]
version = "0.3"
features = ["curly"]
default-features = false
[dependencies.eudex]
version = "0.1"
optional = true
[dependencies.ext-sort]
version = "0.1"
default-features = false
[dependencies.fast-float2]
version = "0.2"
[dependencies.file-format]
version = "0.28"
features = ["reader"]
[dependencies.filetime]
version = "0.2"
[dependencies.flate2]
version = "1"
optional = true
[dependencies.flexi_logger]
version = "0.31"
features = [
"async",
"compress",
"dont_minimize_extra_stacks",
]
default-features = false
[dependencies.foldhash]
version = "0.2"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.gender_guesser]
version = "0.2"
optional = true
[dependencies.geosuggest-core]
version = "0.8"
features = ["geoip2"]
optional = true
[dependencies.geosuggest-utils]
version = "0.8"
optional = true
[dependencies.geozero]
version = "0.15"
features = [
"with-csv",
"with-shp",
]
optional = true
[dependencies.governor]
version = "0.10"
optional = true
[dependencies.grex]
version = "1.4"
default-features = false
[dependencies.gzp]
version = "2"
features = ["snappy_default"]
default-features = false
[dependencies.hostname-validator]
version = "1.1"
[dependencies.human-panic]
version = "2"
[dependencies.iana-time-zone]
version = "0.1"
[dependencies.indexmap]
version = "2.13"
features = ["serde"]
[dependencies.indicatif]
version = "0.18"
[dependencies.itertools]
version = "0.14"
[dependencies.itoa]
version = "1"
[dependencies.jaq-core]
version = "2"
[dependencies.jaq-json]
version = "1"
features = ["serde_json"]
[dependencies.jaq-std]
version = "2"
[dependencies.json-objects-to-csv]
version = "0.1.3"
[dependencies.jsonschema]
version = "0.42"
features = [
"resolve-file",
"resolve-http",
"tls-aws-lc-rs",
]
default-features = false
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.magika]
version = "1.0"
optional = true
[dependencies.memmap2]
version = "0.9"
[dependencies.mimalloc]
version = "0.1"
features = [
"extended",
"v3",
]
optional = true
default-features = false
[dependencies.minijinja]
version = "2"
features = [
"json",
"loop_controls",
"speedups",
"stacker",
"urlencode",
]
[dependencies.minijinja-contrib]
version = "2"
features = [
"datetime",
"pycompat",
"rand",
"timezone",
"unicode_wordwrap",
"wordcount",
"wordwrap",
]
[dependencies.mlua]
version = "0.11"
features = [
"luau",
"luau-jit",
"serialize",
]
optional = true
[dependencies.num_cpus]
version = "1"
[dependencies.odht]
version = "0.3"
[dependencies.ort]
version = "2.0.0-rc.10"
features = ["download-binaries"]
optional = true
default-features = false
[dependencies.phf]
version = "0.13"
features = ["macros"]
[dependencies.polars]
version = "0.53"
features = [
"asof_join",
"avro",
"avx512",
"binary_encoding",
"business",
"coalesce",
"cross_join",
"cse",
"csv",
"decompress",
"diagonal_concat",
"dtype-full",
"extract_jsonpath",
"iejoin",
"ipc",
"json",
"lazy",
"list_eval",
"new_streaming",
"object",
"parquet",
"performant",
"pivot",
"rank",
"semi_anti_join",
"serde-lazy",
"strings",
"string_normalize",
"sql",
"timezones",
]
optional = true
[dependencies.pragmastat]
version = "8.0.0"
[dependencies.pyo3]
version = "0.28"
features = ["auto-initialize"]
optional = true
[dependencies.qsv-dateparser]
version = "0.13"
[dependencies.qsv-stats]
version = "0.45"
[dependencies.qsv-tabwriter]
version = "2"
[dependencies.qsv_currency]
version = "0.7"
[dependencies.qsv_docopt]
version = "1.9"
[dependencies.qsv_vader_sentiment_analysis]
version = "0.2"
optional = true
[dependencies.rand]
version = "0.10"
[dependencies.rand_hc]
version = "0.5"
[dependencies.rand_xoshiro]
version = "0.8"
[dependencies.rayon]
version = "1.11"
[dependencies.redis]
version = "1"
features = ["ahash"]
default-features = false
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.13"
features = [
"blocking",
"brotli",
"cookies",
"deflate",
"gzip",
"http2",
"json",
"rustls",
"stream",
"zstd",
]
default-features = false
[dependencies.rfd]
version = "0.17"
optional = true
[dependencies.rust_decimal]
version = "1.40"
default-features = false
[dependencies.sanitize-filename]
version = "0.6"
optional = true
[dependencies.self_update]
version = "0.42"
features = [
"archive-zip",
"compression-zip-deflate",
"rustls",
"signatures",
]
optional = true
default-features = false
[dependencies.semver]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["preserve_order"]
[dependencies.serde_urlencoded]
version = "0.7"
optional = true
[dependencies.simd-json]
version = "0.17"
[dependencies.simdutf8]
version = "0.1"
[dependencies.sled]
version = "0.34"
optional = true
[dependencies.smallvec]
version = "1"
[dependencies.snap]
version = "1"
[dependencies.strsim]
version = "0.11"
optional = true
[dependencies.strum]
version = "0.27"
features = ["phf"]
[dependencies.strum_macros]
version = "0.27"
[dependencies.sysinfo]
version = "0.38"
[dependencies.tempfile]
version = "3.25"
[dependencies.terminal-colorsaurus]
version = "1.0"
optional = true
[dependencies.textwrap]
version = "0.16"
features = ["terminal_size"]
[dependencies.thousands]
version = "0.2"
optional = true
[dependencies.threadpool]
version = "1.8"
[dependencies.titlecase]
version = "3"
optional = true
[dependencies.tokio]
version = "1"
features = [
"parking_lot",
"rt-multi-thread",
]
[dependencies.toml]
version = "1.0"
[dependencies.toon-format]
version = "0.4"
default-features = false
[dependencies.unicode-width]
version = "0.2"
optional = true
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1"
features = [
"v4",
"v7",
]
[dependencies.whatlang]
version = "0.18"
optional = true
[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh3"]
[dependencies.zip]
version = "7"
[dependencies.zmij]
version = "1.0"
[dev-dependencies.actix-governor]
version = "0.10"
[dev-dependencies.actix-web]
version = "4.12"
features = [
"compress-brotli",
"compress-gzip",
]
default-features = false
[dev-dependencies.assert-json-diff]
version = "2.0"
[dev-dependencies.newline-converter]
version = "0.3"
[dev-dependencies.quickcheck]
version = "1"
default-features = false
[dev-dependencies.serial_test]
version = "3.3"
features = ["file_locks"]
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 0
strip = true
[profile.release-nightly]
panic = "abort"
inherits = "release"
[profile.release-samply]
debug = 2
inherits = "release"
strip = false