NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #567 most downloaded on PyPI
Python One Time Password Library
Last release 3 months ago
14 Jun 2026
Release timing varies
gaps range from 3 months to 2.9 years
Most releases are documented
notes for 16 of 25 stable releases
Nothing withdrawn
no release was ever pulled
15 years old
25 releases · first in 2011
Fix parse_uri mis-parsing of encoded colon in issuer/account name
Add parse_uri() support for Steam TOTP
Add parse_uri() support for Steam TOTP (#153)
Test and documentation improvements
One column per quarter.
Modify OTP generation to run in constant time
Modify OTP generation to run in constant time (#148)
Documentation improvements
Drop Python 3.6 support; introduce Python 3.11 support
Build, test, and documentation updates
Support Steam TOTP (#142)
Raise default and minimum base32 secret length to 32, and hex secret length to 40 (160 bits as recommended by the RFC) ( #115 ).
parse_uri accepts and ignores optional image parameter
Add optional image parameter to provisioning_uri
parse_uri: Fix handling of period, counter
Add support for parsing provisioning URIs
Fix comparison behavior on Python 2.7
Fix comparison of unicode chars
Fix comparison of unicode chars (#78)
Minor documentation and test fixes
Have random_base32() use ‘secrets’ as rand source
Have random_base32() use ‘secrets’ as rand source (#66)
Documentation: Add security considerations, minimal security checklist, other improvements
Update setup.py to reference correct license
Fix tests wrt double-quoting in provisioning URIs
Fix tests wrt double-quoting in provisioning URIs
Quote issuer QS parameter in provisioning\_uri. Fixes #47.
Quote issuer QS parameter in provisioning_uri. Fixes #47.
Raise an exception if a negative integer is passed to at() (#41).
Documentation and release infrastructure improvements.
Restore Python 2.6 compatibility (however, Python 2.6 is not supported)
Restore Python 2.6 compatibility (however, Python 2.6 is not supported)
Documentation and test improvements
Fix release infra script, part 2
Avoid using python-future; it has subdependencies that limit compatibility
Avoid using python-future; it has subdependencies that limit compatibility (#34)
Make test suite pass on 32-bit platforms (#30)
Timing attack resistance fix: don't reveal string length to attacker. Thanks to Eeo Jun (#28).
Support algorithm, digits, period parameters in provisioning_uri. Thanks to Dionisio E Alonso (#33).
Minor style and packaging infrastructure fixes.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →