After many years of never having a need to use a Raspberry Pi, or other LinuxOS SBC, I've finally been thrown a project where a multi-core 64-bit processor is required.
I've also been pushed back into using Python where I am having to use various SPI and I2C based sensors.
Having grown so used to, and still love using, microcontrollers and C or C++, this would be fairly straightforward and if using Arduino there are libraries already available to deliver what I need.
So I am rather perplexed by what I am seeing within the SBC - Linux ecosystem.
On the one hard, we have Linux OS and within we have the kernel, and within the kernel we have the possibility to use all these amazing hardware drivers, which are freely available to install and the code is also open to review: https://github.com/torvalds/linux/tree/master/drivers/hwmon
As someone familiar with C/C++ this all looks very comforting.
And then I am confronted with Python. This software has now become the go-to option for many early stage application development projects probably due to Raspberry Pi's popularity.
Now, regardless of the config used (i.e. pure Python or a hybrid with CircuitPython or some other combo), it appears that all these commonly available Linux kernel sensor libraries are simply ignored by Python libraries. How so?
All these Python libraries appear to be relying on "spi-dev" or "SMbus", which are very generic and in the case of spi, this spi-dev is being phased out.
I feel I am missing a trick somewhere and that there are all these LinuxOS + Python experts secretly taking advantage of all these efficient hardware drivers but are just not telling others about it.
So I thought to throw this question out to our community experts so that some can spill the beans, as so far I could only find one related stack overflow question and the feedback in the post was uncharacteristically weaker than most: https://stackoverflow.com/questions/62077718/do-python-libraries-make-use-of-linux-device-driversI
Examples of how you've done this will get bonus points.
I look forward to comment/feedback.