Tentu Anda bisa melakukannya dengan SQLAlchemy.
Yang perlu Anda lakukan adalah membuat mesin koneksi yang berbeda, masing-masing dengan pembuat sesinya sendiri. Tidak ada dalam SQLAlchemy yang membatasi Anda hanya pada satu database dalam satu waktu.
engines = []
sessions = []
for dbconninfo in databases:
engine = create_engine(dbconninfo)
engines.append(engine)
sessions.append(sessionmaker(bind=engine)())
Anda dapat menggunakan setiap sesi untuk menjalankan kueri, objek hasil dilampirkan ke sesi yang menghasilkannya, sehingga perubahan mengalir kembali ke database yang benar. Pelajari dokumentasi sesi secara detail, untuk melihat apa yang terjadi jika Anda menggabungkan objek dari satu sesi ke sesi lain, misalnya.