in common with any of the other modules in protocols. It can also be used in a calculator as well, which is the most popular usage of OTP :)
Hmm. A calculator? I must admit I'm a little confused by that, but okay...
A password calculator :)
reset, this is not done automatically since this needs to be implemented in each protocol; or by an util which has to be run on the serverside on a secure connection.
This is the reason I felt it should be in protocols. It requires specific support from various protocols, and it's not generally useful in (most?) non-networked applications...
In its current state there is no protocol specific issues. All it does is to return strings which the protocols may use. The reason I don't feel it shouldn't be in protocols is that it does not depend on anything in twisted for operation. Nor is it protocolbound, actually the logic place to use it is in passport.Identity. And generate the object otp.OTP each time the password is set. But if you wish, I can move it.