Autonomic micro-framework for Python based on Application Utility functions
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc The last stable code drop from my old Google Code project page Aug 21, 2010


AUPY - Application Utility for Python
Version: 1.0
Released on: November 20, 2007
Version: 2.0
Released on: October 10, 2008

The codebase for Aupy2 is outdated and needs to be improved.
Some backwards compatible features (for Aupy1.0 style use) are buggy.
A updated version, using Python2.7 and current best practices is being
done in my spare time.  The current version should still be considered


AUPY is a bundle of utilties used to create and use utility functions within
your python code to evaluate a program's performance and behavior.  While the
idea of application utility was originally developed for economic models
and later applied in AI applications, it is extremely useful to create 
self-aware and self-monitoring applications; crucial in creating applications
that exercise autonomic abilities and characteristics.

Autonomic applications exercise four core self-managing characteristics:

Of these, AUPY can aid in achieving all except self-configuration.

These four characteristics can be employed at five levels of effectiveness
within autonomic systems, as defined by IBM:
Level 1 (Basic): All elements are managed independently; most systems today
Level 2 (Managed): Systems are collected and managed in groups.  System
  Awareness exists in some capacity and productivity is increased.
Level 3 (Predictive): The system collects and monitors data, recognizing
  patterns of operation and behavior.  This reduces the need for deep
  skills and system administration.
Level 4 (Adaptive): The system uses the monitored data and recognized
  patterns to take specific actions known as Service-Level Agreements.
  These actions manage performance, healing, and protection.
Level 5 (Autonomic): All components create a fully integrated and dynamic
  system completely managed by business rules and high level goals.

AUPY can aid in achieving up to level 4.

======================= - all of the AUPY functionality and decorators.  This file is
  used to define utility functions, functions to be monitored,
  atomic transaction functions, time-out functions, and more. - a self-aware FTP class for ftplib. - a self-aware socket library.  Currently it monitors throughput - an ftp client that is self-aware, using aupe_ftp, and
  optionally aupe_socket - example usage of aupe and its abilities - a wrapper to gather information on linux systems from /proc - a soft link to either or, the
  originally socket library.  Pointing this to inheritly
  makes ALL networked applications exercise the abilities of having
  application level utility for network operations.



There is still a lot of work to be done and aupy should be considered a
proof-of-concept of bringing elementary level application utility into
a language.  I wrote the original functionality in about an hour to
illustrate to the Software Engineering Research Group at Drexel
University the benefits of basic autonomic abilities in software.

Paul deGrandis

Thanks for checking AUPY out!