update requirements

We plan a release no earlier than September 2020, which means that
we target Debian buster and Ubuntu focal when determining package
versions
parent 6129ce3c
......@@ -29,10 +29,9 @@ Prerequisites
=============
Building Kwant requires
* `Python <https://www.python.org/>`_ 3.6 or above (Kwant 1.1 is the last
version to support Python 2),
* `NumPy <https://numpy.org/>`_ 1.13.3 or newer,
* `SciPy <https://www.scipy.org/>`_ 0.19.1 or newer,
* `Python <https://www.python.org/>`_ 3.7 or above,
* `NumPy <https://numpy.org/>`_ 1.16.2 or newer,
* `SciPy <https://www.scipy.org/>`_ 1.1.0 or newer,
* `LAPACK <https://netlib.org/lapack/>`_ and `BLAS <https://netlib.org/blas/>`_,
(For best performance we recommend the free `OpenBLAS
<https://www.openblas.net/>`_ or the nonfree `MKL
......@@ -43,9 +42,10 @@ a NumPy-like Python package optimized for very small arrays,
C++.
The following software is highly recommended though not strictly required:
* `matplotlib <https://matplotlib.org/>`_ 2.1.1 or newer, for the module `kwant.plotter` and the tutorial,
* `SymPy <https://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`.
* `matplotlib <https://matplotlib.org/>`_ 3.0.2 or newer, for the module `kwant.plotter` and the tutorial,
* `plotly <https://plotly.com/>`_ 3.6.1 or newer, for the module `kwant.plotter` and the tutorial,
* `SymPy <https://sympy.org/>`_ 1.3.0 or newer, for the subpackage `kwant.continuum`.
* `Qsymm <https://pypi.org/project/qsymm/>`_ 1.3.0 or newer, for the subpackage `kwant.qsymm`.
* `MUMPS <https://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
......
FROM debian:latest
FROM debian:buster
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
......@@ -24,7 +24,7 @@ RUN echo "deb https://downloads.kwant-project.org/debian/ stable main" >> /etc/a
### install optional dependencies not available from the Debian repositories
RUN pip3 install \
qsymm==1.2.6
qsymm==1.3.0
### install build and testing dependencies
RUN pip3 install \
......
FROM ubuntu:18.04
FROM ubuntu:20.04
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
......@@ -22,7 +22,7 @@ RUN apt-add-repository -s ppa:kwant-project/ppa && \
### install optional dependencies not available from the Debian repositories
RUN pip3 install \
qsymm==1.2.6
qsymm==1.3.0
### install build and testing dependencies
RUN pip3 install \
......
......@@ -2,14 +2,14 @@ name: kwant-latest
channels:
- conda-forge
dependencies:
- python=3.6
- python=3.9
- numpy
- scipy
- tinyarray
- sympy
- matplotlib
- qsymm
- matplotlib-base
- plotly
- qsymm
# Linear algebra libraraies
- mumps-seq
- mumps-include
......@@ -30,6 +30,3 @@ dependencies:
- numpydoc
- requests
- jupyter_sphinx
- pip
- pip:
- sphinxcontrib-svg2pdfconverter
......@@ -2,10 +2,10 @@ name: kwant-stable-no-extras
channels:
- conda-forge
dependencies:
- python=3.6
- numpy=1.13.1
- scipy=0.19.1
- tinyarray=1.2.0
- python=3.7
- numpy=1.16.2
- scipy=1.1.0
- tinyarray=1.2
# Linear algebra libraraies
- blas #=1.1 openblas
- openblas #=0.2.20
......
......@@ -2,14 +2,14 @@ name: kwant-stable
channels:
- conda-forge
dependencies:
- python=3.6
- numpy=1.13.3
- scipy=0.19.1
- tinyarray=1.2.0
- sympy=1.1.1
- matplotlib=2.1.1
- qsymm=1.2.6
- plotly=2.2.2
- python=3.7
- numpy=1.16.2
- scipy=1.1.0
- tinyarray=1.2
- sympy=1.3.0
- matplotlib-base=3.0.2
- plotly=3.6.1
- qsymm=1.3.0
# Linear algebra libraraies
- mumps-seq
- mumps-include
......
......@@ -593,16 +593,16 @@ def main():
'build_ext': build_ext,
'test': test},
ext_modules=exts,
python_requires='>=3.6',
install_requires=['numpy >= 1.13.3', 'scipy >= 0.19.1',
python_requires='>=3.7',
# The oldest versions between: Debian stable, Ubuntu LTS
install_requires=['numpy >= 1.16.2', 'scipy >= 1.1.0',
'tinyarray >= 1.2'],
extras_require={
# The oldest versions between: Debian stable, Ubuntu LTS
'plotting': ['matplotlib >= 2.1.1',
'plotly >= 2.2.2'],
'continuum': 'sympy >= 1.1.1',
'plotting': ['matplotlib >= 3.0.2',
'plotly >= 3.6.1'],
'continuum': 'sympy >= 1.3.0',
# qsymm is only packaged on PyPI
'qsymm': 'qsymm >= 1.2.6',
'qsymm': 'qsymm >= 1.3.0',
},
classifiers=[c.strip() for c in classifiers.split('\n')])
......
Markdown is supported
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