Dev.to Security 🔐 Cybersecurity 👁 0 📖 1 min read

Solved: AttributeError: module 'bcrypt' has no attribute '__about__' in Python 3.12 & 3.13 (FastAPI JWT Auth)

🛡️ Fixing ValueError: password cannot be longer than 72 bytes in Python 3.12 / 3.13 (passlib + bcrypt) When deploying FastAPI authentication routes using passlib[bcrypt] on Python 3.12 or Python 3.13, newer versions

Solved: AttributeError: module 'bcrypt' has no attribute '__about__' in Python 3.12 & 3.13 (FastAPI JWT Auth)

🛡️ Fixing ValueError: password cannot be longer than 72 bytes in Python 3.12 / 3.13 (passlib + bcrypt)

Python 3.13 Verified
ShipAI Boilerplate

When deploying FastAPI authentication routes using passlib[bcrypt] on Python 3.12 or Python 3.13, newer versions of bcrypt (>= 4.1.0) raise:

ValueError: password cannot be longer than 72 bytes, truncate manually if necessary

during passlib's internal detect_wrap_bug startup check.

✅ The Instant Production Fix

Pin bcrypt==4.0.1 alongside passlib[bcrypt] in your requirements.txt:

fastapi
uvicorn
passlib[bcrypt]
bcrypt==4.0.1
python-jose[cryptography]
pydantic[email]

🎁 Building a FastAPI + AI Micro-SaaS in 2026?

Don't waste 30+ hours debugging Python 3.13 auth, JWT bearer guards, SaaS user credit quotas, and Google Gemini structured JSON outputs from scratch:

🚀 Try the Live Sandbox, Install via PyPI, or Grab the Full Source Code

  • 🐍 Install the Official Python CLI Blueprint from PyPI:
  pip install fastapi-gemini-blueprint
  shipai-blueprint
📰 Read the original article on Dev.to Security

Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.