11 releases (6 breaking)

0.99.1 Oct 20, 2024
0.98.0 Sep 18, 2024
0.96.1 Jul 29, 2024

#416 in Encoding

Download history 633/week @ 2024-07-11 973/week @ 2024-07-18 1590/week @ 2024-07-25 890/week @ 2024-08-01 710/week @ 2024-08-08 1124/week @ 2024-08-15 1184/week @ 2024-08-22 1048/week @ 2024-08-29 814/week @ 2024-09-05 1133/week @ 2024-09-12 1364/week @ 2024-09-19 1242/week @ 2024-09-26 938/week @ 2024-10-03 1433/week @ 2024-10-10 1984/week @ 2024-10-17 829/week @ 2024-10-24

5,355 downloads per month
Used in 60 crates (5 directly)

MIT and maybe CC-PDDC

1MB
25K SLoC

nu-plugin-protocol

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.


lib.rs:

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.

Dependencies

~21–51MB
~1M SLoC