nushell/crates
Devyn Cairns 7de513a4e0
Implement streaming I/O for CSV and TSV commands (#12918)
# Description

Implements streaming for:

- `from csv`
- `from tsv`
- `to csv`
- `to tsv`

via the new string-typed ByteStream support.

# User-Facing Changes
Commands above. Also:

- `to csv` and `to tsv` now have `--columns <List(String)>`, to provide
the exact columns desired in the output. This is required for them to
have streaming output, because otherwise collecting the entire list is
necessary to determine the output columns. If we introduce
`TableStream`, this may become less necessary.

# Tests + Formatting
- 🟢 `toolkit fmt`
- 🟢 `toolkit clippy`
- 🟢 `toolkit test`
- 🟢 `toolkit test stdlib`

# After Submitting
- [ ] release notes

---------

Co-authored-by: Ian Manske <ian.manske@pm.me>
2024-05-22 16:55:24 +00:00
..
nu_plugin_custom_values Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_example Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu_plugin_formats Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_gstat Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_inc Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_nu_example Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_polars Remove dataframes crate and feature (#12889) 2024-05-20 17:22:08 +00:00
nu_plugin_python Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_query Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu_plugin_stress_internals Upgrade to interprocess 2.0.0 (#12729) 2024-05-02 22:31:33 -07:00
nu-cli Remove unused dependencies (#12917) 2024-05-21 01:09:28 +00:00
nu-cmd-base Implement PWD recovery (#12779) 2024-05-10 11:06:33 -05:00
nu-cmd-extra Make get_full_help take &dyn Command (#12903) 2024-05-19 19:56:33 +02:00
nu-cmd-lang Bump shadow-rs from 0.27.1 to 0.28.0 (#12932) 2024-05-22 15:59:33 +08:00
nu-cmd-plugin Make get_full_help take &dyn Command (#12903) 2024-05-19 19:56:33 +02:00
nu-color-config Replace ExternalStream with new ByteStream type (#12774) 2024-05-16 07:11:18 -07:00
nu-command Implement streaming I/O for CSV and TSV commands (#12918) 2024-05-22 16:55:24 +00:00
nu-engine Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-explore explore: consolidate padding config, handle ByteStream, tweak naming+comments (#12915) 2024-05-20 22:03:21 +02:00
nu-glob Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-json Minimize future false positive typos (#12751) 2024-05-04 15:00:44 +00:00
nu-lsp Use CommandType in more places (#12832) 2024-05-18 23:37:31 +00:00
nu-parser Use CommandType in more places (#12832) 2024-05-18 23:37:31 +00:00
nu-path Fix trailing slash in PWD set by cd (#12760) 2024-05-04 12:38:37 +03:00
nu-plugin Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-plugin-core Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-plugin-engine Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-plugin-protocol Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-plugin-test-support Replace ExternalStream with new ByteStream type (#12774) 2024-05-16 07:11:18 -07:00
nu-pretty-hex Add string/binary type color to ByteStream (#12897) 2024-05-20 00:35:32 +00:00
nu-protocol Remove unused dependencies (#12917) 2024-05-21 01:09:28 +00:00
nu-std Add completer for std help (#12929) 2024-05-21 10:31:14 -05:00
nu-system Add support for the ps command on FreeBSD, NetBSD, and OpenBSD (#12892) 2024-05-22 08:13:45 -07:00
nu-table Avoid taking unnecessary ownership of intermediates (#12740) 2024-05-04 00:53:15 +00:00
nu-term-grid Bump version to 0.93.1 (#12710) 2024-05-01 17:19:20 -05:00
nu-test-support Exclude polars from ensure_plugins_built(), for performance reasons (#12896) 2024-05-17 15:04:59 +00:00
nu-utils overhaul shell_integration to enable individual control over ansi escape sequences (#12629) 2024-05-02 09:56:50 -04:00
nuon Shrink Value by boxing Range/Closure (#12784) 2024-05-09 08:10:58 +08:00
README.md Remove old nushell/merge engine-q 2022-02-07 14:54:06 -05:00

Nushell core libraries and plugins

These sub-crates form both the foundation for Nu and a set of plugins which extend Nu with additional functionality.

Foundational libraries are split into two kinds of crates:

  • Core crates - those crates that work together to build the Nushell language engine
  • Support crates - a set of crates that support the engine with additional features like JSON support, ANSI support, and more.

Plugins are likewise also split into two types:

  • Core plugins - plugins that provide part of the default experience of Nu, including access to the system properties, processes, and web-connectivity features.
  • Extra plugins - these plugins run a wide range of different capabilities like working with different file types, charting, viewing binary data, and more.