I'm actually playing with the same idea - using jupyter notebooks to remote control visio.
I've seen many tutorials demonstrating awesome stuff with excel. It's a very trivial conclusion to try to do the same with visio.
As of my current opinion about these notebooks,
- they bring a convenient way to solve everyday problems step by step,
- they can be saved as to replicate the steps for later usage,
- their functionality can be improved over time, as they are used,
- python is far superior to VBA in matters of OOP, easy and clean coding, ...
- there are so many libraries for so many problems that it will be difficult not to find the right one for yours
These Jupyter notebooks have the potential to de-throne excel as tool of choice for regular engineers ... and for visio users.
My ideas for this project would be to begin implementing a comfortable set of "visio.utils": getAllShapes, getCellValue, set..., selectShapes(where, criteria, ...), and so on.
Speed is absolutely not an issue. Most of the problems I encoubter in everyday practice are related to finding the right solution for a problem. Very few relate to speed issues. When the latter occurs, I can optimize the solution ... and there are so many ways to do it.
Having an interactive tool would really be a plus for visio.
The forum regulars probably know my shapes manipulations tools and my efforts in creating a generic solution for graphs à la 3D.js. "Jupyter-Visio" could be a more intuitive way to do the same.
I encourage everyone in the forum to investigate Jupyter, Anaconda and JupyterLab.