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 language and built-in library, and it is functionally the same as
the older code. Also generates required changes to build and
configuration files.