<commit_before><p align="center">
  <img src="https://mebohq.github.io/docs/data/logo.png?v=1"/>
</p>

![status](https://mebohq.github.io/docs/data/status.svg)
[![Gitter chat](https://badges.gitter.im/meboHQ/gitter.png)](https://gitter.im/meboHQ)
[![Build Status](https://travis-ci.org/meboHQ/mebo.svg?branch=master)](https://travis-ci.org/meboHQ/mebo)
[![Known Vulnerabilities](https://snyk.io/test/github/meboHQ/mebo/badge.svg)](https://snyk.io/test/github/meboHQ/mebo)
[![codecov.io](https://codecov.io/github/meboHQ/mebo/coverage.svg?branch=master)](https://codecov.io/github/meboHQ/mebo?branch=master)
[![Esdocs](https://mebohq.github.io/badge.svg?v=1)](https://mebohq.github.io/)
</p>

### What is it ?

Mebo is a framework focused to provide an unified interface across multiple domains.
It can be employed in the development of the most common applications.

### How does it work ?

It works by providing an abstracted interface focused to describe evaluations that can be triggered
across multiple domains. This interface is designed to be fairly extendable and comprehensible through a process that minimizes repetitive routines ([DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)) and produces a more versatile code base.

You write once and Mebo takes care of getting the evaluations up running across the domains.

<p align="center">
  <img src="https://mebohq.github.io/docs/data/hi.png?v=2"/>
</p>

## Key features
- **Flexible architeture**. Mebo can be integrated to existing applications. Also, it's designed from ground up to be customizable and extendable

- **Reliable executions**. Mebo enforces quality control over the data used in the evaluations by performing a wide range of verifications

- **Agnostic execution platform**. Evaluations in Mebo can be executed across multiple domains

- **Integrated caching system**. Mebo provides out-the-box integrated caching system that can be easily enabled for any evaluation, speeding up your application
<commit_msg>updated description<commit_after><p align="center">
  <img src="https://mebohq.github.io/docs/data/logo.png?v=1"/>
</p>

![status](https://mebohq.github.io/docs/data/status.svg)
[![Gitter chat](https://badges.gitter.im/meboHQ/gitter.png)](https://gitter.im/meboHQ)
[![Build Status](https://travis-ci.org/meboHQ/mebo.svg?branch=master)](https://travis-ci.org/meboHQ/mebo)
[![Known Vulnerabilities](https://snyk.io/test/github/meboHQ/mebo/badge.svg)](https://snyk.io/test/github/meboHQ/mebo)
[![codecov.io](https://codecov.io/github/meboHQ/mebo/coverage.svg?branch=master)](https://codecov.io/github/meboHQ/mebo?branch=master)
[![Esdocs](https://mebohq.github.io/badge.svg?v=1)](https://mebohq.github.io/)
</p>

## What is Mebo ?

[![experimental](http://badges.github.io/stability-badges/dist/experimental.svg)](https://github.com/meboHQ/mebo/issues)

Mebo is an experimental framework focused to provide an unified interface across multiple domains. Although, most applications are designed with a specific domain in mind, mebo can still be employed to provide an easy way to interact with bits of your application through command-line, coming handy during the development & debugging process.

The support for multiple domains is done by promoting abstracted implementations which don't need to know too much about the specifics of each domain instead, the specifics are delegated to mebo. The idea of going through this process is to simplify the development process by minimizing repetitive routines ([DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)).

It comes bundled with support for web(rest/middlewares) and command-line (docopt) domains which was one of the reasons why I wanted to try to find a common ground to provide an unified interface for such distinctive domains that turned out to be extremely challenge.

<p align="center">
  <img src="https://mebohq.github.io/docs/data/hi.png?v=2"/>
</p>

## Key features
- **Flexible architeture**. Mebo can be integrated to existing applications. Also, it's designed from ground up to be customizable and extendable

- **Reliable executions**. Mebo enforces validating the data used in the evaluations by performing a wide range of verifications

- **Agnostic execution platform**. Evaluations in Mebo can be executed across multiple domains

- **Integrated caching system**. Mebo provides out-the-box integrated caching system that can be easily enabled for any evaluation, speeding up your application

{'fraction_non_alphanumeric': 0.12309758281110117, 'fraction_numerical': 0.0022381378692927483, 'mean_word_length': 5.147180192572215, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, 'https://': 29, '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': '7402647', 'n_tokens_mistral': 1398, 'n_tokens_neox': 1328, 'n_words': 427}