Bumping Python version (upper bound) to 3.14

Hi there!

I’d like to contribute to raise the upper bound on the Python version to 3.14. The current upper bound is 3.10, which is receiving security fixes. Python < 3.10 is EOL. The current latest Python is 3.14, with 3.15 being released later this year.

Could anyone briefly point out what needs to be validated before this bump is possible? What are the blockers?

There are no blocks code wise. The reason we’re slower to adopt newer versions is to maintain binary compatibility to third-party libraries which do not get updated frequently but are widely used (eyetrackers, button boxes, etc.)

I’ve been doing some updating here and I can confirm:

  • the test suite now passes for Python 3.12 (I didn’t try beyond but we can)
  • tobii_research does not support python beyond 3.10 so eyetracking users won’t want newer python installations (although I am in touch with tobii and trying to encourage them to update too)

I don’t know what further blockers there would be for py3.14 as I simply haven’t tried

Cool, thank you! I’ll try bumping to 3.13 and 3.14 and seeing if the tests pass and update here.

Ah, I’ve spotted another issue for windows, which is that pywinhook wheels are not available beyond py3.11.

iohub uses pywinhook for fetching mouse/keyboard events and I’d suggest we

  • switch that to use the better-maintained pynput package
  • also ask Richard Hoechenberger (who apparently has access to the pywinhook project on pypi) if he can add some newer wheels. I have his email