Spye logo

Spye (Spye Python Engine)

The Spye engine is a free (as in freedom) plugin-based framework for rapid application development.

Spye was originally developed as an internal application development framework by Sikkerhed.org ApS.

Documentation

A spye reference can be found at /doc

Who uses Spye?

The Spye framework is most notably used by the open source configuration management and automation system MetaConfig.

License

The Spye framework is licensed under the GPLv2 GNU General Public License, version 2 (GPLv2).

Features

Easy I/O control

Spye makes it easy to control STDIN, STDOUT and STDERR as well as I/O to and from files.

Spye shell with auto-completion

All spye plug-ins can be accessed through the Spye Shell. Plug-ins are organized in a tree structure.

Spawn processes, capture output, control input

Spye provides methods to easily spawn new processes and capture their output.

Command-line argument parsing

Spye provides facilities to easily parse command-line arguments and options.

Config file parser

Support for multi-part configuration files.

Database access

Spye provides modules for access to common RDBMS such as PostgreSQL, MySQL, etc.

Examples

Hello world

Create the following file in $SPYE_ROOT/plugins/tdn/hello.py

import spye

class plugin(spye.plugin):
    "Hello world plugin"

    def meta_run(self):
        self.print_note("Hello world")

Output:

$ spye tdn hello run
[*] Hello world

Get involved

Join our IRC channel #spye on irc.freenode.net.

Bugs, feature requests, etc.

Bugs and feture requests can be submitted to the MetaConfig users mailing-list.