passlib 1.7.4 (unmaintained since 2020) is incompatible with bcrypt>=4.0:
- bcrypt 4.x removed bcrypt.__about__ (passlib version probe fails)
- bcrypt 4.x enforces 72-byte password limit strictly, crashing
passlib's detect_wrap_bug() compatibility test during context init
Pinning bcrypt<4.0.0 is the standard workaround until passlib is replaced.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>