0.126.0
版本发布时间: 2024-04-22 23:35:29
jqnatividad/qsv最新发布版本:0.134.0(2024-09-10 20:11:27)
🤖 Expanded Metadata Inferencing 🤖
describegpt
headlines this release, with its new ability to support other local Large Language Models (LLMs) using popular tools that serve them through APIs such as Ollama and Jan. This broadens the tool's utility in diverse AI environments. Beyond OpenAI, qsv can now use other popular LLMs like Llama 3, Mistral, and Gemma. It also unlocks expanded metadata inferencing capabilities in qsv pro.
Several commands got additional options: cat
with --no-headers
support in the rowskey
subcommand; excel
with new options like --error-format
and short --metadata
mode; and foreach
with a --dry-run
option. frequency
also got new options, including --unq-limit
for limiting unique counts, support for negative limits, and a --lmt-threshold
option for compiling comprehensive frequencies below a threshold. slice
now supports negative indices and new JSON output options, providing more flexibility in data slicing.
This is all rounded out with sqlp
improvements, including support for single-line comments in SQL scripts and a special SKIP_INPUT
value to skip input preprocessing when using table functions directly in Polars SQL (e.g. read_csv()
and read_parquet()
) - all while increasing performance thanks to the Polars engine being upgraded to 0.39.2.
New Features
-
cat
: Added--no-headers
support to therowskey
subcommand. -
describegpt
: Added compatibility for other local Large Language Models (LLMs) such as Ollama and Jan, broadening the tool's utility in diverse AI environments. -
excel
: Introduced new options in the excel command:--error-format
for better error handling and a short--metadata
JSON mode. -
foreach
: added a--dry-run
option, allowing users to preview the results of scripts without executing them. -
frequency
: New options added such as--unq-limit
for limiting unique counts; support for negative limits to only show frequencies >= abs(negative limit); and a--lmt-threshold
option to allow the compilation of comprehensive frequencies below the threshold - all providing more detailed control over frequency analysis. -
slice
: Support for negative indices to slice from the end and new JSON output options. -
sqlp
: sqlp now supports single-line comments and includes a special SKIP_INPUT value for more efficient data loading. The Polars engine has also been upgraded to 0.39.2, providing enhanced performance and stability.
Changes and Optimizations
-
Performance Enhancements: Microoptimizations in
datefmt
andvalidate
commands, and increased default length for--infer-len
insqlp
for improved performance. - Dependency Updates: Numerous updates including bumping Luau, jql-runner, pyo3, and other dependencies to enhance stability and security.
-
Benchmarks Added: New performance benchmarks for
sqlp
vs duckdb added to ensure there are no performance regressions between releases. Right now,sqlp
is faster thanduckdb
in most cases (thanks to Polars - see the latest TPC-H benchmarks), but we want to make sure that we keep it that way.
Security and Robustness
- Security Fixes: Updated rustls to fix a specific CVE, and other minor fixes to enhance the security and robustness of network and data processing features.
- Bug Fixes: Various bug fixes including improvements in error formatting in excel and robustness in fetch and fetchpost commands.
Added
-
cat
: add--no-headers
support to rowskey subcommand https://github.com/jqnatividad/qsv/pull/1762 -
describegpt
: add compatibility for other (local) LLMs (Ollama, Jan, etc.) by @rzmk in https://github.com/jqnatividad/qsv/pull/1761 -
excel
: add--error-format
option https://github.com/jqnatividad/qsv/pull/1721 -
excel
: add--metadata
short JSON mode https://github.com/jqnatividad/qsv/pull/1738 -
foreach
: add--dry-run
option https://github.com/jqnatividad/qsv/pull/1740 -
frequency
: add--unq-limit
option https://github.com/jqnatividad/qsv/pull/1763 -
frequency
: add support for negative--limit
s https://github.com/jqnatividad/qsv/pull/1765 -
frequency
: add--lmt-threshold
option https://github.com/jqnatividad/qsv/pull/1766 -
slice
: add support for negative--index
option values https://github.com/jqnatividad/qsv/pull/1726 -
slice
: implement--json
output option https://github.com/jqnatividad/qsv/pull/1729 -
sqlp
: added support for single-line comments in SQL scripts https://github.com/jqnatividad/qsv/commit/bb52bcee61d8ea980a2ab093315ead0c153517a5 -
sqlp
: added SKIP_INPUT special value to short-circuit input processing if the user wants to load input files directly using table functions (e.g. read_csv(), read_parquet(), etc.) https://github.com/jqnatividad/qsv/commit/fe850adb47f1d7aa7f6c3981e350646e7b0c7476 -
validate
: add--valid-output
option https://github.com/jqnatividad/qsv/pull/1730 - contrib: add sample Bashly completions implementation by @rzmk in https://github.com/jqnatividad/qsv/pull/1731
-
benchmarks
: addedsqlp
vsduckdb
benchmarks.
Changed
-
datefmt
: microoptimize formatting https://github.com/jqnatividad/qsv/commit/0ee27e768fdc08b7381094842d22b45940fd0a26 -
joinp
: adapt to breaking change in Polars 0.39 for lazyframe sort https://github.com/jqnatividad/qsv/commit/c625ca9f5aef59c736a837aaa4eeda7688403c37 -
sqlp
: change--infer-len
option default from 250 to 1000 for increased performance https://github.com/jqnatividad/qsv/commit/da1d215d803f8bfe400a7202feeecb8ae14239e9 -
validate
: microoptimizeto_json_instance()
https://github.com/jqnatividad/qsv/commit/c2e4a1c696300eea04cccacca33f6872622ec086 - bump Luau from 0.616 to 0.622 https://github.com/jqnatividad/qsv/commit/9216ec3a53767379662657f69c0076f4a52caaff
- build(deps): bump jql-runner from 7.1.6 to 7.1.7 by @dependabot in https://github.com/jqnatividad/qsv/pull/1711
- build(deps): bump pyo3 from 0.21.0 to 0.21.1 by @dependabot in https://github.com/jqnatividad/qsv/pull/1712
- build(deps): bump pyo3 from 0.21.1 to 0.21.2 by @dependabot in https://github.com/jqnatividad/qsv/pull/1750
- build(deps): bump strsim from 0.11.0 to 0.11.1 by @dependabot in https://github.com/jqnatividad/qsv/pull/1715
- build(deps): bump sysinfo from 0.30.7 to 0.30.8 by @dependabot in https://github.com/jqnatividad/qsv/pull/1716
- build(deps): bump sysinfo from 0.30.8 to 0.30.9 by @dependabot in https://github.com/jqnatividad/qsv/pull/1732
- build(deps): bump sysinfo from 0.30.9 to 0.30.10 by @dependabot in https://github.com/jqnatividad/qsv/pull/1735
- build(deps): bump sysinfo from 0.30.10 to 0.30.11 by @dependabot in https://github.com/jqnatividad/qsv/pull/1755
- build(deps): bump redis from 0.25.2 to 0.25.3 by @dependabot in https://github.com/jqnatividad/qsv/pull/1720
- build(deps): bump mlua from 0.9.6 to 0.9.7 by @dependabot in https://github.com/jqnatividad/qsv/pull/1724
- build(deps): bump reqwest from 0.12.2 to 0.12.3 by @dependabot in https://github.com/jqnatividad/qsv/pull/1725
- build(deps): bump reqwest from 0.12.3 to 0.12.4 by @dependabot in https://github.com/jqnatividad/qsv/pull/1759
- build(deps): bump anyhow from 1.0.81 to 1.0.82 by @dependabot in https://github.com/jqnatividad/qsv/pull/1733
- build(deps): bump robinraju/release-downloader from 1.9 to 1.10 by @dependabot in https://github.com/jqnatividad/qsv/pull/1734
- build(deps): bump chrono from 0.4.37 to 0.4.38 by @dependabot in https://github.com/jqnatividad/qsv/pull/1744
- bump polars from 0.38 to 0.39 https://github.com/jqnatividad/qsv/pull/1745
- build(deps): bump polars from 0.39.0 to 0.39.1 by @dependabot in https://github.com/jqnatividad/qsv/pull/1746
- build(deps): bump polars from 0.39.1 to 0.39.2 by @dependabot in https://github.com/jqnatividad/qsv/pull/1752
- build(deps): bump qsv-dateparser from 0.12.0 to 0.12.1 by @dependabot in https://github.com/jqnatividad/qsv/pull/1747
- build(deps): bump serde_json from 1.0.115 to 1.0.116 by @dependabot in https://github.com/jqnatividad/qsv/pull/1749
- build(deps): bump serde from 1.0.197 to 1.0.198 by @dependabot in https://github.com/jqnatividad/qsv/pull/1751
- build(deps): bump rustls from 0.22.3 to 0.22.4 by @dependabot in https://github.com/jqnatividad/qsv/pull/1758
- build(deps): bump simple-expand-tilde from 0.1.4 to 0.1.5 by @dependabot in https://github.com/jqnatividad/qsv/pull/1767
- build(deps): bump serial_test from 3.0.0 to 3.1.0 by @dependabot in https://github.com/jqnatividad/qsv/pull/1768
- build(deps): bump actions/setup-python from 5.0.0 to 5.1.0 by @dependabot in https://github.com/jqnatividad/qsv/pull/1769
- applied select clippy recommendations
- updated several indirect dependencies
- added several benchmarks for new/changed commands
- pin Rust nightly to 2024-04-15 - the same nightly that Polars 0.39 is pinned to
- bumped MSRV to 1.77.2
Fixed
- Make init_logger more robust https://github.com/jqnatividad/qsv/pull/1717
-
count
: empty CSVs count as zero also for polars. Fixes #1741 https://github.com/jqnatividad/qsv/pull/1742 -
excel
: fix #1682 by adding--error-format
option https://github.com/jqnatividad/qsv/issues/1689 -
fetch
&fetchpost
: more robust JSON response validation https://github.com/jqnatividad/qsv/commit/ebc7287cd929cc23629ee53c7d82e0b8984bc2b0 -
slice
: usewrite!
macro to get rid of GH Advanced Security lint https://github.com/jqnatividad/qsv/commit/c739097e20d526cb6f49ca69d76fed8b28adc029 -
sqlp
: fixed docopt defaults that were not being parsed correctly https://github.com/jqnatividad/qsv/commit/fe850adb47f1d7aa7f6c3981e350646e7b0c7476 -
deps
: bump h2 from 0.4.3 to 0.4.4 to fix HTTP2 Continuation Flood vulnerability https://github.com/jqnatividad/qsv/commit/6af0da27f4e4a0bb6d5563701c07c89ad00f76b8 -
deps
: bump rustls from 0.22.3 to 0.22.4 to fix https://nvd.nist.gov/vuln/detail/CVE-2024-32650 https://github.com/jqnatividad/qsv/pull/1758
Removed
-
fetch
&fetch post
: remove jsonxf crate; use serde_json to prettify JSON strings https://github.com/jqnatividad/qsv/pull/1727 -
reverse
: remove kludgy expansion of read/write buffers https://github.com/jqnatividad/qsv/commit/46095cdf57f65c5380251c5d59317053ae1f80c3
Full Changelog: https://github.com/jqnatividad/qsv/compare/0.125.0...0.126.0
1、 qsv-0.126.0-aarch64-apple-darwin.zip 123.65MB
2、 qsv-0.126.0-aarch64-unknown-linux-gnu.zip 14.8MB
3、 qsv-0.126.0-geocode-index.bincode 14.21MB
4、 qsv-0.126.0-geocode-index.bincode.cities15000 14.21MB
5、 qsv-0.126.0-geocode-index.bincode.cities15000.sz 5.62MB
6、 qsv-0.126.0-i686-pc-windows-msvc.zip 14.26MB
7、 qsv-0.126.0-i686-unknown-linux-gnu.zip 15.28MB
8、 qsv-0.126.0-x86_64-apple-darwin.zip 94.64MB
9、 qsv-0.126.0-x86_64-pc-windows-gnu.zip 32.02MB
10、 qsv-0.126.0-x86_64-pc-windows-msvc.zip 99.9MB
11、 qsv-0.126.0-x86_64-unknown-linux-gnu.zip 153.47MB
12、 qsv-0.126.0-x86_64-unknown-linux-musl.zip 58.65MB
13、 qsv-0.126.0.msi 33.17MB