1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pythonAtLeast,
7 numpy,
8 scipy,
9 pyqt5,
10 matplotlib,
11}:
12
13buildPythonPackage {
14 pname = "curvefitgui";
15 version = "0-unstable-2021-08-25";
16 pyproject = true;
17 # For some reason, importing the main module makes the whole python
18 # interpreter crash! This needs further investigation, possibly the problem
19 # is with one of the dependencies.. See upstream report:
20 # https://github.com/moosepy/curvefitgui/issues/2
21 disabled = pythonAtLeast "3.12";
22
23 src = fetchFromGitHub {
24 owner = "moosepy";
25 repo = "curvefitgui";
26 rev = "5f1e7f3b95cd77d10bd8183c9a501e47ff94fad7";
27 hash = "sha256-oK0ROKxh/91OrHhuufG6pvc2EMBeMP8R5O+ED2thyW8=";
28 };
29
30 nativeBuildInputs = [ setuptools ];
31
32 propagatedBuildInputs = [
33 numpy
34 scipy
35 pyqt5
36 matplotlib
37 ];
38
39 pythonImportsCheck = [ "curvefitgui" ];
40
41 meta = {
42 description = "Graphical interface to the non-linear curvefit function scipy.optimise.curve_fit";
43 homepage = "https://github.com/moosepy/curvefitgui";
44 license = lib.licenses.mit;
45 maintainers = with lib.maintainers; [ doronbehar ];
46 };
47}