Currently both DynamicCore and StaticCore extend HybridCore. This is a bit strange inheritance hierarchy in general, but it's especially stupid to check does a library extend any of these by using isinstance(library, HybridCore). It would be better to have a common base class named LibraryCore or RobotLibraryCore that all concrete lib cores extend. It would allow using isinstance(library, RobotLibraryCore).
Until this common base class is implemented, it's probably best to use isinstance(library, (HybridCore, DynamicCore, StaticCore)) with any generic code. That's both more explicit than just using isinstance(library, HybridCore) and also works if and when other cores don't anymore extend HybridCore.
Currently both
DynamicCoreandStaticCoreextendHybridCore. This is a bit strange inheritance hierarchy in general, but it's especially stupid to check does a library extend any of these by usingisinstance(library, HybridCore). It would be better to have a common base class namedLibraryCoreorRobotLibraryCorethat all concrete lib cores extend. It would allow usingisinstance(library, RobotLibraryCore).Until this common base class is implemented, it's probably best to use
isinstance(library, (HybridCore, DynamicCore, StaticCore))with any generic code. That's both more explicit than just usingisinstance(library, HybridCore)and also works if and when other cores don't anymore extendHybridCore.