#rpc #async #network #microservices #api


provides ergonomic abstractions for network communication and more

16 unstable releases (3 breaking)

0.3.3 Jul 23, 2022
0.3.2 Jun 2, 2022
0.2.5 May 18, 2022
0.2.4 Mar 24, 2022
0.0.6 Dec 29, 2021

#1474 in Network programming

Download history 78/week @ 2023-02-15 18/week @ 2023-02-22 10/week @ 2023-03-01 10/week @ 2023-03-08 43/week @ 2023-03-15 12/week @ 2023-03-29 23/week @ 2023-04-05 31/week @ 2023-04-12 2/week @ 2023-04-19 11/week @ 2023-04-26 19/week @ 2023-05-03 19/week @ 2023-05-10 1/week @ 2023-05-17 5/week @ 2023-05-24 23/week @ 2023-05-31

63 downloads per month
Used in 4 crates

MIT license



Canary is a distributed systems library for making communications through the network easier.

Canary logo

Canary is a distributed systems and communications framework, focusing on minimalism, ease of use and performance.

Please make sure that you use Serialize and Deserialize from Canary, since custom implementations will be made to improve efficiency and wire cost.


Notable features of Canary:

  • Seamless encryption
  • Wasm support
  • Composable


If you'd like to contribute to the project, please tell us at the discord, in which we'll teach you about how the code is organized, and how you can contribute.

Projects that use Canary

Does your project use Canary? Don't be afraid to list it here!



Canary is a library for making communication through the network easy. It abstracts over network primitives such as streams and provides constructs that are easier to use such as Channel.

The main constructs offered by Canary are:

  • Channels
  • Providers

Channels help communicate through the network, and providers help create endpoints through which you can get Channels.

The crate is well-documented, but if you need any examples you should use the book, and additional questions should be asked in the discord


~269K SLoC