summaryrefslogtreecommitdiff
path: root/doc/installation.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/installation.rst')
-rw-r--r--doc/installation.rst60
1 files changed, 40 insertions, 20 deletions
diff --git a/doc/installation.rst b/doc/installation.rst
index 0d38aee..3951fa4 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -5,8 +5,9 @@ Downloading and Installation
.. _lmfit github repository: https://github.com/lmfit/lmfit-py
.. _python: https://python.org
.. _scipy: https://scipy.org/scipylib/index.html
-.. _numpy: http://numpy.org/
+.. _numpy: https://numpy.org/
.. _pytest: https://pytest.org/
+.. _pytest-cov: https://github.com/pytest-dev/pytest-cov
.. _emcee: https://emcee.readthedocs.io/
.. _pandas: https://pandas.pydata.org/
.. _jupyter: https://jupyter.org/
@@ -22,35 +23,47 @@ Downloading and Installation
.. _sphinxcontrib-svg2pdfconverter: https://github.com/missinglinkelectronics/sphinxcontrib-svg2pdfconverter
.. _cairosvg: https://cairosvg.org/
.. _Pillow: https://python-pillow.org/
-
+.. _sphinx-gallery: https://sphinx-gallery.github.io/stable/index.html
+.. _flaky: https://github.com/box/flaky
+.. _SymPy: https://www.sympy.org/
+.. _Latexmk: https://ctan.org/pkg/latexmk/
Prerequisites
~~~~~~~~~~~~~
-Lmfit works with `Python`_ versions 3.6 and higher. Version
+Lmfit works with `Python`_ versions 3.7 and higher. Version
0.9.15 is the final version to support Python 2.7.
Lmfit requires the following Python packages, with versions given:
- * `NumPy`_ version 1.18 or higher.
- * `SciPy`_ version 1.3 or higher.
- * `asteval`_ version 0.9.21 or higher.
- * `uncertainties`_ version 3.0.1 or higher.
+ * `NumPy`_ version 1.19 or higher.
+ * `SciPy`_ version 1.6 or higher.
+ * `asteval`_ version 0.9.28 or higher.
+ * `uncertainties`_ version 3.1.4 or higher.
-All of these are readily available on PyPI, and should be installed
+All of these are readily available on PyPI, and are installed
automatically if installing with ``pip install lmfit``.
-In order to run the test suite, the `pytest`_ package is required. Some
-functionality requires the `emcee`_ (version 3+), `corner`_, `pandas`_, `Jupyter`_,
-`matplotlib`_, `dill`_, or `numdifftools`_ packages. These are not installed
-automatically, but we highly recommend each of these packages.
+In order to run the test suite, the `pytest`_, `pytest-cov`_, and `flaky`_
+packages are required. Some functionality requires the `emcee`_ (version 3+),
+`corner`_, `pandas`_, `Jupyter`_, `matplotlib`_, `dill`_, or `numdifftools`_
+packages. These are not installed automatically, but we highly recommend each
+of them.
+
+For building the documentation and generating the examples gallery, `matplotlib`_,
+`emcee`_ (version 3+), `corner`_, `Sphinx`_, `sphinx-gallery`_, `jupyter_sphinx`_,
+`Pillow`_, and `SymPy`_ are required. For generating the PDF documentation, the Python
+packages `sphinxcontrib-svg2pdfconverter`_ and `cairosvg`_ are also required,
+as well as the LaTex package `Latexmk`_ (which is included by default in some
+LaTex distributions).
-For building the documentation and generating the examples gallery,
-`matplotlib`_, `emcee`_ (version 3+), `corner`_, `Sphinx`_,
-`jupyter_sphinx`_, `Pillow`_, `sphinxcontrib-svg2pdfconverter`_, and `cairosvg`_
-are required (the latter two only when generating the PDF document).
+Please refer to ``setup.cfg`` under ``options.extras_require`` for a list of all
+dependencies that are needed if you want to participate in the development of lmfit.
+You can install all these dependencies automatically by doing ``pip install lmfit[all]``,
+or select only a subset (e.g., ``dev```, ``doc``, or ``test``).
-Please refer to ``requirements-dev.txt`` for a list of all dependencies that
-are needed if you want to participate in the development of lmfit.
+Please note: the "original" ``python setup.py install`` is deprecated, but we will
+provide a shim ``setup.py`` file for as long as ``Python`` and/or ``setuptools``
+allow the use of this legacy command.
Downloads
~~~~~~~~~
@@ -81,7 +94,14 @@ To get the latest development version from the `lmfit GitHub repository`_, use::
and install using::
- python setup.py install
+ pip install --upgrade build pip setuptools wheel
+
+to install the required build dependencies and then do::
+
+ python -m build
+ pip install ".[all]'
+
+to generate the wheel and install ``lmfit`` with all its dependencies.
We welcome all contributions to lmfit! If you cloned the repository for this
purpose, please read `CONTRIBUTING.md`_ for more detailed instructions.
@@ -102,7 +122,7 @@ that `matplotlib`_ has been installed and is working correctly.
Acknowledgements
~~~~~~~~~~~~~~~~
-.. literalinclude:: ../THANKS.txt
+.. literalinclude:: ../AUTHORS.txt
:language: none