Skip to content

Commit 606d6ae

Browse files
committed
prepare version 4.1.0
1 parent 5f821e5 commit 606d6ae

File tree

7 files changed

+27
-9
lines changed

7 files changed

+27
-9
lines changed

HISTORY.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,22 @@
22
History
33
=======
44

5+
4.1.0 (2025-05-22)
6+
---------------------
7+
8+
* XMPP server is now auto launched transparently with agents.
9+
* Added support for Python 3.13.
10+
* Added end2end tests.
11+
* Memory database integration for the XMPP server.
12+
* Server parameter configurations improved.
13+
* Enhanced presence management and subscription process.
14+
* Added embedded server capability for examples.
15+
* Dropped Python 3.8 support.
16+
* Added overloadable presence_received handler.
17+
* Fixed slixmpp address kwarg error.
18+
* Improved type hints and code structure in agent and message modules.
19+
20+
521
4.0.3 (2025-02-17)
622
--------------------
723
* Prepare XMPP messages linked to client stream.

docs/usage.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ launched, managed during the coroutine's lifespan, and deleted once it finishes.
2828
coroutine |
2929
|
3030
Server Flag
31+
3132
This is the preferred method for launching SPADE scripts, as it eliminates the need for the user to install or manage any external server.
3233

3334

@@ -68,7 +69,8 @@ This approach is useful for more complex MAS integrations and for obtaining a de
6869
A valid JID would be something like *agent1@localhost* or *[email protected]*
6970

7071
Dedicated XMPP server
71-
####################
72+
#####################
73+
7274
Any XMPP server can be used with the SPADE platform. *Prosody* is a well-tested solution with SPADE,
7375
but there is a wide range of popular servers with large communities.
7476

@@ -114,7 +116,7 @@ To create an agent in a project you just need to: ::
114116
This agent is only printing on screen a message during its setup and stopping. If you run this script you get
115117
the following output
116118

117-
.. code-block:: bash
119+
.. code-block:: console
118120
119121
$ python dummyagent.py
120122
Hello World! I'm agent dummy@localhost

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ classifiers = [
2121
"License :: OSI Approved :: MIT License",
2222
"Natural Language :: English",
2323
"Programming Language :: Python :: 3",
24-
"Programming Language :: Python :: 3.8",
2524
"Programming Language :: Python :: 3.9",
2625
"Programming Language :: Python :: 3.10",
2726
"Programming Language :: Python :: 3.11",
2827
"Programming Language :: Python :: 3.12",
28+
"Programming Language :: Python :: 3.13",
2929
"Operating System :: MacOS :: MacOS X",
3030
"Operating System :: POSIX :: Linux",
3131
"Operating System :: Microsoft :: Windows",

setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ def parse_requirements(filename):
5959
"Programming Language :: Python :: 3.10",
6060
"Programming Language :: Python :: 3.11",
6161
"Programming Language :: Python :: 3.12",
62-
"Programming Language :: Python :: 3.13" "Operating System :: MacOS :: MacOS X",
62+
"Programming Language :: Python :: 3.13",
63+
"Operating System :: MacOS :: MacOS X",
6364
"Operating System :: POSIX :: Linux",
6465
"Operating System :: Microsoft :: Windows",
6566
"Topic :: Scientific/Engineering :: Artificial Intelligence",

spade/agent.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ async def _async_connect(self) -> None: # pragma: no cover
171171
)
172172
self.client.add_event_handler("message", self._message_received)
173173

174-
if slixmpp_version <= '1.9.1':
174+
if slixmpp_version <= "1.9.1":
175175
self.client.connect(address=(self.jid.host, self.xmpp_port))
176176
else:
177177
self.client.connect(host=self.jid.host, port=self.xmpp_port)

spade/container.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def get_or_create_eventloop(): # pragma: no cover
3030
# Use uvloop or winloop if available
3131
if platform.system() == "Windows":
3232
try:
33-
import winloop # pyright: ignore[reportMissingImports]
33+
import winloop # pyright: ignore[reportMissingImports]
3434

3535
asyncio.set_event_loop_policy(winloop.EventLoopPolicy())
3636
except ImportError:

spade/message.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import logging
2-
from typing import Optional, Dict, Type, Union
2+
from typing import Optional, Dict, Union
33

44
import slixmpp.stanza
55
from slixmpp import ClientXMPP
@@ -12,7 +12,7 @@
1212

1313

1414
class MessageBase(object):
15-
""" """
15+
"""Base class for message handling in SPADE."""
1616

1717
def __init__(
1818
self,
@@ -22,7 +22,6 @@ def __init__(
2222
thread: Optional[str] = None,
2323
metadata: Optional[Dict[str, str]] = None,
2424
):
25-
2625
self.sent = False
2726
self.to = to # type: ignore
2827
self.sender = sender # type: ignore

0 commit comments

Comments
 (0)