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

Reply via email to