Nuitka 0.6.6 has been released. This is a compiler that allows you to translate a Python script into a C ++ representation, which can then be compiled into an executable file using libpython to ensure maximum compatibility with CPython (using regular CPython tools for managing objects) . Fully compatible with current releases of Python 2.x and 3.x. Compared to CPython, compiled scripts show up to 312% higher performance in pystone tests. Project code is distributed under the Apache license.
The new version adds experimental support for Python 3.8 and provides compatibility with libraries and applications sklearn, osgeo, gdal, dill, scikit-image, skimage, weasyprint, dask, pendulum, pytz and pytzdata. Distutils adds support for individual modules (py_modules, not just packages) and packages with separate namespaces. Work with variables in loops has been optimized and optimized options for the abs and all built-in functions have been implemented, as well as accelerated operations with int and long types. Numerous improvements have been made to reduce memory consumption.
In addition, it is possible to postpone the end of support for the Python 2 branch from January to April. In April 2020, the last final update of the Python 2.7 branch will be generated, after which the corrective releases will not be published. At the same time, work on fixing vulnerabilities in Python 2.7 will be continued by community representatives who are interested in continuing to support this branch in their products. For example, Red Hat will continue to maintain packages with Python 2.7 throughout the entire life cycle of RHEL 6 and 7 distributions, and for RHEL 8 it will generate package updates in the Application Stream until June 2024. Recall that the Python 2.7 branch was formed in 2010 and it was originally planned to stop supporting it in 2015, but due to the insufficiently active migration of projects to Python 3, the lifetime of Python 2 was extended to 2020.