>> I don't know too much about purpose of has_info & is_dirty, >> but when we store something into session for later use we have info. >> > > Maybe has_info() is really the wrong name here. The way Quixote uses it, > maybe the name should be is_worth_storing(). Applications may not wish to > store sessions with certain combinations of 'info'. > > If has_info is False then session will be deleted on next http request. In current implementation of Quixote has_info is True when self.user is set or self._form_tokens is not empty! I suggest to check for self._items also (if we need to store objects into session): def has_info(self): return self.user or self._form_tokens or self._items I see that is_dirty is not used in current implementation.