Esta pergunta/resposta é talvez uma duplicata desta, então vale a pena verificar isso primeiro Escrevendo uma string de conexão quando a senha contém caracteres especiais
De acordo com a documentação do SQLAlchemy
the string format of the URL is an RFC-1738-style string.
De acordo com a definição 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.
Para este fim, eu suporia que sua senha (e nome de usuário para esse assunto) precisa ser codificada em URL para garantir que esses caracteres sejam escapados adequadamente. De acordo com Como urlencode uma querystring em Python? isso pode ser feito em python usando
urlencode()