Sorry Mariano, I misspelled your name in my last post :) To give you a better example of what you might want to do here is a more advanced module that makes a static class and better resembles the singleton pattern:
class Counter(object): instance = None @classmethod def get(cls): if cls.instance == None: cls.instance = Counter() return cls.instance def __init__(self, message='Hello World!'): self.message = message self.count = 0 def get_count(self): self.count += 1 return self.count def get_message(self): return self.message Then your controller would look something like this now: from mymodule import Counter counter = Counter.get() count = counter.get_count() return dict(count=count) By calling Counter.get() instead of Counter(), we ensure that there is only ever once instance of the Counter object, and that the object will last for the lifetime of the web2py instance.