Hey @mkcor,
That sounds like a good idea, and dynamic dispatching can help. Although I am not the best person to implement this. I don’t use networkx or scikit-image daily in my work, so I don’t necessarily need this new backend myself. So I believe my effort would go to waste.
I can fork networkx and scikit-image and merge all the optimizations found and create a “optimized-networkx” or “optimized-scikit-image” versions that pass all the tests, which your users can use as a drop in replacement.
To be honest, I don’t desire to publish a fork since that fragments the landscape and duplicates effort, which is why I wanted to contribute upstream.