4 releases

0.94.2 Jun 3, 2024
0.94.1 May 30, 2024
0.94.0 May 28, 2024
0.93.0 Apr 30, 2024

#485 in Encoding

Download history 506/week @ 2024-04-25 987/week @ 2024-05-02 690/week @ 2024-05-09 520/week @ 2024-05-16 870/week @ 2024-05-23 1861/week @ 2024-05-30 854/week @ 2024-06-06 582/week @ 2024-06-13

4,244 downloads per month
Used in 30 crates (5 directly)

MIT and maybe CC-PDDC

22K SLoC


This crate provides serde-compatible types for implementing the Nushell plugin protocol. It is primarily used by the nu-plugin family of crates, but can also be used separately as well.

The specifics of I/O and serialization are not included in this crate. Use serde_json and/or rmp-serde (with the named serialization) to turn the types in this crate into data in the wire format.


Type definitions, including full Serialize and Deserialize implementations, for the protocol used for communication between the engine and a plugin.

See the plugin protocol reference for more details on what exactly is being specified here.

Plugins accept messages of PluginInput and send messages back of PluginOutput. This crate explicitly avoids implementing any functionality that depends on I/O, so the exact byte-level encoding scheme is not implemented here. See the protocol ref or nu_plugin_core for more details on how that works.


~1M SLoC