Natuurlijk kun je dat doen met SQLAlchemy.
Het enige dat u hoeft te doen, is verschillende verbindingsengines maken, elk met hun eigen sessiemaker. Niets in SQLAlchemy beperkt u tot slechts één database tegelijk.
engines = []
sessions = []
for dbconninfo in databases:
engine = create_engine(dbconninfo)
engines.append(engine)
sessions.append(sessionmaker(bind=engine)())
U kunt elke sessie gebruiken om query's uit te voeren, resultaatobjecten worden gekoppeld aan de sessie die ze heeft geproduceerd, zodat wijzigingen terugvloeien naar de juiste database. Bestudeer de sessiedocumentatie in detail, om te zien wat er gebeurt als u bijvoorbeeld een object van de ene sessie in een andere zou samenvoegen.