x5e / gink

Apache License 2.0
2 stars 0 forks source link

Overview

Gink is a versioned, eventually consistent, multi-paradigm database management system. It takes a "protocol-first" approach, which facilitates multiple implementations that can share data. This repository contains the protocol buffer definitions for the syncronization protocol, as well as two reference implementations: one in TypeScript and the other in Python.

TypeScript

npm install @x5e/gink

Or install from a CDN:

<!-- Get the latest version -->
<script src="https://cdn.jsdelivr.net/npm/@x5e/gink/content_root/generated/packed.min.js"></script>

<!-- Get a specific version -->
<script src="https://cdn.jsdelivr.net/npm/@x5e/gink@0.20240129.1706490080
/content_root/generated/packed.min.js"></script>

<script>
    // Make sure to access the modules using gink.module if you go through the CDN.
    const store = new gink.IndexedDbStore('example');
</script>

TypeScript Docs\ NPM Package\ \ The TypeScript implementation can be used in one of three modes:

Python

pip install gink

Python Docs\ PyPI Package\ \ I created the python implementation of Gink to be a testbed for new ideas and to provide the simplest expression of all the concepts in Gink. Well written python code can essentially serve as executable psudocode. Code written for this implementation has been biased in favor of readability and extensibility, rather than raw performance. For example, the code doesn't use async functions or multi-threading.