I not a software developer most definitely not a python developer nor a yum specialist;
so the next can be not accurate or even completely wrong, still i think it valuable to try to describe my findings.
Yum update from the command line and yum update from the server-manger (GUI) are completely different beasts.
The yum update
from the command line populates a transaction-object which includes the whole dependency resolve result. It does this thought cli.YumBaseCli() by building a transaction object which is run / done
(doc YumBaseCLI)
The server-manager update (amusing we did not select packages to be installed/removed) makes a transaction object solely for the update action.
as i see it the “cli method” in not easy to implement , it can only run one command (install update remove) at once.
Hope it helps a real software-developer