1{
2 lib,
3 astropy,
4 astropy-extension-helpers,
5 astropy-healpix,
6 buildPythonPackage,
7 cloudpickle,
8 cython,
9 dask,
10 extension-helpers,
11 fetchPypi,
12 fsspec,
13 numpy,
14 pytest-astropy,
15 pytestCheckHook,
16 pythonOlder,
17 scipy,
18 setuptools-scm,
19 zarr,
20}:
21
22buildPythonPackage rec {
23 pname = "reproject";
24 version = "0.15.0";
25 pyproject = true;
26
27 disabled = pythonOlder "3.10";
28
29 src = fetchPypi {
30 inherit pname version;
31 hash = "sha256-l9pmxtXIGnl8T8fCsUp/5y3kReg3MXdaN0i2rpcEqE4=";
32 };
33
34 postPatch = ''
35 substituteInPlace pyproject.toml \
36 --replace "cython==" "cython>="
37 '';
38
39 nativeBuildInputs = [
40 astropy-extension-helpers
41 cython
42 numpy
43 setuptools-scm
44 ];
45
46 propagatedBuildInputs = [
47 astropy
48 astropy-healpix
49 cloudpickle
50 dask
51 extension-helpers
52 fsspec
53 numpy
54 scipy
55 zarr
56 ]
57 ++ dask.optional-dependencies.array;
58
59 nativeCheckInputs = [
60 pytest-astropy
61 pytestCheckHook
62 ];
63
64 pytestFlags = [
65 # Avoid failure due to user warning: Distutils was imported before Setuptools
66 "-pno:warnings"
67 # prevent "'filterwarnings' not found in `markers` configuration option" error
68 "-omarkers=filterwarnings"
69 ];
70
71 enabledTestPaths = [
72 "build/lib*"
73 ];
74
75 disabledTestPaths = [
76 # Uses network
77 "build/lib*/reproject/interpolation/"
78 ];
79
80 pythonImportsCheck = [ "reproject" ];
81
82 meta = with lib; {
83 description = "Reproject astronomical images";
84 downloadPage = "https://github.com/astropy/reproject";
85 homepage = "https://reproject.readthedocs.io";
86 changelog = "https://github.com/astropy/reproject/releases/tag/v${version}";
87 license = licenses.bsd3;
88 maintainers = with maintainers; [ smaret ];
89 };
90}