1{ stdenv
2, lib
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6, asdf
7, astropy
8, setuptools-scm
9, astropy-helpers
10, astropy-extension-helpers
11, beautifulsoup4
12, drms
13, glymur
14, h5netcdf
15, hypothesis
16, matplotlib
17, numpy
18, pandas
19, parfive
20, pytest-astropy
21, pytest-mock
22, pytestcov
23, python-dateutil
24, scikitimage
25, scipy
26, sqlalchemy
27, towncrier
28, tqdm
29, zeep
30}:
31
32buildPythonPackage rec {
33 pname = "sunpy";
34 version = "2.1.2";
35 disabled = pythonOlder "3.6";
36
37 src = fetchPypi {
38 inherit pname version;
39 sha256 = "8bbc440e606a4f3fcbd1441150d81da6f0208adace9dc06f6afd2c9cb7c08908";
40 };
41
42 nativeBuildInputs = [
43 setuptools-scm
44 astropy-extension-helpers
45 ];
46
47 propagatedBuildInputs = [
48 numpy
49 scipy
50 matplotlib
51 pandas
52 astropy
53 astropy-helpers
54 h5netcdf
55 parfive
56 sqlalchemy
57 scikitimage
58 towncrier
59 glymur
60 beautifulsoup4
61 drms
62 python-dateutil
63 zeep
64 tqdm
65 asdf
66 ];
67
68 checkInputs = [
69 hypothesis
70 pytest-astropy
71 pytestcov
72 pytest-mock
73 ];
74
75 # darwin has write permission issues
76 doCheck = stdenv.isLinux;
77 # ignore documentation tests
78 checkPhase = ''
79 PY_IGNORE_IMPORTMISMATCH=1 HOME=$(mktemp -d) pytest sunpy -k 'not rst'
80 '';
81
82 meta = with lib; {
83 description = "SunPy: Python for Solar Physics";
84 homepage = "https://sunpy.org";
85 license = licenses.bsd2;
86 maintainers = [ maintainers.costrouc ];
87 };
88}