It's possible to do, but it gets really tricky with the current version of IRIS and IKO.  The networking piece alone is very complex.

If you can, my advice is to wait for this to be added as an official feature of IRIS & IKO.  The design that we've been working through involves making services in each cluster so that all the mirror members can see each other, which is a far simpler design than what you need to do today. 

If you're using Python with IRIS through the traditional client/server model - such as DB-API driver or the NativeAPI, you can update from the minimum Python version.

If you're using embedded python (that is, Python running in-process with IRIS), then the version of Python you can use is tied to your OS and can't (yet) be upgraded.  They're listed here.  We are currently working on the ability to upgrade the Python runtime used by embedded python - expect to hear more about that soon.

If you're using the various IRIS-first EP workflows (setting [language=python] on a method in a class or using Python for your stored procedures, etc), then the python code is stored along with the class.  In that case, the python source is stored with your routines.  Assuming you have them stored on your data server, then it'll work just as you'd expect.

If you're using a Python-first workflow (create myapp.py and `import iris` from there), you'll need to stage your .py files on all the servers.

Regarding the new topology.data.irisDatabases.seed field, the field is used to let you create databases that start with some starting data in them instead of the usual empty database.  This is useful for applications that typically start with some basic information in them.  Here's the link to the docs, if they help.

https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls...