Skip to main content

RPC & event framework for Python 3

Project description

CircleCI Codacy Badge Codacy Badge Discord Contributor Covenant

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.7 or above.

Full documentation can be found at https://lightbus.org

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:

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

    class Meta:
        name = 'auth'

    def check_password(self, user, password):
        return (
            user == 'admin'
            and password == 'secret'
        )

This can be called as follows:

import lightbus

bus = lightbus.create()

bus.auth.check_password(
    user='admin',
    password='secret'
)
# Returns true

You can also listen for events:

import lightbus

bus = lightbus.create()

def send_signup_email(event_message,
                      username, email):
    send_mail(email,
        subject=f'Welcome {username}'
    )

@bus.client.on_start()
def bus_start():
    bus.auth.user_registered.listen(
        send_signup_email
    )

To get started checkout the documentation at https://lightbus.org.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightbus-0.10.0a3.tar.gz (100.6 kB view details)

Uploaded Source

Built Distribution

lightbus-0.10.0a3-py3-none-any.whl (128.4 kB view details)

Uploaded Python 3

File details

Details for the file lightbus-0.10.0a3.tar.gz.

File metadata

  • Download URL: lightbus-0.10.0a3.tar.gz
  • Upload date:
  • Size: 100.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.8.1 Darwin/18.7.0

File hashes

Hashes for lightbus-0.10.0a3.tar.gz
Algorithm Hash digest
SHA256 919d333813f3597ed69163268ef7081ade047f320ab72b19b4b89b2a365e268a
MD5 a8f0d3470a7c12236f82ce9d78378459
BLAKE2b-256 a9d3780c747e15647698d4a10ef8e8d2f25849d4155351e2882e2e4a31e292d3

See more details on using hashes here.

File details

Details for the file lightbus-0.10.0a3-py3-none-any.whl.

File metadata

  • Download URL: lightbus-0.10.0a3-py3-none-any.whl
  • Upload date:
  • Size: 128.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/3.8.1 Darwin/18.7.0

File hashes

Hashes for lightbus-0.10.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 4f2269353f026f9441f5217eb8d6b7faf18e455c71b9b99ee1ff3dd41169f9e0
MD5 651e3a5f513f0c2d02122d75b62ed411
BLAKE2b-256 aefb5d3485f8d2d56fa13562ddaacb508e54477fa25ed81525d8469d7f17926d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page