| Crates.io | nu-std |
| lib.rs | nu-std |
| version | 0.107.0 |
| created_at | 2023-04-25 21:20:40.112339+00 |
| updated_at | 2025-09-03 01:32:44.421316+00 |
| description | The standard library of Nushell |
| homepage | |
| repository | https://github.com/nushell/nushell/tree/main/crates/nu-std |
| max_upload_size | |
| id | 848840 |
| size | 288,246 |
The standard library is a pure-nushell collection of custom commands which
provide interactive utilities and building blocks for users writing casual scripts or complex applications.
To see what's here:
> use std
> scope commands | select name description | where name =~ "std "
#┬───────────name────────────┬───────────────────description───────────────────
0│std assert │Universal assert command
1│std assert equal │Assert $left == $right
2│std assert error │Assert that executing the code generates an error
3│std assert greater │Assert $left > $right
4│std assert greater or equal│Assert $left >= $right
... ...
─┴───────────────────────────┴─────────────────────────────────────────────────
All commands in the standard library must be "imported" into the running environment
(the interactive read-execute-print-loop (REPL) or a .nu script) using the
use command.
You can choose to import the whole module, but then must refer to individual commands with a std prefix, e.g:
use std
std log debug "Running now"
std assert (1 == 2)
Or you can enumerate the specific commands you want to import and invoke them without the std prefix.
use std ["log debug" assert]
log debug "Running again"
assert (2 == 1)
This is probably the form of import you'll want to add to your env.nu for interactive use.
You're invited to contribute to the standard library! See CONTRIBUTING.md for details