Verified Commit 2b6dda7f authored by Anton Akhmerov's avatar Anton Akhmerov
Browse files

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