1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, looseversion
6, matplotlib
7, numba
8, numpy
9, pandas
10, pytestCheckHook
11, pythonOlder
12, pyyaml
13, scipy
14}:
15
16buildPythonPackage rec {
17 pname = "trackpy";
18 version = "0.6.1";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "soft-matter";
25 repo = pname;
26 rev = "refs/tags/v${version}";
27 hash = "sha256-NG1TOppqRbIZHLxJjlaXD4icYlAUkSxtmmC/fsS/pXo=";
28 };
29
30 propagatedBuildInputs = [
31 looseversion
32 matplotlib
33 numba
34 numpy
35 pandas
36 pyyaml
37 scipy
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 ];
43
44 preCheck = lib.optionalString stdenv.isDarwin ''
45 # specifically needed for darwin
46 export HOME=$(mktemp -d)
47 mkdir -p $HOME/.matplotlib
48 echo "backend: ps" > $HOME/.matplotlib/matplotlibrc
49 '';
50
51 pythonImportsCheck = [
52 "trackpy"
53 ];
54
55 meta = with lib; {
56 description = "Particle-tracking toolkit";
57 homepage = "https://github.com/soft-matter/trackpy";
58 changelog = "https://github.com/soft-matter/trackpy/releases/tag/v${version}";
59 license = licenses.bsd3;
60 maintainers = with maintainers; [ ];
61 broken = (stdenv.isLinux && stdenv.isAarch64);
62 };
63}