1{ lib,
2 buildPythonPackage,
3 fetchPypi,
4 setuptools,
5 setuptools-scm,
6 asteval,
7 numpy,
8 scipy,
9 uncertainties,
10 pytestCheckHook,
11 pandas,
12 matplotlib,
13}:
14
15buildPythonPackage rec {
16 pname = "lmfit";
17 version = "1.2.2";
18
19 format = "pyproject";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-BEoFKhGmHaBXYnRQTBfrfigDtBEo4lgh6WYyIH8jyIw=";
24 };
25
26 postPatch = ''
27 substituteInPlace setup.cfg --replace "--cov=lmfit --cov-report html" ""
28 '';
29
30 nativeBuildInputs = [
31 setuptools
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 asteval
37 numpy
38 scipy
39 uncertainties
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 pandas
45 matplotlib
46 ];
47
48 disabledTests = [
49 # https://github.com/lmfit/lmfit-py/issues/878
50 "test_emcee_multiprocessing"
51 "test_explicit_independent_vars"
52 "test_result_eval_custom_x"
53 ];
54
55 meta = with lib; {
56 description = "Least-Squares Minimization with Bounds and Constraints";
57 homepage = "https://lmfit-py.readthedocs.io/";
58 license = licenses.bsd3;
59 maintainers = with maintainers; [ nomeata ];
60 };
61}