Description
We should discuss when to update to newer versions of the libraries and programming languages we use.
E.g., when there is a stable release (e.g., vX.0.0). Or when the stable release is matured (vX.1.0 or vX.0.1). This is of course dependent on the specific tool, but in most cases we should update earlier than later because of the burden that gets added with each update.
For the programming languages, we use:
-
C++14 -> Update to c++17/c++20. C++23 is developed but not mature.
-
Python 3.9 -> We should update to 3.11 as soon as there is a stable release. This is because the release notes say https://docs.python.org/3.11/whatsnew/3.11.html:
Python 3.11 is between 10-60% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite. See Faster CPython for details.
-
Cmake: TBD
For libraries, we use:
C++:
Library | Version | Most up-to-date-version | Required | Bundled | Notes |
---|---|---|---|---|---|
spdlog | 1.5.0 | 1.10 | Yes | Yes (git repo) | https://github.com/gabime/spdlog |
Eigen | 3.3.9 | 3.4.0 | Yes | Yes (git repo) | http://gitlab.com/libeigen/eigen |
Boost | 1.75.0 | 1.80.0 | Yes | Yes (.tar.gz archive) | https://www.boost.org/ |
JsonCpp | 1.7.4 | 1.9.5 | No | Yes (git repo) | https://github.com/open-source-parsers/jsoncpp |
HDF5 | 1.12.0 | 1.12.2 | No | No | https://www.hdfgroup.org/, package libhdf5-dev on apt (Ubuntu) |
GoogleTest | 1.10 | 1.12.1 | For Tests only | Yes (git repo) | https://github.com/google/googletest |
Python:
- pandas<1.2.0
- matplotlib
- tables
- numpy>=1.22
- openpyxl
- xlrd
- requests
- pyxlsb
- wget
- pyfakefs
- coverage
- pylint
- pylint-json2html
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status