chisurf.decorators module

chisurf.decorators.register(cls)[source]

Decorator to make a class a registered class.

Example usage:

@chisurf.decorators.register
class A1():

pass

@chisurf.decorators.register class B():

pass

@chisurf.decorators.register class A2(A1):

pass

class A3(A1):

pass

a1_1 = A1() a1_2 = A1() a2_1 = A2() a3_1 = A3() b = B()

assert a1_2 in a1_1.get_instances() assert a2_1 not in a1_1.get_instances() assert a3_1 in a1_1.get_instances() assert b not in a1_1.get_instances()

chisurf.decorators.set_module(module)[source]

Decorator for overriding __module__ on a function or class.

Example usage:

@set_module('numpy')
def example():
    pass

assert example.__module__ == 'numpy'