Crates.io | ergot-base |
lib.rs | ergot-base |
version | 0.9.1 |
created_at | 2025-06-17 08:55:32.441592+00 |
updated_at | 2025-08-18 13:13:37.429168+00 |
description | Eloquence in messaging |
homepage | |
repository | https://github.com/jamesmunns/ergot |
max_upload_size | |
id | 1715432 |
size | 287,947 |
ergot-base
Ergot is a messaging library that can run on a variety of differently sized devices, from large desktop/server PCs down to very small single core microcontrollers.
Ergot allows developers to enjoy a coherent network of devices, regardless of the size of devices, or transport mediums used to connect them.
It includes type-safe sockets, addressing, and routing. In minimal MCU-sized configurations, it requires no allocator, and is no_std
friendly. In larger PC-sized configurations, allocations may be used for performance and convenience.
Ergot has grown out of the lessons of the postcard
and postcard-rpc
projects, and aims to (eventually) supercede postcard-rpc
in functionality, with further inspiration from AppleTalk, an OSI-model protocol stack used on Mac computers in the late 80s and early 90s.
Ergot is still very early in development. Bugs are expected. Help is welcome.
ergot
and ergot-base
Ergot is split into two parts:
ergot-base
is the core of messaging functionality, but is not intended to be used directly by end usersergot
extends ergot-base
, and currently provides a postcard-rpc
-influenced set of capabilitiesMost users should use ergot
and not ergot-base
. The split is to keep ergot-base
stable as I iterate on the behavior of sockets in ergot
.
The name "ergot" (pronounced "ur-get", or more specifically /ˈɜːrɡət/, UR-gət) comes from the Ergot fungus, a parasitic fungus that grows on grains such as rye, produces Lysergic Acid, the precursor of LSD.
This name was chosen in line with the naming theme of the mycelium project.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.