Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status codecov

Suuchi - सूचि

Having inspired from tools like Uber's Ringpop and a strong desire to understand how distributed systems work - Suuchi was born.

Suuchi is toolkit to build distributed data systems, that uses gRPC under the hood as the communication medium. The overall goal of this project is to build pluggable components that can be easily composed by the developer to build a data system of desired characteristics.

This project is in beta quality and it's currently running couple of systems in production setting @indix. We welcome all kinds of feedback to help improve the library.

Read the Documentation at

Suuchi in sanskrit means an Index1.


Following presentations / videos explain motivation behind Suuchi


If you're getting ClassNotFound exception, please run mvn clean compile once to generate from the java classes from protoc files. Also, if you're using IntelliJ it helps to close the project when running the above command. It seems to auto-detect sources in target/ at startup but not afterwards.

Release workflow

Suuchi and it's modules follow a git commit message based release workflow. Use the script to push an empty commit to the repository which would trigger a release workflow on travis-ci. More information can be found at docs.