{"repo":"johanhelsing/bevy_pkv","free":true,"listed":false,"github":"https://github.com/johanhelsing/bevy_pkv","clone":"git clone https://github.com/johanhelsing/bevy_pkv.git","description":"Cross-platform (including wasm) persistent key value store plugin for rust games/apps","language":"Rust","stars":181,"topics":["bevy","key-value","persistence","rust","bevy-plugin","localstorage","sled","wasm"],"license":null,"category":"databases-storage","readme_excerpt":"bevy pkv bevy pkv is a cross-platform persistent key value store for rust apps. Use it for storing things like settings, save games etc. Currently, the Bevy dependency is optional, so it may be used in other games/apps as well. Usage with Bevy Add a store resource to your app This will create or load a store in the appropriate location for your system, and make it available to bevy systems: Using Custom Types You can also store and retrieve your own types that implement serde::Serialize and Deserialize : Persistent Resources For resources that should automatically persist when they change, use the convenient init persistent resource API: This automatically loads the resource from storage on startup and saves it whenever it changes! See the examples for further usage Usage without Bevy Disable the default features when adding the dependency: Implementation details Native redb and rmp serde (MessagePack) is used for storage. It's creating a bevy pkv.redb db in the appropriate application data directory for your system. Alternatively, disable default-features and enable the rocksdb feature to use a RocksDB-based implementation or sled feature to use sled db. Wasm Window.localStorage and serde json is used for storage. Perhaps IndexedDb and something else would have been a better choice, but its API is complicated, and I wanted a simple implementation and a simple synchronous API. Bevy version support The main branch targets the latest bevy release. bevy bevy\\ pkv ---- --- 0.19 0","default_branch":null,"files":null,"tree":[],"storefront":"/r/johanhelsing","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/johanhelsing/bevy_pkv/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}