Python is a scripting language as well as a high-level programming language, and is used extensively by Funtoo and Gentoo Linux. Portage, the ports system used by Funtoo and Gentoo Linux, is written in Python (along with bash-based ebuilds.)
Funtoo Linux contains many enhancements related to Python, and most of these enhancements are the result of integrating the Progress Overlay into Funtoo Linux. This new functionality allows Portage to do a much, much better job of keeping Python-based packages up-to-date on your system.
With the older python.eclass in Gentoo (and that used to be in Funtoo Linux,) no usable accounting information is stored by Portage so that it could "know" what versions of Python various ebuilds were built to use. This created a problem when new versions of python were installed, as Portage wasn't able to know how to update Python-based packages to work with any newer versions of Python that were installed.
This created the need for a separate tool, called python-updater which was used to rebuild all Python-related ebuilds so that they reflect the currently-installed versions of Python. This is clearly not an ideal solution. Ideally, Portage would be able to handle this itself, without requiring users to perform a separate step.
The new Progress Overlay that has been integrated into Funtoo Linux goes a very long way towards solving the prior problems that existed when dealing with Python-based packages/ebuilds. The Progress Overlay adds two important things. The first is a new eclass that allows new Python-related ebuilds to be written in a way so that Portage can understand what versions of Python they were built against.
offers two important things -- a new eclass with new capabilities, and hundreds of updated Python-related packages that take advantage of these new capabilities.
python.eclass from Arfrever has a new API that can be used to write python ebuilds. When this API is used, Portage can track and resolve missing builds of python modules internally, so python-updater is not needed to be used for these ebuilds. However, until all ebuilds are converted to the new API, python-updater will need to be used to update these old-style ebuilds.
For more information, see: