<commit_before># What is Lightbus?

[![CircleCI](https://circleci.com/gh/adamcharnock/lightbus/tree/master.svg?style=svg)](https://circleci.com/gh/adamcharnock/lightbus/tree/master)
[![Coverage Status](https://coveralls.io/repos/github/adamcharnock/lightbus/badge.svg?branch=master)](https://coveralls.io/github/adamcharnock/lightbus?branch=master)

Lightbus allows your backend processes to communicate, run background tasks,
and expose internal APIs.

Lightbus uses Redis as its underlying transport, although support
for other platforms may eventually be added.

Lightbus requires Python 3.6 or above.

**Lightbus is under active development and is still pre-release.**
You can [track progress in GitHub][issue-1].

## Designed for ease of use

Lightbus is designed with developers in mind. The syntax aims to
be intuitive and familiar, and common problems are caught with
clear and helpful error messages.

For example, a naïve authentication API:

```python3
class AuthApi(Api):
    user_registered = Event(parameters=('username', 'email'))

    class Meta:
        name = 'auth'

    def check_password(self, user, password):
        return (
            user == 'admin'
            and password == '<PASSWORD>'<commit_msg>Adding badges<commit_after># What is Lightbus?

[![CircleCI](https://circleci.com/gh/adamcharnock/lightbus/tree/master.svg?style=svg)](https://circleci.com/gh/adamcharnock/lightbus/tree/master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/801d031fd2714b4f9c643182f1fbbd0b)](https://www.codacy.com/app/adamcharnock/lightbus?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=adamcharnock/lightbus&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Coverage/801d031fd2714b4f9c643182f1fbbd0b)](https://www.codacy.com/app/adamcharnock/lightbus?utm_source=github.com&utm_medium=referral&utm_content=adamcharnock/lightbus&utm_campaign=Badge_Coverage)

Lightbus allows your backend processes to communicate, run background tasks,
and expose internal APIs.

Lightbus uses Redis as its underlying transport, although support
for other platforms may eventually be added.

Lightbus requires Python 3.6 or above.

**Lightbus is under active development and is still pre-release.**
You can [track progress in GitHub][issue-1].

## Designed for ease of use

Lightbus is designed with developers in mind. The syntax aims to
be intuitive and familiar, and common problems are caught with
clear and helpful error messages.

For example, a naïve authentication API:

```python3
class AuthApi(Api):
    user_registered = Event(parameters=('username', 'email'))

    class Meta:
        name = 'auth'

    def check_password(self, user, password):
        return (
            user == 'admin'
            and password == '<PASSWORD>'
{'fraction_non_alphanumeric': 0.10746162084969654, 'fraction_numerical': 0.017136736879685827, 'mean_word_length': 4.923890063424947, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 10, 'lorem ipsum': 0, 'www.': 2, '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': '3559724', 'n_tokens_mistral': 903, 'n_tokens_neox': 838, 'n_words': 232}