SPADE PubSub

May 19, 2025 ยท View on GitHub

============ SPADE PubSub

.. image:: https://img.shields.io/pypi/v/spade_pubsub.svg :target: https://pypi.python.org/pypi/spade_pubsub

.. image:: https://img.shields.io/pypi/pyversions/spade_pubsub.svg :target: https://pypi.python.org/pypi/spade_pubsub :alt: Python Versions

.. image:: https://img.shields.io/github/languages/count/javipalanca/spade_pubsub?label=languages :alt: Languages :target: https://pepy.tech/project/spade_pubsub

.. image:: https://img.shields.io/github/languages/code-size/javipalanca/spade_pubsub :alt: Code Size :target: https://pepy.tech/project/spade_pubsub

.. image:: https://img.shields.io/pypi/l/spade_pubsub :target: https://opensource.org/licenses/MIT :alt: MIT License

.. image:: https://pepy.tech/badge/spade_pubsub :target: https://pepy.tech/project/spade_pubsub :alt: Downloads

.. image:: https://github.com/javipalanca/spade/actions/workflows/python-package.yml/badge.svg :target: https://github.com/javipalanca/spade_pubsub/actions/workflows/python-package.yml :alt: Continuous Integration Status

.. image:: https://coveralls.io/repos/github/javipalanca/spade_pubsub/badge.svg?branch=master :target: https://coveralls.io/github/javipalanca/spade_pubsub?branch=master :alt: Code Coverage Status

.. image:: https://readthedocs.org/projects/spade_pubsub/badge/?version=latest :target: https://spade-pubsub.readthedocs.io?badge=latest :alt: Documentation Status

.. image:: https://img.shields.io/pypi/format/spade.svg :target: https://pypi.python.org/pypi/spade_pubsub

SPADE Plugin for PubSub support. SPADE PubSub is a plugin that extends the SPADE (Smart Python Agent Development Environment) framework with publish-subscribe communication capabilities. It enables SPADE agents to leverage the XMPP PubSub extension for efficient, decoupled communication patterns in multi-agent systems.

Purpose and Scope

This plugin provides a clean, agent-oriented interface to the XMPP Publish-Subscribe Extension (XEP-0060), allowing SPADE agents to:

  • Create and manage PubSub nodes
  • Subscribe to nodes of interest
  • Publish content to nodes
  • Receive notifications when content is published
  • Manage subscriptions and published items

SPADE PubSub serves as a bridging layer between SPADE's agent-oriented architecture and the underlying XMPP Pu

Features

  • Node Creation and Management: Agents can create, delete, and purge nodes on a PubSub server, allowing flexible management of communication channels.

  • Subscription to Nodes: Agents have the capability to subscribe and unsubscribe from specific nodes, facilitating the reception of relevant updates.

  • Item Publication: Agents can publish items to subscribed nodes, efficiently distributing information to all subscribers.

  • Item Management: It's possible to retrieve all items published on a node and retract specific items when necessary.

  • Notifications Without Items: Agents can send notifications to all subscribers of a node without the need to publish an item, useful for alerts or signals.

  • Custom Callbacks: Functions can be registered to handle events such as item publication or retraction, allowing personalized responses to these events.

Credits

This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter .. _audreyr/cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage