| Reference | Downloads | Github

ioHub not working with updated PyTables API (no camelCase)

I’m trying to feed PsychoPy with my serial device using ioHub. Apparently, in ioHub/datastore/ (and other ioHub modules as well) PyTables’ method openFile is used, which has changed from camelCase to more pythonic open_file.

I’m using PsychoPy 1.85.3 in a virtual environment and installed via pip from the git master branch directly. The installed PyTables version is 3.4.2.

I’m not quite sure how to proceed, as changing the code might break backwards compatibility. As the PyTables API also has been updated for other methods, this might have a bigger impact. For now, specify the version of PyTables in the requirements is probably the best solution?

p.s.: I would love to contribute to this project, I may however have quite some questions at the beginning. Which is the best place to put some rather quick (sometimes maybe stupid) questions? Is there an IRC channel or something?


Hi Robin,

It sounds like you should definitely join the PsychoPy project at GitHub if you haven’t already:

There is a chat thing at but we are still trying to get our heads around it.

Note that we’ve resisted changing the PsychoPy API from camelCase to snake_case exactly because of the unnecessary incompatibility issues it would cause… In this particular case, you could probably monkey patch the offending ioHub functions, which wouldn’t cause problems with other scripts, but as you note, there might be other issues.

ioHub is getting a bit vulnerable to issues like this and the developers (especially @richard) are looking into what to do about that. Any input on specific issues would be very welcome.

Thanks Michael, sounds good to me!
Looks like the gitter has no public rooms. However, I will definitely dive deeper into ioHub, since I’m using multiple serial devices and this approach to manage them makes perfect sense to me. I guess for now I’ll be reading and understanding code, first :wink:

Hi @schubisu, thanks for bringing this up! The best place to report and discuss issues like this is the issue tracker on GitHub. We’re actually running tests with PyTables 3.4.2 (, and they all pass. The problem is that iohub test coverage is pretty much non-existant, and ioHub has been unmaintained for a long time now, therefore we’re also in the process of discussing the possibility of replacing it with something else.

I would suggest you open a GitHub issue and we’ll continue the discussion there and/or invite you to Gitter! :slight_smile: