Attrcheck is a project mainly written in Python, it's free.
attribution checker for python implemented as a decorator
attrcheck: attribution checker for Python
Copyright (c) 2011, Jun Namikawa [email protected] License: ISC License (ISCL)
This is a simple attribution checker implemented as a decorator for Python. All functionality are provided as keyword arguments of the decorator.
=== Example ===
from attrcheck import attrcheck
@attrcheck(x=['real'], y=['index', 'strip'], z=dir(list))
def foo(x, y, z=[]): pass
The code above means the following:
def foo(x, y, z=[]):
if not hasattr(x, 'real'):
raise AttributeError
if not hasattr(y, 'index'):
raise AttributeError
if not hasattr(y, 'strip'):
raise AttributeError
for name in dir(list):
if not hasattr(z, name):
raise AttributeError
In addition, attrcheck can check default argument values. Thus, the following code throws AttributeError.
@attrcheck(y=dir(str))
def bar(x, y=[]): pass