Un enfoque sería usar el creator argumento de create_engine()
:
Simplemente modifique su make_sqlalchemy_string() para producir el dsn argumento para psycopg2.connect()
, lo que podría significar no tener que modificarlo en absoluto debido a formatos de cadena de conexión
y pasar al creador:
create_engine('postgresql://', creator=lambda: psycopg2.connect(make_dsn_string()))