Dear ecCodes users,
We wanted to make you aware of these two important changes in the upcoming 2.29.0 release of ecCodes.
First, the old "python2" bindings of ecCodes, those installed directly with the main distribution, will not be available anymore. Python2 has been deprecated since 2020 (see https://www.python.org/doc/sunset-python-2/) and in order to simplify the software we have decided to remove it from the distribution. You can install the Python3 compatible bindings, which are still API compatible with the Python2 ones (that is, you will not have to change your programs beyond adapting them to use Python3) following these instructions ecCodes installation#Python3bindings. In addition to the "pip3" installation, the source code is available in a separate git repository that you can check here https://github.com/ecmwf/eccodes-python, and is also available as a "brew" or "conda" package and as native packages (rpm, deb) for many Linux distributions too.
See also Python 3 interface for ecCodes for further information on the Python3 interface.
Second, from this version ecCodes will be built with a C++ compiler instead of a C compiler, so in case you choose to build from the source code, you will need to make sure that such a compiler is available in your build platform. ecCodes is being built with C++ as a preparation for further evolution in the code, that will take advantage of better object-oriented features, the standard C++ library, and other C++ ECMWF packages.
Even if the software is compiled with C++, the C and Fortran APIs are unchanged, so your programs should be able to link to it without any change.
Please open a ticket through our support portal (https://support.ecmwf.int) if you have any question or concern.
ECMWF Software Development Team