Giter Site home page Giter Site logo

mudpuppy's Introduction

mudpuppy is a Python based automation agent/client for make-magic

It allows you to write independant 'modules' in Python code, to automate
items in a make-magic task.  When run, mudpuppy will poll a make-magic
server for tasks that are outstanding, and will complete any items with
which it has a module for. Once the module has run successfully, mudpuppy
will tell make-magic that the item has been completed, and then will look
for more work to do.

There are some example modules in modules/test.py. The simplest case is:

class TestModule(Automatia):
        '''Test item automation model
        Successfuly automates a specific item
        '''
        can_handle = ('TestModuleItem',)

        def do_magic(self):
		print "Hello world"

which will automate an item with the name 'TestModuleItem' by printing
"Hello world" to stdout, and then returning successfully (allowing the
item to be marked as complete).

In config.py you can define both the API URL of your make-magic server, 
as well as a list of modules to load. Only modules listed in the
installed_items config item will by loaded by mudpuppy. 

There is also a helper base class that allows you to easily kick off
an Orchestra job, wait for it to complete, and optionally update the
make-magic task state from the key/value pairs returned by Orchestra.
This makes it very easy to integrate Orchestra with make-magic/mudpuppy
with very little work. Look in modules/test.py for some examples for
doing this.  See https://github.com/anchor/orchestra for more information
about Orchestra.

Although make-magic is designed to be able to be used with almost no python
knowledge, mudpuppy is specifically designed to automate items with python
code; Feel free to implement agents such as this in any other language you
wish.

For more information on make-magic, see https://github.com/anchor/make-magic

mudpuppy's People

Contributors

dbasden avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.