Cette question/réponse est peut-être un doublon de celle-ci, il vaut donc la peine de vérifier cette première Écrire une chaîne de connexion lorsque le mot de passe contient des caractères spéciaux
Selon la documentation SQLAlchemy
the string format of the URL is an RFC-1738-style string.
Selon la définition RFC-1738
If the character corresponding to an octet is
reserved in a scheme, the octet must be encoded. The characters ";",
"/", "?", ":", "@", "=" and "&" are the characters which may be
reserved for special meaning within a scheme.
À cette fin, je suppose que votre mot de passe (et votre nom d'utilisateur d'ailleurs) doit être encodé en URL pour garantir que ces caractères sont correctement échappés. Selon Comment urlencoder une chaîne de requête en Python ?
cela peut être fait en python en utilisant urlencode()