Python Agents
Sort of includes Python rule engines and inference engines to some extent ... if there are any left.
Spade
https://github.com/javipalanca/spade - Last Upload 2013-05-27
https://pypi.python.org/pypi/SPADE
SPADE (Smart Python multi-Agent Development Environment) is a Multiagent and Organizations Platform based on the XMPP/Jabber technology and written in the Python programming language. This technology offers by itself many features and facilities that ease the construction of MAS, such as an existing communication channel, the concepts of users (agents) and servers (platforms) and an extensible communication protocol based on XML, just like FIPA-ACL.
Many other agent platforms exist, but SPADE is the first to base its roots on the XMPP technology ... agents must fulfill is to be able to communicate through the XMPP protocol.
http://pythonhosted.org//SPADE/
https://github.com/javipalanca/spade/blob/master/runspade.py
Contains XMPPD - eXtensible Messaging and Presence Protocol Daemon
https://github.com/javipalanca/spade/blob/master/xmppd/xmppd.py
https://code.google.com/p/spade2/source/browse/trunk/xmppd/xmppd.py
If it works, it ain't pretty. May have problem with MS Windows
http://www.python-forum.org/viewtopic.php?f=10&t=13177
I am searching for a multi agent development tool kit for python + Windows 7. I tried to install SPADE and it was not a success. Found out that for some reason it doesn't support windows any more. Installation end up with the error message -> "A critical module was not found. Probably this operating system does not support it. Pexpect is intended for UNIX-like operating systems."
Pykka
https://pypi.python.org/pypi/Pykka
http://www.pykka.org/en/latest/
Pykka is a Python implementation of the actor model. The actor model introduces some simple rules to control the sharing of state and cooperation between execution units, which makes it easier to build concurrent applications.
PEAK Rules
https://pypi.python.org/pypi/PEAK-Rules
PEAK-Rules is a highly-extensible framework for creating and using generic functions, from the very simple to the very complex.
Out of the box, it supports multiple-dispatch on positional arguments using tuples of types, full predicate dispatch using strings containing Python expressions, and CLOS-like method combining. (But the framework allows you to mix and match dispatch engines and custom method combinations, if you need or want to.)
>>> from peak.rules import abstract, when, around, before, after >>> @abstract() ... def pprint(ob): ... """A pretty-printing generic function""" >>> @when(pprint, (list,)) ... def pprint_list(ob): ... print "pretty-printing a list" >>> @when(pprint, "isinstance(ob,list) and len(ob)>50") ... def pprint_long_list(ob): ... print "pretty-printing a long list" >>> pprint([1,2,3]) pretty-printing a list >>> pprint([42]*1000) pretty-printing a long list >>> pprint(42) Traceback (most recent call last):
http://peak.telecommunity.com/DevCenter/FrontPage
http://peak.telecommunity.com/DevCenter/PEAK-Rules#toc
http://peak.telecommunity.com/DevCenter/RecentChanges - 2011-08-31
Download PEAK Rules ( about 110 KB ) - http://peak.telecommunity.com/snapshots/
States that it requires: BytecodeAssembler, DecoratorTools, AdddOns, Extremes
Also requires PEAK package ( Python Enterprise Application Kit ), various peak.util functions, last release 10-May-2008 11:17 1.0M
Turns out to be something like Warren Machine ...
Also See
https://bitbucket.org/johanneskoester/snakemake/wiki/Home
Build systems like GNU Make are frequently used to create complicated workflows, e.g. in bioinformatics.
This project aims to reduce the complexity of creating workflows by providing a fast and comfortable execution environment, together with a clean and modern domain specific specification language (DSL) in python style ...
For Snakemake, you need a working installation of Python >= 3.2.
https://bitbucket.org/johanneskoester/snakemake/wiki/FAQ
https://bitbucket.org/johanneskoester/snakemake/wiki/Documentation