Our school year is beginning its accelerated (yet also somehow drawn-out) race to the end so I am a bit more preoccupied with that these days. Sorry I have been out of the loop.
This discussion is wonderful, and though you are both significantly more well-versed than me in these matters, it gives me hope that the python library may be doable. A few observations.
As for robot py, it can indeed be programmed right on the Rio itself. We have done this at events before. What robot.py deploy seems to do is grab all the dependencies and send them to the Rio. I do no think more is involved. I think the big compile pieces happen at install (for both robot py and the vendor libraries) and at run time. However, I may be mistaken. I seem to remember a PR on building Robotyp for raspbian, so that could be a sticking point.
As for non-frc devices. Wpilib seems to have generic communication protocol for all of their IO (Analog, DIO, PWM, I2C, SPI, UART, etc). Yet, they also seem to not always be consistent. If you peruse Chief Delphi, you can see many people having difficulty with many of the functions for I2C and SPI specifically. The other option is of course to use network tables.
As for robotpy and third party, that is always the rub. In theory, the fact that both robotpy would be similarly implemented on the VMX as the Rio and that (c++)VendorLibs are similar as well, it should work with few modifications. Yet, things may not be so simple.
I did get the PixyCam2 working with Java on the VMX-Pi both through network tables (by using a second raspberry pi), and directly through I2C (many thanks to the Kauai team for routing out and quashing that bug) using the
PseudoResonance library. I am incredibly excited about this because it means I can work on learning targeting (one of the many things we never get to every season) without using the powercell (which my dog loves) or our limelight (which I do not want to bring home for fear of damage).
I am not sure if I added much but just wanted to jump in and say I am excited about this discussion and with the prospects that lie herein. When I get some time, I will attempt to tackle robotpy and see how quickly things go awry.
Thank you again for your vision and discourse.
~Jacob