Log messages not appearing
There is a bug in the setup_logging() routine in colabfold/colabfold/utils.py. If setup_logging() is called twice for two consecutive runs in a Python notebook then no log messages appear. ChimeraX was calling setup_logging() on each run and had this problem. The cause is that this code in setup_logging():
if root.handlers:
for handler in root.handlers:
root.removeHandler(handler)
Loops over a list (root.handler) and the body deletes entries from the same list (root.removeHandler(handler)). Python does not give an error but all the logger handlers don't get removed. Only the iPython notebook handler is removed when a second setup_logging() call is made. Then the next line in setup_logging() logging.basicConfig() does nothing as it is documented not to do anything if handlers already exist.
I've worked around this bug in ChimeraX use of ColabFold by making sure setup_logging() is only called once, but it would be good to fix this subtle error using
for handler in list(root.handlers):
...