Python的事件相关软件包列表

Python编程语言有包,它是模块的集合。本文将列出Python编程语言的事件相关包。

不同的Python包使用不同的事件术语。文章的其余部分将解释这两种术语和相关的Python包。

观察者事件包

事件系统的最基本风格是Observer 模式。在这种模式中,处理方法被存储在一个数组中,并且在事件发生时分别被调用。

  1. zope.event 是一个简单的事件系统包。它提供了一个事件发布API,目的是让那些不知道他们的事件有任何订阅者的应用程序使用,以及一个简单的事件调度系统,在此基础上可以建立更复杂的事件调度系统。

    我们可以用pip install zope.event 命令来安装它。

  1. py-notify 是一个与事件相关的包,提供了实现观察者模式的工具。这些工具包括信号、条件和变量。

    我们可以用pip install py-notify 命令来安装它。

  2. axel 是一个事件系统包。它提供了线程和错误处理。

    我们可以用pip install axel 命令来安装它。

  3. python-dispatch 是观察者模式的一个实现。它要求即使是源类也要派生自pydispatch.Dispatcher

    我们可以用pip install python-dispatch 命令来安装它。

  4. buslane 包使创建基于消息的解决方案更加容易。它将事件的发生与处理分开。

我们可以用pip install buslane 命令来安装它。

发布-订阅事件包

处理程序在中央调度器上注册,而不是发布-订阅模式中的处理程序列表或事件对象。另外,通知器只与调度器对话。

  1. blinker 为Python对象提供快速而简单的广播信号。它还提供了一个命名信号的全局注册表、匿名信号、自定义名称注册表、线程安全,以及从信号接收者那里收集返回值。

    我们可以从https://github.com/jek/blinker 中安装它。

  2. PyDispatcher 提供了多生产者-多消费者的信号注册和路由基础设施,可在多种情况下使用。我们可以用pip install PyDispatcher 命令来安装它。

  3. PyEventDispatcher 允许应用程序组件通过发送事件和监听事件来相互通信。它是基于PHP的Symfony 框架的事件分配器。

    我们可以通过https://github.com/whisller/pyeventdispatcher 来安装它。