1{ lib
2, buildPythonPackage
3, fetchPypi
4, isPy27
5, cython
6, nose
7, pytest
8, numpy
9}:
10
11buildPythonPackage rec {
12 pname = "PyWavelets";
13 version = "1.4.1";
14 disabled = isPy27;
15
16 src = fetchPypi {
17 inherit pname version;
18 hash = "sha256-ZDevPd8IMRjCbY+Xq0OwckuVbJ+Vjp6niGWfaig0upM=";
19 };
20
21 nativeCheckInputs = [ nose pytest ];
22
23 buildInputs = [ cython ];
24
25 propagatedBuildInputs = [ numpy ];
26
27 # Somehow nosetests doesn't run the tests, so let's use pytest instead
28 doCheck = false; # tests use relative paths, which fail to resolve
29 checkPhase = ''
30 py.test pywt/tests
31 '';
32
33 # ensure compiled modules are present
34 pythonImportsCheck = [
35 "pywt"
36 "pywt._extensions._cwt"
37 "pywt._extensions._dwt"
38 "pywt._extensions._pywt"
39 "pywt._extensions._swt"
40 ];
41
42 meta = with lib; {
43 description = "Wavelet transform module";
44 homepage = "https://github.com/PyWavelets/pywt";
45 license = licenses.mit;
46 };
47
48}