Embracing the Future: A New Era for Python 3

Embracing the Future: A New Era for Python 3

For far too long, Python 3 has been plagued by compatibility issues with its predecessor, Python 2. The design choices made for Python 3 led to syntax that is not compatible with Python 2, resulting in a significant investment of resources to support Python 2 users. The cost of migration has been substantial, and the process has been arduous, particularly for popular libraries such as NumPy and Pandas. These libraries have had to undergo significant changes to adapt to Python 3, introducing new risks and bugs in the process.

A Turning Point: The End of Python 2 Support

In 2020, the Python core team will cease supporting Python 2, marking the end of an era. This decision will finally allow users to migrate to Python 3, embracing the new features and capabilities that it offers. NumPy, in particular, has been supporting both Python 2 and Python 3 since 2010, but due to limited resources, supporting Python 2 has become increasingly burdensome.

A Smooth Transition: NumPy’s Plan

NumPy is committed to ensuring a smooth transition for its users. Here is the plan:

  • Prior to December 31, 2018, NumPy will continue to fully support all versions of Python 2 and Python 3.
  • From January 1, 2019, all new versions of NumPy will only support Python 3.
  • The final version of NumPy that will support Python 2 will be designated as a long-term support (LTS) version, which will receive bug fixes for a long time. Specifically, the community will support it until December 31, 2019.
  • On January 1, 2020, NumPy will cease supporting Python 2, but users can still use the final version indefinitely on PyPI.

Extending Support: A Commercial Vendor’s Option

If you wish to extend the LTS period, you can use the official NumPy library to coordinate with the vendor. If you are still using Python 2 support in 2020 or later, please contact your supplier. If you are a supplier who wants to continue supporting NumPy on Python 2 after 2020, please contact us.

Participating in Maintenance: A Call to Action

Ideally, we want you to participate in maintaining the LTS version before the end of its support period, ensuring a smooth transition to Python 3.

Other Tools Will Soon Follow

Other tools will soon give up supporting Python 2.x. The following projects have clearly stated that they will drop support for Python 2 in 2020:

  • [List of projects]

A New Era for Python

The end of Python 2 support marks the beginning of a new era for Python 3. With NumPy’s plan in place, users can finally migrate to Python 3, embracing the new features and capabilities that it offers.