Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / perfplot / default.nix
blob1dfc78ffca46d1e4134d68525138732a14af13b8
1 { lib
2 , stdenv
3 , buildPythonPackage
4 , fetchFromGitHub
5 , flit-core
6 , matplotlib
7 , matplotx
8 , numpy
9 , rich
10 , pytestCheckHook
11 , pythonOlder
14 buildPythonPackage rec {
15   pname = "perfplot";
16   version = "0.10.2";
17   format = "pyproject";
19   disabled = pythonOlder "3.7";
21   src = fetchFromGitHub {
22     owner = "nschloe";
23     repo = pname;
24     rev = "refs/tags/v${version}";
25     hash = "sha256-bu6eYQukhLE8sLkS3PbqTgXOqJFXJYXTcXAhmjaq48g=";
26   };
28   nativeBuildInputs = [
29     flit-core
30   ];
32   propagatedBuildInputs = [
33     matplotlib
34     matplotx
35     numpy
36     rich
37   ];
39   # This variable is needed to suppress the "Trace/BPT trap: 5" error in Darwin's checkPhase.
40   # Not sure of the details, but we can avoid it by changing the matplotlib backend during testing.
41   env.MPLBACKEND = lib.optionalString stdenv.isDarwin "Agg";
43   nativeCheckInputs = [
44     pytestCheckHook
45   ];
47   pythonImportsCheck = [
48     "perfplot"
49   ];
51   meta = with lib; {
52     description = "Performance plots for Python code snippets";
53     homepage = "https://github.com/nschloe/perfplot";
54     changelog = "https://github.com/nschloe/perfplot/releases/tag/v${version}";
55     license = licenses.mit;
56     maintainers = with maintainers; [ ];
57   };