I get this locally too, but the pytest logs on CI actions also show a warning:
C:\Miniconda\envs\testing\lib\site-packages\networkx\utils\backends.py:143: RuntimeWarning: Error encountered when loading info for backend parallel: partially initialized module 'networkx' has no attribute '_dispatchable' (most likely due to a circular import)
I suspect nx-parallel is being imported as part of the networkx import and nx-parallel is importing networkx as part of its import, so we're getting a circular import.
I think the solution is to delay importing networkx from within nx-parallel until after nx-parallel is fully imported. I haven't looked for all the places that import networkx but I suspect it is quite a few.
Is there an easier approach? How does graphblas-algorithms do it? @Schefflera-Arboricola are you getting this warning also?
Other backends only get loaded when needed such as when calling one of their backends. The networkx.backend_info entry-point is used to provide information without importing the backend (or networkx).
I get this locally too, but the pytest logs on CI actions also show a warning:
I suspect nx-parallel is being imported as part of the networkx import and nx-parallel is importing networkx as part of its import, so we're getting a circular import.
I think the solution is to delay importing networkx from within nx-parallel until after nx-parallel is fully imported. I haven't looked for all the places that import networkx but I suspect it is quite a few.
Is there an easier approach? How does graphblas-algorithms do it? @Schefflera-Arboricola are you getting this warning also?