-
Notifications
You must be signed in to change notification settings - Fork 187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NEP 29: new release schedule for scientific python packages #3421
Comments
The <https://numpy.org/neps/nep-0029-deprecation_policy.html> NEP 29 - Recommend Python and Numpy version support as a community policy standard proposes a new release schedule for numpy. Major python >packages like matplotlib, jupyter and scipy have already adopted NEP 29, which means that most python dependencies of espresso will be affected >either directly or indirectly. The proposed release cycle is 42 months, which is slightly shorter than the 48 months time window for espresso (we support the >last two Ubuntu LTS).
I think we don’t support 16.04 for any support schedule reasons. We have it because we are stuck with it for ICP internal reasons.
This has consequences on our own release schedule. There is a handy support table <https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table> and drop schedule <https://numpy.org/neps/nep-0029-deprecation_policy.html#drop-schedule> to keep track of when to update our requirements.txt <https://github.com/espressomd/espresso/blob/python/requirements.txt> . >We'll have to be more strict about version pinning for the few python packages that cannot be installed from Ubuntu repositories, to avoid e.g. #3420 <#3420> . We >might have to drop support for Ubuntu 16.04 LTS in the planned espresso 4.1.3 release (due several months after Ubuntu 20.04 LTS is out), and tweak our >docker <https://github.com/espressomd/docker/blob/master/.gitlab-ci.yml> .gitlab-ci.yml to test Ubuntu 16.04 images against the 4.1.2 tag instead of the 4.1 branch.
Can’t we pin the pint version in the 16.04 container?
|
The requirement |
Description of changes: - reduce number of CI images for CUDA jobs (partial fix for #3611) - test CUDA 9.1 and 10.1 using compatible compilers without patches (fixes #3654) - drop support for Ubuntu 16.04 - bump minimal Boost version to 1.65 (partial fix for #3093) - bump Python packages to the versions available in Ubuntu 18.04 (partial fix for #3421) - add missing lxml package (fixes #3686) - fix issues in docs revealed by the new Doxygen and Sphinx versions
Currently the |
Actually we can only remove the @RudolfWeeber would you say the gain in readability is worth the trouble of remembering that the second argument has to be mutable? I would obviously take care of the merge conflicts in the waLBerla branch, and not touch the commented tests to avoid silent regressions. |
I don’t mind, either way.
|
is |
It's a surprising hurdle for writing tests, and as such we would be better off if it was not needed. |
I agree, but if we do not get rid of the calls completely I think it is not worth the effort. |
I wish we could remove |
Looking at the exact block where we return a For a long term solution, I looked at the numpy 1.13.0 new Relevant numpy docs: |
Update: we can't inject |
@jngrad is there some immediate issue that needs fixing here? Is it worth putting much thought into this? |
no
The fact that we have constructions in the code like addendum: besides the immediate effect of removing all occurrences of |
Just as a side note: The |
Description of changes: - bump CMake version requirement from 3.10 to 3.11 to get full support for imported targets * fixes a cryptic error message when compiling ESPResSo with FFTW3 using CMake 3.10 - bump Python version requirement from 3.5 to 3.6 (NEP 29, see drop table in #3421) * enables f-strings - fix flaw in `espressomd.utils.check_type_or_throw_except()` that lead to subtle errors when arrays had the wrong size - add tests for functions in `espressomd.utils`
having to |
Description of changes: - fix numpy 1.20 warnings about deprecated builtin types - bump Python packages to the versions available in Ubuntu 20.04 (as per #3421) - prevent running the constant pH tutorial with an unsupported `pint` version
Fixes #4488, fixes #4490, fixes #4491, fixes #4477 Description of changes: - require Python 3.8+ (as per #3421) - use `contextlib` in the testsuite to better handle `ImportError` from missing dependencies - use `pathlib` in the testsuite and scripts for portability on non-Posix environments - modernize python testsuite, fix broken test cases, improve code coverage - implement initial position offset for LEbc protocol `OscillatoryShear` - use new CI infrastructure: run jobs on 4 cores (reduce test runtime by 30%), update labels to better utilize GPU runners
The NEP 29 time table is now followed by ESPResSo, since we update dependency versions based on the Ubuntu LTS. Regarding modernizing This ticket can be closed. |
The NEP 29 - Recommend Python and Numpy version support as a community policy standard proposes a new release schedule for
numpy
. Major python packages likematplotlib
,jupyter
andscipy
have already adopted NEP 29, which means that most python dependencies of espresso will be affected either directly or indirectly. The proposed release cycle is 42 months, which is slightly shorter than the 48 months time window for espresso (we support the last two Ubuntu LTS).This has consequences on our own release schedule. There is a handy support table and drop schedule to keep track of when to update our requirements.txt. We'll have to be more strict about version pinning for the few python packages that cannot be installed from Ubuntu repositories, to avoid e.g. #3420. We might have to drop support for Ubuntu 16.04 LTS in the planned espresso 4.1.3 release (due several months after Ubuntu 20.04 LTS is out), and tweak our docker .gitlab-ci.yml to test Ubuntu 16.04 images against the 4.1.2 tag instead of the 4.1 branch.
The text was updated successfully, but these errors were encountered: