From 39b65acdaa323f8254e0820acf82655eebcc22b7 Mon Sep 17 00:00:00 2001 From: Joseph Weston <joseph@weston.cloud> Date: Mon, 9 Sep 2019 10:32:59 +0200 Subject: [PATCH] bump required Python version to 3.6 and update dependencies It has been > 6 months since the release of Ubuntu 18.04 LTS. --- INSTALL.rst | 14 +++++++------- docker/Dockerfile.ubuntu | 2 +- docker/kwant-stable-no-extras.yml | 6 +++--- docker/kwant-stable.yml | 11 ++++++----- setup.py | 8 ++++---- 5 files changed, 21 insertions(+), 20 deletions(-) diff --git a/INSTALL.rst b/INSTALL.rst index a32658eb..460551c9 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -29,10 +29,10 @@ Prerequisites ============= Building Kwant requires - * `Python <https://www.python.org/>`_ 3.5 or above (Kwant 1.1 is the last + * `Python <https://www.python.org/>`_ 3.6 or above (Kwant 1.1 is the last version to support Python 2), - * `NumPy <http://numpy.org/>`_ 1.11.0 or newer, - * `SciPy <https://www.scipy.org/>`_ 0.17.0 or newer, + * `NumPy <http://numpy.org/>`_ 1.13.3 or newer, + * `SciPy <https://www.scipy.org/>`_ 0.19.1 or newer, * `LAPACK <http://netlib.org/lapack/>`_ and `BLAS <http://netlib.org/blas/>`_, (For best performance we recommend the free `OpenBLAS <http://www.openblas.net/>`_ or the nonfree `MKL @@ -43,19 +43,19 @@ a NumPy-like Python package optimized for very small arrays, C++. The following software is highly recommended though not strictly required: - * `matplotlib <http://matplotlib.org/>`_ 1.5.1 or newer, for the module `kwant.plotter` and the tutorial, - * `SymPy <http://sympy.org/>`_ 0.7.6 or newer, for the subpackage `kwant.continuum`. + * `matplotlib <http://matplotlib.org/>`_ 2.1.1 or newer, for the module `kwant.plotter` and the tutorial, + * `SymPy <http://sympy.org/>`_ 1.1.1 or newer, for the subpackage `kwant.continuum`. * `Qsymm <https://pypi.org/project/qsymm/>`_ 1.2.6 or newer, for the subpackage `kwant.qsymm`. * `MUMPS <http://graal.ens-lyon.fr/MUMPS/>`_, a sparse linear algebra library that will in many cases speed up Kwant several times and reduce the memory footprint. (Kwant uses only the sequential, single core version of MUMPS. The advantages due to MUMPS as used by Kwant are thus independent of the number of CPU cores of the machine on which Kwant runs.) - * The `py.test testing framework <http://pytest.org/>`_ 2.8 or newer for running the + * The `py.test testing framework <http://pytest.org/>`_ 3.3.2 or newer for running the tests included with Kwant. In addition, to build a copy of Kwant that has been checked-out directly from -version control, you will also need `Cython <http://cython.org/>`_ 0.22 or +version control, you will also need `Cython <http://cython.org/>`_ 0.26.1 or newer. You do not need Cython to build Kwant that has been unpacked from a source .tar.gz-file. diff --git a/docker/Dockerfile.ubuntu b/docker/Dockerfile.ubuntu index bca1da6d..f3c47513 100644 --- a/docker/Dockerfile.ubuntu +++ b/docker/Dockerfile.ubuntu @@ -1,4 +1,4 @@ -FROM ubuntu:16.04 +FROM ubuntu:18.04 ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 diff --git a/docker/kwant-stable-no-extras.yml b/docker/kwant-stable-no-extras.yml index 99b2af16..fd208eb5 100644 --- a/docker/kwant-stable-no-extras.yml +++ b/docker/kwant-stable-no-extras.yml @@ -2,9 +2,9 @@ name: kwant-stable-no-extras channels: - conda-forge dependencies: - - python=3.5 - - numpy=1.11.0 - - scipy=0.17 # No minor version because conda-forge has no 0.17.0 + - python=3.6 + - numpy=1.13.1 + - scipy=0.19.1 - tinyarray=1.2.0 # Linear algebra libraraies - blas #=1.1 openblas diff --git a/docker/kwant-stable.yml b/docker/kwant-stable.yml index 5e16a86a..93decc70 100644 --- a/docker/kwant-stable.yml +++ b/docker/kwant-stable.yml @@ -2,12 +2,13 @@ name: kwant-stable channels: - conda-forge dependencies: - - python=3.5 - - numpy=1.11.0 - - scipy=0.17 # No minor version because conda-forge has no 0.17.0 + - python=3.6 + - numpy=1.13.3 + - scipy=0.19.1 - tinyarray=1.2.0 - - sympy=0.7.6 - - matplotlib=1.5.1 + - sympy=1.1.1 + - matplotlib=2.1.1 + - qsymm=1.2.6 # Linear algebra libraraies - mumps - blas #=1.1 openblas diff --git a/setup.py b/setup.py index cef8c9f5..85cb54eb 100755 --- a/setup.py +++ b/setup.py @@ -517,7 +517,7 @@ def maybe_add_numpy_include(exts): def main(): - check_python_version((3, 5)) + check_python_version((3, 6)) check_versions() exts = collections.OrderedDict([ @@ -581,12 +581,12 @@ def main(): 'build_ext': build_ext, 'test': test}, ext_modules=exts, - install_requires=['numpy >= 1.11.0', 'scipy >= 0.17.0', + install_requires=['numpy >= 1.13.3', 'scipy >= 0.19.1', 'tinyarray >= 1.2'], extras_require={ # The oldest versions between: Debian stable, Ubuntu LTS - 'plotting': 'matplotlib >= 1.5.1', - 'continuum': 'sympy >= 0.7.6', + 'plotting': 'matplotlib >= 2.1.1', + 'continuum': 'sympy >= 1.1.1', # qsymm is only packaged on PyPI 'qsymm': 'qsymm >= 1.2.6', }, -- GitLab