p2panda-sync 0.7.0

Local-first sync for append-only logs and traits to build your own
Documentation

Data-type agnostic interfaces for implementing sync protocols and managers which can be used stand-alone or as part of the local-first stack provided by p2panda-net.

Users can implement two-party sync protocols over a Sink / Stream pair with the Protocol trait and a system for instantiating and orchestrating concurrent sync sessions with the Manager trait.

Concrete implementations for performing sync over p2panda append-only logs associated with a generic topic can be found in the manager and protocols modules.

For most high-level users p2panda-net will be the entry point into local-first development with p2panda. Interfaces in this crate are intended for cases where users want to integrate their own base convergent data-type and sync protocols as a module in the p2panda-net stack.

🚧 This library is under active development and the APIs are not yet considered stable for production use. Core data types and user-facing APIs may still undergo breaking changes. Stability guarantees will improve with the release of v1.0.0.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in p2panda by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


This project has received funding from the European Union’s Horizon 2020 research and innovation programme within the framework of the NGI-POINTER Project funded under grant agreement No 871528, NGI-ASSURE No 957073, NGI0-ENTRUST No 101069594 and NGI0-COMMONS No 101135429.