User: Inputs or selects Python code or a whole project to be upgraded.
System: Generates new Python code that supports the newer version
of the dependency and it is functionally the same as the older code.
Also generates required changes to build and configuration files.