Skip to main content

Reflex is an event system for applications made using Python.

The package provides a way for applications to manage events and event listeners, with little effort.

While the system is somewhat more complex than existing event systems, I feel it is more flexible, and more powerful.

Below is an example that hints at the capabilites of Reflex:

from reflex.data import Event
from reflex.control import EventManager
from reflex.interfaces import Reactor

class example(Reactor):

    name = 'example'

    def __inst__(self):
        self.bind(self.handler, 'basic', source='main')
        self.bind(self.use_args, 'args')

    def handler(self, event, *args):
        print("Hello, world!")

    def use_args(self, event, *args):
        print("Event triggered by {0} since because {1}.".format(event.source, args[0]))

events = EventManager()
obj = example(events)

# The following event trigger is not handled by anything.
events.trigger(Event('basic'))
# The next event trigger is handled by the handler method.
events.trigger(Event('basic', [('source', 'main')]))
# This one is yes.
events.trigger(Event('args', [('source', 'main')]), 'pickles')

Documentation and a package reference can be found at http://photofroggy.github.com/Reflex/index.html

The purpose of this package is to make creating an event driven plugin system for your application an effortless task. A full plugin system can created in just a few lines, as shown here:

from reflex.data import Event
from reflex.control import EventManager
from reflex.control import ReactorBattery
import plugins

# Create an event manager.
events = EventManager()

# Create a battery.
battery = ReactorBattery()
# Load our plugins.
battery.load_objects(events, plugins, 'Plugin')

# Plugins can now be accessed as such:
#   battery.loaded[plugin_name]
# Events can be fired as follows:
#   events.trigger(Event('my event'))
# Easy as pie!

The above example assumes your plugins are stored in a package called plugins.

Download files

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

Source Distributions

Reflex-events-1.14.zip (26.8 kB view details)

Uploaded Source

Reflex-events-1.14.tar.gz (17.4 kB view details)

Uploaded Source

File details

Details for the file Reflex-events-1.14.zip.

File metadata

  • Download URL: Reflex-events-1.14.zip
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Reflex-events-1.14.zip
Algorithm Hash digest
SHA256 75a8d4f618ab34eaa0b62dd74161d210f9aba1dc012219f166178dd4f2e4752e
MD5 f40dfea12de2c32b65da1216ca0853bd
BLAKE2b-256 e3b6b336104944d55662f19dec6bb5ebc69c0eff6ba278548ac0708cbe8b2ba6

See more details on using hashes here.

File details

Details for the file Reflex-events-1.14.tar.gz.

File metadata

  • Download URL: Reflex-events-1.14.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Reflex-events-1.14.tar.gz
Algorithm Hash digest
SHA256 d726d659db877c33bb8515fb995b4514ac3bd7394792465b7dd48b4d3a62496b
MD5 855b4b4297c0da02061d922100265637
BLAKE2b-256 3e64efbce61dcaac85e3a56ad9d411a7bfb0b3c7ade1b3247afb7df6c0a4e687

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.14 This release

2 files

1.13

2 files

1.12

2 files

1.11

2 files

1.10

2 files

1.9

2 files

1.8

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page