Migration to keras 3
Python 3.12+ requires Tensorflow 2.16+, which requires Keras 3. Keras 3 implemented a complete rewrite enabling "multi-framework machine learning", using any of JAX, TensorFlow, and PyTorch and moving between them ~seemlessly. https://keras.io/keras_3/ We won't be able to add 3.12 support to any project relying on phygnn (mlclouds, sup3r, nsrdb, etc) until we add support for Keras 3. For us this is not as significant but it will require modification of saving / loading models (save_model, load methods) using a new file format .keras and accommodating some new method signatures. https://keras.io/guides/migrating_to_keras_3/
This will also require converting old models to the new .keras format, as making things backward compatible with .pkl models seems annoying and doesn't take advantage of efficiencies provided by the new format. I think this is relatively easy to do - load old models and then save with .keras extension, but there might be some non-trivial aspects due to custom model components.
I am excited about the prospect of reducing tight coupling with TensorFlow and opening up possibilities for easier scaling with PyTorch. Converting file formats alone will also make it easier to bump versions in the future as lots of annoyances resulted from having to deal with .pkl models.