Bien sûr, vous pouvez le faire avec SQLAlchemy.
Tout ce que vous avez à faire est de créer différents moteurs de connexion, chacun avec son propre créateur de session. Rien dans SQLAlchemy ne vous limite à une seule base de données à la fois.
engines = []
sessions = []
for dbconninfo in databases:
engine = create_engine(dbconninfo)
engines.append(engine)
sessions.append(sessionmaker(bind=engine)())
Vous pouvez utiliser chaque session pour exécuter des requêtes, les objets de résultat sont attachés à la session qui les a produits, afin que les modifications soient renvoyées à la bonne base de données. Étudiez la documentation de session en détail, pour voir ce qui se passe si vous deviez fusionner un objet d'une session dans une autre, par exemple.