Bonsoir,
Alors j'ai réussi à faire en sorte que cela ne boucle plus récursivement, en remplaçant à chaque fois la fonction info() par __repr__ mais je dois avouer que je ne sais pas si c'est bien cela que vous attendiez.
Puisqu'on utilise __repr__, plus besoin de print(i.info()) un simple print(i) ou bien print(repr(i)) suffit
le: import os
ainsi que: os.environ["PATH"] += os.pathsep + 'C:/Program Files/Graphviz/bin'
sont là pour empecher une erreur en rapport avec Graphviz
Bonne soirée