Metadata-Version: 2.1
Name: spade
Version: 3.2.3
Summary: Smart Python Agent Development Environment
Home-page: https://github.com/javipalanca/spade
Author: Javi Palanca
Author-email: jpalanca@gmail.com
License: MIT license
Keywords: spade
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Internet :: XMPP
License-File: LICENSE
License-File: AUTHORS.rst

=====
SPADE
=====


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

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

.. image:: https://img.shields.io/tokei/lines/github/javipalanca/spade?label=lines
    :alt: Total Lines
    :target: https://pepy.tech/project/spade

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

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

.. image:: https://img.shields.io/apm/l/atomic-design-ui.svg?
    :target: https://opensource.org/licenses/MIT
    :alt: MIT License

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

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

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

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

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




Smart Python Agent Development Environment

A multi-agent systems platform written in Python and based on instant messaging (XMPP).

Develop agents that can chat both with other agents and humans.


* Free software: MIT license
* Documentation: http://spade-mas.readthedocs.io/


Features
--------

* Multi-agent platform based on XMPP_
* Presence notification allows the system to know the current state of the agents in real-time
* Python >=3.6
* Asyncio-based
* Agent model based on behaviours
* Supports FIPA metadata using XMPP Data Forms (XEP-0004_: Data Forms)
* Web-based interface
* Use any XMPP server

Plugins
-------

- **spade_bdi** (BDI agents with AgentSpeak):
        - Code: https://github.com/javipalanca/spade_bdi
- **spade_pubsub** (PubSub protocol for agents):
        - Code: https://github.com/javipalanca/spade_pubsub
        - documentation: https://spade-pubsub.readthedocs.io
- **spade_artifact** (Artifacts for SPADE):
        - Code: https://github.com/javipalanca/spade_artifact
        - Documentation: https://spade-artifact.readthedocs.io
- **spade_bokeh** (bokeh plots for agents):
        - Code: https://github.com/javipalanca/spade_bokeh
        - Documentation: https://spade-bokeh.readthedocs.io

Credits
---------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _XMPP: http://www.xmpp.org
.. _`XEP-0004` : https://xmpp.org/extensions/xep-0004.html
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage



=======
History
=======

3.2.3 (2023-12-13)
------------------

* Updated third-party libs

3.2.2 (2021-11-25)
------------------

* Hotfix for the event loop in windows when python is 3.6

3.2.1 (2021-11-16)
------------------

* Fixed event loop for windows

3.2.0 (2021-07-13)
------------------

* Added support for Python 3.8 and 3.9
* Fixed support for Linux, Windows and macOS

3.1.9 (2021-07-08)
------------------

* Minor fix in docs.

3.1.8 (2021-07-08)
------------------

* Added examples.
* Fixed documentation examples.
* Added Github CI support.

3.1.7 (2021-06-25)
------------------

* Added hooks for plugins.
* Minor bug fixings.

3.1.6 (2020-05-22)
------------------

* Fixed coverage and ci.

3.1.5 (2020-05-21)
------------------

* Fixed how to stop behaviours.
* Fixed some tests.
* Blackstyled code.

3.1.4 (2019-11-04)
------------------

* Fixed issue with third party versions.
* Use factories in tests.
* Updated documentation and examples.
* Minor bug fixing.

3.1.3 (2019-07-18)
------------------

* Added BDI plugin (https://github.com/javipalanca/spade_bdi).
* Improved the platform stop (quit_spade).
* Minor bug fixing.

3.1.2 (2019-05-14)
------------------

* Hotfix docs.

3.1.1 (2019-05-14)
------------------

* Added Python 3.7 support.
* Added Code of Conduct.
* Minor bugs fixed.

3.1.0 (2019-03-22)
------------------

* Agents now run in a single event loop managed by the container.
* Behaviors can be waited for using the "join" method.
* To check if a behaviours is done you can now use the "is_done" method.
* The "setup" method is now a coroutine.
* New "quit_spade" helper to stop the whole process.
* The "start" and "stop" methods change depending on the context, since it is the container who will properly start or stop the agent.
  They return a coroutine or a future depending on whether they are called from a coroutine or a synchronous method.

3.0.9 (2018-10-24)
------------------

* Added raw parameter to allow raw web responses.
* Changed default agent urls to the "/spade" namespace to avoid conflicts.

3.0.8 (2018-10-02)
------------------

* Added a container mechanism to speedup local sends.
* Added performance example.
* Improved API doc.
* Added container tests.

3.0.7 (2018-09-27)
------------------

* Fixed bug when running FSM states.
* Improved Message __str__.
* Fixed bug when thread is not defined in a message.
* aioxmpp send method is now in client instead of stream.

3.0.6 (2018-09-27)
------------------

* Added statement to relinquish the cpu at each behaviour loop.
* Message Thread is now stored as metadata for simplicity.

3.0.5 (2018-09-21)
------------------

* Added JSON responses in web module.
* Some improvements in aiothread management.

3.0.4 (2018-09-20)
------------------

* Added coroutines to start agents from within other agents.
* Improved API doc format.


3.0.3 (2018-09-12)
------------------

* Rename internal templates to avoid conflicts.
* Added API doc.
* Minor bug fixes.

3.0.2 (2018-09-12)
------------------

* Fixed presence notification updates.
* Fixed FSM graphviz visualization.
* Raise AuthenticationFailure Exception when user is not registered or user or password is wrong.
* Import init improvements.
* Attribute auto_register is now default True.
* Improved documentation.
* Other minor fixes.

3.0.1 (2018-09-07)
------------------

* Minor doc fixings and improvements.


3.0.0 (2017-10-06)
------------------

* Started writing 3.0 version.
