Skip to content
Go to file

Latest commit

With the implementation of CRDT type aliases, it is now possible that
some CRDTs do not have an actual implementation server side, they are
simply mapped to an implementation of another CRDT.

Using `Type:function(...)` instead of `antidote_crdt:function(Type, ...)`
results in an undefined error when `Type` is an alias.

Git stats


Failed to load latest commit information.


Build Status Coverage Status

Welcome to the Antidote repository, the reference platform of the SyncFree European Project and the LightKone European Project.


AntidoteDB is a highly available geo-replicated key-value database. AntidoteDB provides features that help programmers to write correct applications while having the same performance and horizontal scalability as AP/NoSQL databases. Furthermore, AntidoteDB operations are based on the principle of synchronization-free execution by using Conflict-free replicated datatypes (CRDTs).



High-level replicated data types that are designed to work correctly in the presence of concurrent updates and partial failures.

Highly Available Transactions

Traditional ACID transactions were built for single-machine deployments. On the one hand, it is expensive to implement ACID transactions in distributed deployments. On the other hand, highly-available transactions (HAT) provide strong consistency within a data center, but still perform well in geo-replicated deployments.


Designed to run on multiple servers in locations distributed world-wide. It provides continuous functioning even when there are failures or network partition.

How to Use

You will find all information on the project website or the usage documentation.

Small tutorials on how to use Antidote can be found for Java and Jupyter Notebook.


Applications that use AntidoteDB:

Contributing & Development

Antidote encourages open-source development. If you want to contribute, you can find all necessary information in the developer documentation To make yourself familiar with AntidoteDB, you can start by looking at good first issues.

You can’t perform that action at this time.