Hi, I have recently been looking at Otava and getting it to support the latest versions of Python. Everything works fine up to Python 3.10.x and signal-processing-algorithms 1.3.5.
However Python 3.11 changes the signature of Random.shuffle() ( https://docs.python.org/3.10/library/random.html#random.shuffle) which breaks signal-processing-algorithms 1.3.5. To fix this we have to upgrade to at least signal-processing-algorithms 2.x. Unfortunately the 2.x series of the library has made substantial changes to the API. As a result this breaks the existing Otava code. I am looking for guidance on a way forward. Out options are: * Rewrite Otava solely to support the new library API. This would mean removing support for users with versions older than 3.11. * Write a wrapper API for both versions. This will support older versions of Python, but requires some additional coding and that wrapper has to be maintained. * Fork the existing 1.3.5 library and make the changes to support 3.11. We can decide if we want to make the fork backwards compatible with older versions and it isolates us from further changes to signal-processing-algorithms. * Some other option I may not have thought of. I am pretty new to Otava so I am very happy to defer to a consensus view on the best way forward. regards, Joe. -- Joe Drumgoole +087 2995547 https://bsky.app/profile/joedrumgoole.com