talosctl: 1.9.1 -> 1.9.2 (#374443)
[NixPkgs.git] / pkgs / development / python-modules / fastdtw / default.nix
blob09c03c5b433c50ed25abca6ec9f56f440339d238
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   fetchpatch,
6   cython,
7   numpy,
8   # Check Inputs
9   pytestCheckHook,
10   python,
13 buildPythonPackage rec {
14   pname = "fastdtw";
15   version = "0.3.4";
16   format = "setuptools";
18   src = fetchFromGitHub {
19     owner = "slaypni";
20     repo = pname;
21     rev = "v${version}";
22     sha256 = "0irc5x4ahfp7f7q4ic97qa898s2awi0vdjznahxrfjirn8b157dw";
23   };
25   patches = [
26     # Removes outdated cythonized C++ file, which doesn't match CPython. Will be auto-used if left.
27     # Remove when PR 40 merged
28     (fetchpatch {
29       url = "https://patch-diff.githubusercontent.com/raw/slaypni/fastdtw/pull/40.patch";
30       sha256 = "0xjma0h84bk1n32wgk99rwfc85scp187a7fykhnylmcc73ppal9q";
31     })
32   ];
34   nativeBuildInputs = [ cython ];
36   propagatedBuildInputs = [ numpy ];
38   pythonImportsCheck = [ "fastdtw.fastdtw" ];
39   nativeCheckInputs = [ pytestCheckHook ];
40   dontUseSetuptoolsCheck = true; # looks for pytest-runner
41   preCheck = ''
42     echo "Temporarily moving tests to $OUT to find cython modules"
43     export PACKAGEDIR=$out/${python.sitePackages}
44     cp -r $TMP/source/tests $PACKAGEDIR
45     pushd $PACKAGEDIR
46   '';
47   postCheck = ''
48     rm -rf tests
49     popd
50   '';
52   meta = with lib; {
53     description = "Python implementation of FastDTW (Dynamic Time Warping)";
54     longDescription = ''
55       FastDTW is an approximate Dynamic Time Warping (DTW) algorithm that provides
56       optimal or near-optimal alignments with an O(N) time and memory complexity.
57     '';
58     homepage = "https://github.com/slaypni/fastdtw";
59     license = licenses.mit;
60     maintainers = with maintainers; [ drewrisinger ];
61   };