Skip to main content

This module provides an object-oriented event handling framework. In this framework, events are registered by classes and then broadcasted by individual objects. Listening for events from specific objects is made easy.

Installation

KeepMePosted can be installed from PyPI:

$ pip install kemepo

You can also download the source code directly from GitHub. The code is made available under the MIT license. If you find the code useful and want to make improvements, feel free to make pull requests:

$ git clone https://github.com/kalekundert/KeepMePosted.git kemepo

Simple Example

The most important parts of this framework are the Dispatcher class and the event() decorator. Dispatcher is a base class for objects that want to broadcast events and the event decorator is used to register events.

>>> from kemepo import Dispatcher, event
>>> class Button (Dispatcher):
        @event
        def on_press(self):
            print('Calling internal handler')

The method decorated by event() is taken to be the “internal handler”, distinct from any “external observers” that may be attached using connect() later on. When an event is triggered using handle(), the internal handler is called before the external observers.

>>> button = Button()
>>> button.connect(on_press=lambda: print('Calling external observer.'))
>>> button.handle('on_press')
Calling internal handler.
Calling external observer.

Complete Documentation

The complete documentation for this module is hosted by ReadTheDocs.

Metadata

Release files for KeepMePosted 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for KeepMePosted 0.3
File Size Uploaded
KeepMePosted-0.3.tar.gz 6.5 kB Details

Release files / KeepMePosted-0.3.tar.gz

Download URL KeepMePosted-0.3.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5be43a63401ac8c195bbcae3da3dd9977ea32c979e4cd942a1b0392756b5cc1d
BLAKE2b-256 checksum
How to use checksums
ffafb631204f4c8bb66db0cf17daddac68713519ec045598a1dce44f7b2fc712
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3 This release

1 release file

0.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page