Skip to main content

Spade-BDI

https://img.shields.io/pypi/v/spade_bdi.svg https://img.shields.io/pypi/pyversions/spade_bdi.svg MIT License Downloads Documentation Status https://img.shields.io/pypi/format/spade_bdi.svg

Create hybrid agents with a BDI layer for the SPADE MAS Platform.

Features

  • Create agents that parse and execute an ASL file written in AgentSpeak.

  • Supports Agentspeak-like BDI behaviours.

  • Add custom actions and functions.

  • Send TELL, UNTELL and ACHIEVE KQML performatives.

Examples

basic.py:

import getpass
from spade_bdi.bdi import BDIAgent

server = input("Please enter the XMPP server address: ")
password = getpass.getpass("Please enter the password: ")

a = BDIAgent("BasicAgent@" + server, password, "basic.asl")
a.start()

a.bdi.set_belief("car", "blue", "big")
a.bdi.print_beliefs()

print(a.bdi.get_belief("car"))
a.bdi.print_beliefs()

a.bdi.remove_belief("car", 'blue', "big")
a.bdi.print_beliefs()

print(a.bdi.get_beliefs())
a.bdi.set_belief("car", 'yellow')

basic.asl:

!start.

+!start <-
    +car(red);
    .a_function(3,W);
    .print("w =", W);
    literal_function(red,Y);
    .print("Y =", Y);
    .custom_action(8);
    +truck(blue).

+car(Color)
 <- .print("The car is ",Color).

Examples

basic.py:

import getpass
from spade_bdi.bdi import BDIAgent

server = input("Please enter the XMPP server address: ")
password = getpass.getpass("Please enter the password: ")

a = BDIAgent("BasicAgent@" + server, password, "basic.asl")
a.start()

a.bdi.set_belief("car", "blue", "big")
a.bdi.print_beliefs()

print(a.bdi.get_belief("car"))
a.bdi.print_beliefs()

a.bdi.remove_belief("car", 'blue', "big")
a.bdi.print_beliefs()

print(a.bdi.get_beliefs())
a.bdi.set_belief("car", 'yellow')

basic.asl:

!start.

+!start <-
    +car(red);
    .a_function(3,W);
    .print("w =", W);
    literal_function(red,Y);
    .print("Y =", Y);
    .custom_action(8);
    +truck(blue).

+car(Color)
 <- .print("The car is ",Color).

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.3.0 (2023-06-13)

  • Updated to SPADE 3.3.0.

0.2.2 (2022-06-03)

  • Added exception when belief is not initialized.

  • Improved examples.

  • Improved documentation.

0.2.1 (2020-04-13)

  • Fixed a bug when updating beliefs.

  • Upgraded spade version to 3.1.4.

0.2.0 (2020-02-24)

  • Created add_custom_actions method.

  • Added example for actions.

  • Improved documentation.

  • Added some helpers like pause_bdi, resume_bdi.

  • Now the asl file in the constructor is mandatory.

0.1.4 (2019-07-10)

  • Allow to send messages to JIDs stored as beliefs.

0.1.3 (2019-07-08)

  • Allow .send to a list of receivers.

  • Allow to receive messages with lists of lists.

  • Fixed readme.

0.1.1 (2019-06-18)

  • Moved from pyson to python-agentspeak

  • Added some helpers like pause_bdi, resume_bdi.

  • Now the asl file in the constructor is mandatory.

  • Allow to send tell messages with no args.

  • Allow sending messages with variables.

  • Extended the examples.

0.1.0 (2019-03-09)

  • First release on PyPI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spade_bdi-0.3.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spade_bdi-0.3.0-py2.py3-none-any.whl (6.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file spade_bdi-0.3.0.tar.gz.

File metadata

  • Download URL: spade_bdi-0.3.0.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.8.2 requests/2.27.1 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.7

File hashes

Hashes for spade_bdi-0.3.0.tar.gz
Algorithm Hash digest
SHA256 bc58345816799f31a01d7a3e4f36701f80e1313f3c73cb5fd42db4be3ac60d86
MD5 3cd1a65e544fd7ef9c930270a17ee8a8
BLAKE2b-256 846f6651980ca8f12ca9f69616bb7f83ccd03259115e2e1ec28caea5034fe399

See more details on using hashes here.

File details

Details for the file spade_bdi-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: spade_bdi-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.8.2 requests/2.27.1 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.7

File hashes

Hashes for spade_bdi-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f799db03622fea35f9fc7ddc108bb2f823c6f8c4621271848b2795d72ea9c56d
MD5 9074c74e89a64ea9a88d5af8cd8dcbb9
BLAKE2b-256 2888c40e89e47b086fed9b9cf8001ea5af4f70061201ad4a20cf1af546bd1a20

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

This release

0.3.0 This release

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page