List Event Related Packages for Python

List Event Related Packages for Python

The Python programming language has packages, which are a collection of modules. This article will list event-related packages for the Python programming language.

Different Python packages use different event terminologies. The rest of the article will explain the two terminologies and related Python packages.

Observer Event Packages

The most basic style of the event system is the Observer pattern. In this pattern, the handler methods are stored in an array and are each called when the event fires.

  1. The zope.event is a simple event system package. It provides an event publishing API intended for use by applications unaware of any subscribers to their events and a straightforward event-dispatching system on which more sophisticated event dispatching systems can be built.

    We can install it with the pip install zope.event command.

  1. The py-notify is an event-related package providing tools for implementing the observer pattern. These tools include signals, conditions, and variables.

    We can install it with the pip install py-notify command.

  2. The axel is an event system package. It provides threading and error handling.

    We can install it with the pip install axel command.

  3. The python-dispatch is an implementation of the observer pattern. It requires the even source classes to derive from pydispatch.Dispatcher.

    We can install it with the pip install python-dispatch command.

  4. The buslane package makes creating solutions based on messages easier. It splits event occurrence from its handling.

We can install it with the pip install buslane command.

Publish-Subscribe Event Packages

The handlers register on a central dispatcher, not a handler list or event object in the publish-subscribe pattern. Also, the notifiers only talk to the dispatcher.

  1. The blinker provides fast and simple broadcast signaling for Python objects. It also provides a global registry of named signals, anonymous signals, custom name registries, thread safety, and collecting return values from signal receivers.

    We can install it from https://github.com/jek/blinker.

  2. The PyDispatcher provides multiple-producer-multiple-consumer signal-registration and routing infrastructure for use in multiple contexts. We can install it with the pip install PyDispatcher command.

  3. The PyEventDispatcher allows application components to communicate with each other by sending events and listening to them. It is based on PHP’s Symfony framework’s event-dispatcher.

    We can install it from https://github.com/whisller/pyeventdispatcher.

Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

Related Article - Python Event

  • Events in Python