Skip to main content

GUI Style Events for Web Applications

Project description

https://travis-ci.org/ffireio/ffire-python.svg?branch=dev

Ffire enables you to use GUI Style event driven programming in your web application with 10 lines of code or less.

ffire can be summed up by its simple API.

Installation

pip install ffire

Creating and Firing Events

#: Order Creation API/Engine : Application One (France or Germany or Mars)
from ffire import fire

#: Create is idempotent. You can call create multiple times without side effects
#: in addition it is more advisable to use constants i.e. ORDER_CREATED not literals

ffire.create('order_created', category='event')


#: Do application logic here

payload = {"order_id": "abcd", "client_id": "1234"}

ffire('order_created', payload)
#: OR
ffire.fire('order_created', payload)

Subscribing to events

# # Biryani Client : Application Two in (Brazil, South Africa or Venus)

from ffire import fire

endpoint = 'http://api.example.com/order-created-handler'

fire.subscribe('order_created', endpoint)

#: Ffire assumes a handler for the payload sits at that endpoint.
  • It is advisable to have a message broker as the endpoint. However this is not mandatory especially for cases where handling the event is not an absolute necessity.
  • In such scenarios any endpoint is sufficient.

Consume Events

If you wish to consume events from ffire explicitly you can do so.

from ffire import ffire

fire.consume('order_created', ffire.TIME_INTERVALS.ONE_HOUR)

Project details


Download files

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

Files for ffire, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size ffire-0.1.0.tar.gz (8.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page