diff --git a/INSTALL.rst b/INSTALL.rst index a32658ebbcdcea4c46d78d6f0b8287974c0cd71a..460551c99e6eab92a92ad77f14304a78ec337ef4 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.conda b/docker/Dockerfile.conda index 5deab0b3898547bd8087fd0f0e6ea74c8b8b58a2..05eba22fd9200f209b4d8c55b537fefe18877b53 100644 --- a/docker/Dockerfile.conda +++ b/docker/Dockerfile.conda @@ -2,6 +2,7 @@ FROM conda/miniconda3:latest ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 +ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ # all the hard non-Python dependencies diff --git a/docker/Dockerfile.debian b/docker/Dockerfile.debian index de47cca8c0a38149a0a1684c6d8f334c9a018d07..12ab7d7e42eb7eb032a3ce37b0f20078157e7337 100644 --- a/docker/Dockerfile.debian +++ b/docker/Dockerfile.debian @@ -2,11 +2,12 @@ FROM debian:latest ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 +ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ gnupg dirmngr apt-transport-https ca-certificates curl software-properties-common -RUN echo "deb http://downloads.kwant-project.org/debian/ stretch-backports main" >> /etc/apt/sources.list && \ +RUN echo "deb http://downloads.kwant-project.org/debian/ stable main" >> /etc/apt/sources.list && \ apt-key adv --no-tty --keyserver pool.sks-keyservers.net --recv-key C3F147F5980F3535 && \ apt-get update && apt-get install -y --no-install-recommends \ # all the hard non-Python dependencies @@ -20,6 +21,10 @@ RUN echo "deb http://downloads.kwant-project.org/debian/ stretch-backports main" && apt-get clean && \ rm -rf /var/lib/apt/lists/* +### install optional dependencies not available from the Debian repositories +RUN pip3 install \ + qsymm==1.2.6 + ### install build and testing dependencies RUN pip3 install \ cython \ diff --git a/docker/Dockerfile.ubuntu b/docker/Dockerfile.ubuntu index 85434711af3cab3a66e6f07294246d402b5a08ad..f1c54772ea69224788ff73268ddb0773708888fb 100644 --- a/docker/Dockerfile.ubuntu +++ b/docker/Dockerfile.ubuntu @@ -1,7 +1,8 @@ -FROM ubuntu:16.04 +FROM ubuntu:18.04 ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 +ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ gnupg dirmngr apt-transport-https software-properties-common @@ -18,6 +19,10 @@ RUN apt-add-repository -s ppa:kwant-project/ppa && \ && apt-get clean && \ rm -rf /var/lib/apt/lists/* +### install optional dependencies not available from the Debian repositories +RUN pip3 install \ + qsymm==1.2.6 + ### install build and testing dependencies RUN pip3 install \ cython \ diff --git a/docker/kwant-latest.yml b/docker/kwant-latest.yml index 04008aeb4c5294319c94fe9ae9d2945a6dfc185e..72de14af9dfb4a5535109954cd7fe517d2fd34bb 100644 --- a/docker/kwant-latest.yml +++ b/docker/kwant-latest.yml @@ -8,6 +8,7 @@ dependencies: - tinyarray - sympy - matplotlib + - qsymm # Linear algebra libraraies - mumps - blas #=1.1 openblas diff --git a/docker/kwant-stable-no-extras.yml b/docker/kwant-stable-no-extras.yml index 99b2af168a075b1536b3cdd4234bbedc387b51fb..fd208eb56def218316bd97cc6e8813c6626fa03e 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 5e16a86a5858063c7928a2833c81083e7a34924e..93decc70dc27de7192a8f4af6548207e8322c1e7 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 cef8c9f545c81c4eb49868ff125cde816237c2ec..85cb54eb613e7de06db60ee17bb27647749a8d38 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', },