LaboratoireMecaniqueLille / crappy

Command and Real-time Acquisition Parallelized in Python
https://crappy.readthedocs.io/en/stable/
GNU General Public License v2.0
81 stars 16 forks source link

Add support for Python 3.13 and drop 3.7 and 3.8 #63

Closed WeisLeDocto closed 3 days ago

WeisLeDocto commented 1 year ago

Python 3.11 has been released more than a year ago, and Python 3.12 a few months ago. However, there has not been any specific effort so far for ensuring that Crappy runs as expected on these version. At the very least, Crappy should be built and tested on these versions. The version tags on PyPI should then be updated accordingly.

Also, Python 3.7 now has the end-of-life status, and is not distributed with the recent Linux distributions. Ubuntu 20.04 (April 2020) is distributed with Python 3.8, and Debian Bullseye (August 2021) is distributed with Python 3.9. Windows 10 and 11 allow installing Python 3.7 to 3.12 directly from the Microsoft store. Support for Python 3.7 can therefore reasonably be removed from Crappy. The version tags on PyPI should then be updated accordingly.

After removing support for Python 3.7, the novelties added in Python 3.8 can be added to the code. That includes the walrus operator, or the possibility to use keyword-only and positional-only arguments.

Ideally, the installation and import of Crappy on all the supported Python versions and platforms should be tested automatically in a GitHub workflow.

ToDo

WeisLeDocto commented 2 weeks ago

UPDATE:

A year has now passed and this issue is still pending. Since then, Python 3.13 has been released, and Python 3.8 has reached end of life.

Therefore, the issue will be updated so that versions 3.9 to 3.13 are supported, and features from 3.8 and 3.9 can now be added. The title of the issue will also be updated.

WeisLeDocto commented 3 days ago

Closed with #135 and #136