1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools,
9 setuptools-scm,
10
11 # dependencies
12 asteval,
13 dill,
14 numpy,
15 scipy,
16 uncertainties,
17
18 # tests
19 pytestCheckHook,
20 pytest-cov-stub,
21 matplotlib,
22 pandas,
23}:
24
25buildPythonPackage rec {
26 pname = "lmfit";
27 version = "1.3.4";
28 pyproject = true;
29
30 disabled = pythonOlder "3.8";
31
32 src = fetchPypi {
33 inherit pname version;
34 hash = "sha256-PCLCjEP3F/bFtKO9geiTohSXOcJqWSwEby4zwjz75Jc=";
35 };
36
37 build-system = [
38 setuptools
39 setuptools-scm
40 ];
41
42 dependencies = [
43 asteval
44 dill
45 numpy
46 scipy
47 uncertainties
48 ];
49
50 nativeCheckInputs = [
51 pytestCheckHook
52 pytest-cov-stub
53 matplotlib
54 pandas
55 ];
56
57 pythonImportsCheck = [ "lmfit" ];
58
59 disabledTests = [ "test_check_ast_errors" ];
60
61 meta = {
62 description = "Least-Squares Minimization with Bounds and Constraints";
63 homepage = "https://lmfit.github.io/lmfit-py/";
64 changelog = "https://github.com/lmfit/lmfit-py/releases/tag/${version}";
65 license = lib.licenses.bsd3;
66 maintainers = with lib.maintainers; [ doronbehar ];
67 };
68}