This would allow us to get rid of the current two-process model for cscore/apriltag processing.
HOWEVER -- there's probably a bunch of code that implicitly assumes that core python objects are thread safe -- in particular, there's a variety of reference tracking structures in robotpy that depend on the gil.
Another big constraint is that all compiled extensions must be compiled in nogil mode -- but we control most of them so that's probably fine.
This would allow us to get rid of the current two-process model for cscore/apriltag processing.
HOWEVER -- there's probably a bunch of code that implicitly assumes that core python objects are thread safe -- in particular, there's a variety of reference tracking structures in robotpy that depend on the gil.
Another big constraint is that all compiled extensions must be compiled in nogil mode -- but we control most of them so that's probably fine.