nixpkgs/pkgs/development/python-modules/sunpy/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

164 lines
3.3 KiB
Nix

{ lib
, stdenv
, asdf
, astropy
, astropy-extension-helpers
, astropy-helpers
, beautifulsoup4
, buildPythonPackage
, drms
, fetchPypi
, glymur
, h5netcdf
, hypothesis
, lxml
, matplotlib
, numpy
, pandas
, parfive
, pytest-astropy
, pytestCheckHook
, pytest-mock
, python-dateutil
, pythonOlder
, scikitimage
, scipy
, setuptools-scm
, sqlalchemy
, tqdm
, zeep
}:
buildPythonPackage rec {
pname = "sunpy";
version = "4.1.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-DAWc5G5YTydxHIuZkY7Nb3euejPn0aQy7D01xChFDeM=";
};
nativeBuildInputs = [
astropy-extension-helpers
setuptools-scm
];
propagatedBuildInputs = [
astropy
astropy-helpers
numpy
parfive
];
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
];
};
nativeCheckInputs = [
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;
preCheck = ''
export HOME=$(mktemp -d)
'';
disabledTests = [
"rst"
"test_sunpy_warnings_logging"
"test_main_nonexisting_module"
"test_main_stdlib_module"
"test_find_dependencies"
];
disabledTestPaths = [
# 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"
"sunpy/map/tests/test_plotting.py"
"sunpy/map/tests/test_reproject_to.py"
"sunpy/net/tests/test_helioviewer.py"
"sunpy/timeseries/tests/test_timeseriesbase.py"
"sunpy/visualization/animator/tests/test_basefuncanimator.py"
"sunpy/visualization/animator/tests/test_mapsequenceanimator.py"
"sunpy/visualization/animator/tests/test_wcs.py"
"sunpy/visualization/colormaps/tests/test_cm.py"
# 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"
];
pytestFlagsArray = [
"-W"
"ignore::DeprecationWarning"
];
# Wants a configuration file
# pythonImportsCheck = [
# "sunpy"
# ];
meta = with lib; {
description = "Python for Solar Physics";
homepage = "https://sunpy.org";
license = licenses.bsd2;
maintainers = with maintainers; [ costrouc ];
};
}