12 releases (7 breaking)

0.100.0 Nov 13, 2024
0.98.0 Sep 18, 2024
0.96.1 Jul 29, 2024

#608 in Encoding

Download history 1573/week @ 2024-08-21 1048/week @ 2024-08-28 784/week @ 2024-09-04 798/week @ 2024-09-11 1729/week @ 2024-09-18 1198/week @ 2024-09-25 969/week @ 2024-10-02 1156/week @ 2024-10-09 2169/week @ 2024-10-16 1123/week @ 2024-10-23 1232/week @ 2024-10-30 989/week @ 2024-11-06 1766/week @ 2024-11-13 1009/week @ 2024-11-20 973/week @ 2024-11-27 779/week @ 2024-12-04

4,627 downloads per month
Used in 62 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

~22–52MB
~1M SLoC