diff --git a/README.md b/README.md index 02162482a..0cb744644 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ | [join](/src/cmd/join.rs#L2) | Inner, outer, right, cross, anti & semi joins. Automatically creates a simple, in-memory hash index to make it fast. | | [joinp](/src/cmd/joinp.rs#L2)
✨🚀🐻‍❄️ | Inner, outer, cross, anti, semi & asof joins using the [Pola.rs](https://www.pola.rs) engine. Unlike the `join` command, `joinp` can process files larger than RAM, is multi-threaded, has join key validation, pre-join filtering, supports [asof joins](https://pola-rs.github.io/polars/py-polars/html/reference/dataframe/api/polars.DataFrame.join_asof.html) & its output doesn't have duplicate columns. However, `joinp` doesn't have an --ignore-case option & it doesn't support right outer joins. | | [jsonl](/src/cmd/jsonl.rs#L2) | Convert newline-delimited JSON ([JSONL](https://jsonlines.org/)/[NDJSON](http://ndjson.org/)) to CSV. See `tojsonl` command to convert CSV to JSONL. -|
[luau](/src/cmd/luau.rs#L2) 👑
✨📇🌐 ![CKAN](docs/images/ckan.png) | Create multiple new computed columns, filter rows, compute aggregations and build complex data pipelines by executing a [Luau](https://luau-lang.org) [0.601](https://github.com/Roblox/luau/releases/tag/0.601) expression/script for every row of a CSV file ([sequential mode](https://github.com/jqnatividad/qsv/blob/bb72c4ef369d192d85d8b7cc6e972c1b7df77635/tests/test_luau.rs#L254-L298)), or using [random access](https://www.webopedia.com/definitions/random-access/) with an index ([random access mode](https://github.com/jqnatividad/qsv/blob/bb72c4ef369d192d85d8b7cc6e972c1b7df77635/tests/test_luau.rs#L367-L415)).
Can process a single Luau expression or [full-fledged data-wrangling scripts using lookup tables](https://github.com/dathere/qsv-lookup-tables#example) with discrete BEGIN, MAIN and END sections.
It is not just another qsv command, it is qsv's [Domain-specific Language](https://en.wikipedia.org/wiki/Domain-specific_language) (DSL) with [numerous qsv-specific helper functions](https://github.com/jqnatividad/qsv/blob/113eee17b97882dc368b2e65fec52b86df09f78b/src/cmd/luau.rs#L1356-L2290) to build production data pipelines. | +|
[luau](/src/cmd/luau.rs#L2) 👑
✨📇🌐 ![CKAN](docs/images/ckan.png) | Create multiple new computed columns, filter rows, compute aggregations and build complex data pipelines by executing a [Luau](https://luau-lang.org) [0.603](https://github.com/Roblox/luau/releases/tag/0.603) expression/script for every row of a CSV file ([sequential mode](https://github.com/jqnatividad/qsv/blob/bb72c4ef369d192d85d8b7cc6e972c1b7df77635/tests/test_luau.rs#L254-L298)), or using [random access](https://www.webopedia.com/definitions/random-access/) with an index ([random access mode](https://github.com/jqnatividad/qsv/blob/bb72c4ef369d192d85d8b7cc6e972c1b7df77635/tests/test_luau.rs#L367-L415)).
Can process a single Luau expression or [full-fledged data-wrangling scripts using lookup tables](https://github.com/dathere/qsv-lookup-tables#example) with discrete BEGIN, MAIN and END sections.
It is not just another qsv command, it is qsv's [Domain-specific Language](https://en.wikipedia.org/wiki/Domain-specific_language) (DSL) with [numerous qsv-specific helper functions](https://github.com/jqnatividad/qsv/blob/113eee17b97882dc368b2e65fec52b86df09f78b/src/cmd/luau.rs#L1356-L2290) to build production data pipelines. | | [partition](/src/cmd/partition.rs#L2) | Partition a CSV based on a column value. | | [pseudo](/src/cmd/pseudo.rs#L2) | [Pseudonymise](https://en.wikipedia.org/wiki/Pseudonymization) the value of the given column by replacing them with an incremental identifier. | | [py](/src/cmd/python.rs#L2)
✨ | Create a new computed column or filter rows by evaluating a python expression on every row of a CSV file. Python's [f-strings](https://www.freecodecamp.org/news/python-f-strings-tutorial-how-to-use-f-strings-for-string-formatting/) is particularly useful for extended formatting, [with the ability to evaluate Python expressions as well](https://github.com/jqnatividad/qsv/blob/4cd00dca88addf0d287247fa27d40563b6d46985/src/cmd/python.rs#L23-L31). | diff --git a/docs/INTERPRETERS.md b/docs/INTERPRETERS.md index a7ecf99fb..e367cf04e 100644 --- a/docs/INTERPRETERS.md +++ b/docs/INTERPRETERS.md @@ -14,7 +14,7 @@ As date manipulation is often needed, the [LuaDate](https://tieske.github.io/dat Finally, as [qsv's DSL](../README.md#luau_deeplink) (👑), `luau` will gain even more features over time compared to the `python` feature. -[Luau 0.601](https://github.com/Roblox/luau/releases/tag/0.601) is currently embedded - qsv's policy is to use the latest stable Luau version at the time of each qsv release. +[Luau 0.603](https://github.com/Roblox/luau/releases/tag/0.603) is currently embedded - qsv's policy is to use the latest stable Luau version at the time of each qsv release. ## Python diff --git a/src/cmd/luau.rs b/src/cmd/luau.rs index bf96fc2b4..cbbe35f07 100644 --- a/src/cmd/luau.rs +++ b/src/cmd/luau.rs @@ -1,6 +1,6 @@ static USAGE: &str = r#" Create multiple new computed columns, filter rows or compute aggregations by -executing a Luau 0.601 script for every row (SEQUENTIAL MODE) or for +executing a Luau 0.603 script for every row (SEQUENTIAL MODE) or for specified rows (RANDOM ACCESS MODE) of a CSV file. Luau is not just another qsv command. It is qsv's Domain-Specific Language (DSL)