<commit_before><p align="center">
  <img alt="Sandglass Logo" src="https://raw.githubusercontent.com/celrenheit/gifs/master/sandglass/brand%2Blogo-sm.png"  />
</p>
<p align="center">
Sandglass is a distributed, horizontally scalable, persistent, time ordered message queue. It was developed to support asynchronous tasks and message scheduling which makes it suitable for usage as a task queue.
</p>

<p align="center">
    <a href="https://github.com/celrenheit/sandglass/releases/latest">
        <img alt="Release" src="https://img.shields.io/github/release/celrenheit/sandglass.svg?style=flat-square">
    </a>
    <a href="https://travis-ci.org/celrenheit/sandglass">
        <img alt="Build Status" src="https://img.shields.io/travis/celrenheit/sandglass.svg?style=flat-square">
    </a>
    <a href="LICENSE">
        <img alt="License" src="https://img.shields.io/badge/license-apache-blue.svg?style=flat-square">
    </a>
</p>

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
## Table of contents

- [Features](#features)
- [Installation](#installation)
- [Getting started](#getting-started)
- [Clients](#clients)
  - [Go](#go)
    - [Installation](#installation-1)
    - [Documentation](#documentation)
    - [Usage](#usage)
      - [Producer](#producer)
      - [Consumer](#consumer)
  - [Java, Python, Node.js, Ruby](#java-python-nodejs-ruby)
- [Architecture](#architecture)
  - [General](#general)
  - [Topic](#topic)
- [Contributing](#contributing)
- [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Features

* Horizontal scalability
* Highly available
* Persistent storage
* Time ordered
* Multiple consumers per group for a partition
* Produce message to be consumed in the future
* Acknowledge/NotAcknowledge each message individualy
* Automatic redelivery and commit offset tracking
* Language agnostic

**EXPERIMENTAL**: This is a prototype of a side project. This should not be used in production in its current form as things may change quickly without notice.
<commit_msg>Updated TOC<commit_after><p align="center">
  <img alt="Sandglass Logo" src="https://raw.githubusercontent.com/celrenheit/gifs/master/sandglass/brand%2Blogo-sm.png"  />
</p>
<p align="center">
Sandglass is a distributed, horizontally scalable, persistent, time ordered message queue. It was developed to support asynchronous tasks and message scheduling which makes it suitable for usage as a task queue.
</p>

<p align="center">
    <a href="https://github.com/celrenheit/sandglass/releases/latest">
        <img alt="Release" src="https://img.shields.io/github/release/celrenheit/sandglass.svg?style=flat-square">
    </a>
    <a href="https://travis-ci.org/celrenheit/sandglass">
        <img alt="Build Status" src="https://img.shields.io/travis/celrenheit/sandglass.svg?style=flat-square">
    </a>
    <a href="LICENSE">
        <img alt="License" src="https://img.shields.io/badge/license-apache-blue.svg?style=flat-square">
    </a>
</p>

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
## Table of contents

- [Features](#features)
- [Installation](#installation)
- [Getting started](#getting-started)
- [Motivation](#motivation)
- [Clients](#clients)
  - [Go](#go)
    - [Installation](#installation-1)
    - [Documentation](#documentation)
    - [Usage](#usage)
      - [Producer](#producer)
      - [Consumer](#consumer)
  - [Java, Python, Node.js, Ruby](#java-python-nodejs-ruby)
- [Architecture](#architecture)
  - [General](#general)
  - [Topic](#topic)
  - [Offset Tracking](#offset-tracking)
- [Contributing](#contributing)
- [License](#license)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

## Features

* Horizontal scalability
* Highly available
* Persistent storage
* Time ordered
* Multiple consumers per group for a partition
* Produce message to be consumed in the future
* Acknowledge/NotAcknowledge each message individualy
* Automatic redelivery and commit offset tracking
* Language agnostic

**EXPERIMENTAL**: This is a prototype of a side project. This should not be used in production in its current form as things may change quickly without notice.

{'fraction_non_alphanumeric': 0.14262820512820512, 'fraction_numerical': 0.0009157509157509158, 'mean_word_length': 4.302184466019417, 'pattern_counts': {'":': 0, '<': 41, '<?xml version=': 0, '>': 41, 'https://': 12, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '31000', 'n_tokens_mistral': 1408, 'n_tokens_neox': 1299, 'n_words': 368}