What's the best dispatcher/callback library in Python?

I need to allow other Python applications to register callback functions for events in my application. These need to have priorities associated with them (so a callback with a priority of 10 runs before a callback with a priority of 1) and callback functions need to be able to signal errors to the dispatcher.

These are all lightweight callbacks running in the same process, so I don't need to send signals across process boundaries.

Is there a good Python library to handle this, or do I need to write my own?

Asked by: Ted973 | Posted: 05-10-2021

Answer 1

Are these other applications running in another address space? If so, you'll need to use an interprocess communication library like D-BUS.

If you're just sending signals in the same process, try PyDispatcher

Answered by: Dominik315 | Posted: 06-11-2021

Answer 2

What platform are you running under? GObject is the basis of the GTK GUI that's widely-used under Linux, and it supports event loops with prioritizable events like this.

Answered by: Wilson977 | Posted: 06-11-2021

Answer 3

Try Twisted for anything network-related. Its perspective broker is quite nice to use.

Answered by: Alina747 | Posted: 06-11-2021

Answer 4

Try python-callbacks - http://code.google.com/p/python-callbacks/.

Answered by: Michael390 | Posted: 06-11-2021

Similar questions

Still can't find your answer? Check out these communities...

PySlackers | Full Stack Python | NHS Python | Pythonist Cafe | Hacker Earth | Discord Python