Commit 963f1e28 authored by Joseph Weston's avatar Joseph Weston
Browse files

Merge branch 'fixup/required-versions' into 'master'

bump the required versions of dependencies

See merge request kwant/kwant!331
parents b898058d bc9b2edf
......@@ -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.
......
......@@ -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
......
......@@ -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 \
......
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 \
......
......@@ -8,6 +8,7 @@ dependencies:
- tinyarray
- sympy
- matplotlib
- qsymm
# Linear algebra libraraies
- mumps
- blas #=1.1 openblas
......
......@@ -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
......
......@@ -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
......
......@@ -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',
},
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment