diff options
Diffstat (limited to 'doc/installation.rst')
-rw-r--r-- | doc/installation.rst | 60 |
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 |