Nushell isn’t exactly a shell, at least not in the traditional Unix sense of the word. Nushell is trying to answer the question: “what if we asked more of our shells?” — The case for Nushell
With recent support for data frames, it becomes an interesting challenger for tiny on-the-fly data wrangling scripts. Beware that it relies on polars-arrow which (most of the time) require a recent stable Rust. Also, if you encounter an E0034 (“multiple applicable items in scope”) when compiling polars-related dependencies, try adding --locked
to cargo install
. When you’re done, enjoy the power of data frames right into your shell!
With my last timing for processing a 30 Mb CSV file, loading the file in Nu shell is a breeze:
~/tmp> timeit {dfr open ./nycflights.csv}
70ms 682µs 766ns
~/tmp> timeit {open ./nycflights.csv}
1sec 194ms 477µs 961ns
First instruction uses dfr open
while the second instruction relies on builtin open
command.