plugin / intra process communication system

F

Florian Ludwig

Hi,

I'm looking for a module/plugin/intra-process-communication/hook system
for python. Maybe someone here could point me to some project I missed
or might have some good ideas if I end up implementing it myself.

Most systems I have found are "one to many" communications but I would
like "many to many", to clarify what I mean an *example* use-case:

Lets say you program a wiki and like to allow different kind of
authentications. So you create two plugins (for example one for
OpenID and one for Shibboleth).

Some time later you feel like reinventing the wheel again and
you program a blog. Again you like to allow different ways of
authentication and you already wrote plugins for exactly the
same for your wiki, right?

With most systems now some trouble begins - the blog software would need
to have the interface/extention-points/however-you-name-it that the wiki
software defined.

The plugins you wrote probably import them from the wiki module directly
which means your blog would depend on the wiki. (?!) So where to put the
interface/[...] definition that is imported by those plugins? Create a
package/module just containing the interface? This really get
troublesome if different people wrote the wiki, the blog and another
third one a plugin.

Also it will probably break if you try to create a program that includes
(imports and uses) the wiki and the blog at the same time.

While looking for existing solutions I came across several different
implementations and approaches with different advantages and
disadvantages. To not list them all, here one representative
implementation: trac's component architecture [0] as its well but still
short documented, shares several concepts with other implementations and
I failed to see how to solve the problem described above with it.

So, what's your solution?

Thanks for reading my long mail!

Really hoping for an constructive discussion,
Florian

[0] http://trac.edgewall.org/wiki/TracDev/ComponentArchitecture

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEABECAAYFAkt2dfAACgkQxu+zXP27X7TYqACeKl7UpKjvuMQJkVYG37HJtp8b
oTgAoJ2brxH/IUPhXVyJPnVZ20pz6gSE
=o7ME
-----END PGP SIGNATURE-----
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top