summary refs log tree commit diff
path: root/pkgs/development/python-modules/sunpy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/sunpy/default.nix')
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix99
1 files changed, 64 insertions, 35 deletions
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 8f1653d91ab..78c5665d102 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -1,44 +1,44 @@
 { lib
 , stdenv
-, buildPythonPackage
-, fetchPypi
-, pythonOlder
 , asdf
 , astropy
-, setuptools-scm
-, astropy-helpers
 , astropy-extension-helpers
+, astropy-helpers
 , beautifulsoup4
+, buildPythonPackage
 , drms
+, fetchPypi
 , glymur
 , h5netcdf
 , hypothesis
+, lxml
 , matplotlib
 , numpy
 , pandas
 , parfive
-, pytestCheckHook
 , pytest-astropy
+, pytestCheckHook
 , pytest-mock
 , python-dateutil
+, pythonOlder
 , scikitimage
 , scipy
+, setuptools-scm
 , sqlalchemy
-, towncrier
 , tqdm
 , zeep
 }:
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "3.1.6";
+  version = "4.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mI5W4EDzTk3GryTQbnmvP+ks3VJDzw4drew9wD9+tIE=";
+    hash = "sha256-01eGYls8eE2e3vzDYXz5D1xQs7pxpmHt89aBKCvVdLg=";
   };
 
   nativeBuildInputs = [
@@ -47,32 +47,59 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    asdf
     astropy
     astropy-helpers
-    beautifulsoup4
-    drms
-    glymur
-    h5netcdf
-    matplotlib
     numpy
-    pandas
     parfive
-    python-dateutil
-    scikitimage
-    scipy
-    sqlalchemy
-    towncrier
-    tqdm
-    zeep
   ];
 
+  passthru.optional-dependencies = {
+    asdf = [
+      asdf
+      # asdf-astropy
+    ];
+    database = [
+      sqlalchemy
+    ];
+    image = [
+      scikitimage
+      scipy
+    ];
+    net = [
+      beautifulsoup4
+      drms
+      python-dateutil
+      tqdm
+      zeep
+    ];
+    jpeg2000 = [
+      glymur
+      lxml
+    ];
+    timeseries = [
+      # cdflib
+      h5netcdf
+      # h5py
+      matplotlib
+      pandas
+    ];
+  };
+
   checkInputs = [
     hypothesis
     pytest-astropy
     pytest-mock
     pytestCheckHook
-  ];
+  ] ++ passthru.optional-dependencies.asdf
+    ++ passthru.optional-dependencies.database
+    ++ passthru.optional-dependencies.image
+    ++ passthru.optional-dependencies.net
+    ++ passthru.optional-dependencies.timeseries;
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --dist no" ""
+  '';
 
   # darwin has write permission issues
   doCheck = stdenv.isLinux;
@@ -86,18 +113,16 @@ buildPythonPackage rec {
     "test_sunpy_warnings_logging"
     "test_main_nonexisting_module"
     "test_main_stdlib_module"
+    "test_find_dependencies"
   ];
 
   disabledTestPaths = [
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/helioprojective-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentric-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliographic_carrington-*.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricearthequatorial-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/geocentricsolarecliptic-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricearthecliptic-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/coordinates/frames/heliocentricinertial-1.0.0.yaml"
-    "sunpy/io/special/asdf/schemas/sunpy.org/sunpy/map/generic_map-1.0.0.yaml"
-    # requires mpl-animators package
+    # Tests are very slow
+    "sunpy/net/tests/test_fido.py"
+    # asdf.extensions plugin issue
+    "sunpy/io/special/asdf/resources/schemas/"
+    "sunpy/io/special/asdf/resources/manifests/sunpy-1.0.0.yaml"
+    # Requires mpl-animators package
     "sunpy/map/tests/test_compositemap.py"
     "sunpy/map/tests/test_mapbase.py"
     "sunpy/map/tests/test_mapsequence.py"
@@ -109,8 +134,12 @@ buildPythonPackage rec {
     "sunpy/visualization/animator/tests/test_mapsequenceanimator.py"
     "sunpy/visualization/animator/tests/test_wcs.py"
     "sunpy/visualization/colormaps/tests/test_cm.py"
-    # requires cdflib package
+    # Requires cdflib package
     "sunpy/timeseries/tests/test_timeseries_factory.py"
+    # Requires jplephem
+    "sunpy/image/tests/test_transform.py"
+    "sunpy/io/special/asdf/tests/test_coordinate_frames.py"
+    "sunpy/io/special/asdf/tests/test_genericmap.py"
     # distutils is deprecated
     "sunpy/io/setup_package.py"
   ];