Unverified Commit 4fe1e52b authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

python3Packages.sunpy: 7.0.1 -> 7.0.2, unbreak;...

python3Packages.sunpy: 7.0.1 -> 7.0.2, unbreak; python3Packages.astropy-extension-helpers: merge into python3Packages.extension-helpers (#451089)
parents 16e371c5 777bff68
Loading
Loading
Loading
Loading
+0 −68
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchPypi,
  fetchpatch,
  findutils,
  pytestCheckHook,
  pythonOlder,
  pip,
  setuptools,
  setuptools-scm,
  tomli,
  wheel,
}:

buildPythonPackage rec {
  pname = "extension-helpers";
  version = "1.1.0";
  pyproject = true;

  disabled = pythonOlder "3.7";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-SUYMeKP40fjOwXRHn16FrURZSMzEFgM8WqPm3fLFAik=";
  };

  patches = [
    # Not needed to allow this package to build, but meant for it's dependent
    # packages, like astropy. See explanation at:
    # https://github.com/astropy/extension-helpers/pull/59
    (fetchpatch {
      url = "https://github.com/astropy/extension-helpers/commit/796f3e7831298df2d26b6d994b13fd57061a56d1.patch";
      hash = "sha256-NnqK9HQq1hQ66RUJf9gTCuLyA0BVqVtL292mSXJ9860=";
    })
  ];

  nativeBuildInputs = [
    setuptools
    setuptools-scm
    wheel
  ];

  propagatedBuildInputs = [ tomli ];

  nativeCheckInputs = [
    findutils
    pip
    pytestCheckHook
  ];

  # avoid import mismatch errors, as conftest.py is copied to build dir
  enabledTestPaths = [ "extension_helpers" ];

  disabledTests = [
    # https://github.com/astropy/extension-helpers/issues/43
    "test_write_if_different"
  ];

  pythonImportsCheck = [ "extension_helpers" ];

  meta = with lib; {
    description = "Utilities for building and installing packages in the Astropy ecosystem";
    homepage = "https://github.com/astropy/extension-helpers";
    license = licenses.bsd3;
    maintainers = with maintainers; [ rmcgibbo ];
  };
}
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
  fetchPypi,
  numpy,
  astropy,
  astropy-extension-helpers,
  extension-helpers,
  setuptools,
  setuptools-scm,
  pytestCheckHook,
@@ -25,7 +25,7 @@ buildPythonPackage rec {
  };

  nativeBuildInputs = [
    astropy-extension-helpers
    extension-helpers
    numpy
    setuptools
    setuptools-scm
+6 −6
Original line number Diff line number Diff line
@@ -4,6 +4,8 @@
  fetchFromGitHub,
  build,
  cython,
  findutils,
  pip,
  pytestCheckHook,
  pythonOlder,
  setuptools-scm,
@@ -17,8 +19,6 @@ buildPythonPackage rec {
  version = "1.4.0";
  pyproject = true;

  disabled = pythonOlder "3.8";

  src = fetchFromGitHub {
    owner = "astropy";
    repo = "extension-helpers";
@@ -36,6 +36,8 @@ buildPythonPackage rec {
  nativeCheckInputs = [
    build
    cython
    findutils
    pip
    pytestCheckHook
    wheel
  ];
@@ -45,10 +47,8 @@ buildPythonPackage rec {
  enabledTestPaths = [ "extension_helpers/tests" ];

  disabledTests = [
    # Test require network access
    "test_only_pyproject"
    # ModuleNotFoundError
    "test_no_setup_py"
    # https://github.com/astropy/extension-helpers/issues/43
    "test_write_if_different"
  ];

  meta = with lib; {
+120 −74
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  asdf,
  asdf-astropy,
  astropy,
  astropy-extension-helpers,
  astropy-helpers,
  beautifulsoup4,
  buildPythonPackage,
  contourpy,
  dask,
  drms,
  fetchPypi,
  extension-helpers,
  fetchFromGitHub,
  fsspec,
  glymur,
  h5netcdf,
  h5py,
  hypothesis,
  lxml,
  matplotlib,
  numpy,
  opencv-python,
  packaging,
  pandas,
  parfive,
  pyerfa,
  pytest-astropy,
  pytestCheckHook,
  pytest-mock,
  python-dateutil,
  pythonOlder,
  reproject,
  requests,
  scikit-image,
  scipy,
  setuptools,
  setuptools-scm,
  sqlalchemy,
  tqdm,
  writableTmpDirAsHomeHook,
  zeep,
}:

buildPythonPackage rec {
  pname = "sunpy";
  version = "7.0.1";
  format = "setuptools";
  version = "7.0.2";
  pyproject = true;

  disabled = pythonOlder "3.8";
  disabled = pythonOlder "3.11";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-9ZCG9CtTpgGGlqtXcl2epRBzFcbVvIMzZcXk5CQ5/+A=";
  src = fetchFromGitHub {
    owner = "sunpy";
    repo = "sunpy";
    tag = "v${version}";
    hash = "sha256-1LT6Dr9OZYIZkOICSYD8lt5v3Gn1gZGN4GWeJL6IH5w=";
  };

  nativeBuildInputs = [
    astropy-extension-helpers
    setuptools-scm
  # As of 2025-10-15, this requires numpy >=1.25.0,<2.3.
  # (The >=1.25.0 constraint is in dependencies, the <2.3 in build-system)
  # We can't use 1.x because it's not supported on Python 3.13+.
  # And since numpy 2.x is at 2.3.2, it's not supported.
  # However, the upper bound is "for matching the numpy deprecation policy",
  # so relaxing it should be OK. (It silently was overridden previously,
  # due to the use of `format = "setuptools"` instead of `pyproject = true`)
  postPatch = ''
    substituteInPlace pyproject.toml --replace-fail "numpy>=2.0.0rc1,<2.3" "numpy"
  '';

  build-system = [
    extension-helpers
    setuptools
    setuptools-scm # Technically needs setuptools-scm[toml], but that's our default.
    numpy
  ];

  propagatedBuildInputs = [
  dependencies = [
    astropy
    astropy-helpers
    fsspec
    numpy
    packaging
    parfive
  ];
    pyerfa
    requests
  ]
  ++ parfive.optional-dependencies.ftp;

  optional-dependencies = {
    asdf = [
      asdf
      # asdf-astropy
      asdf-astropy
    ];
    database = [ sqlalchemy ];
    image = [
      scikit-image
    dask = [ dask ] ++ dask.optional-dependencies.array;
    image = [ scipy ];
    jpeg2000 = [
      glymur
      lxml
    ];
    map = [
      contourpy
      matplotlib
      # mpl-animators
      reproject
      scipy
    ];
    net = [
@@ -71,93 +107,103 @@ buildPythonPackage rec {
      tqdm
      zeep
    ];
    jpeg2000 = [
      glymur
      lxml
    ];
    opencv = [ opencv-python ];
    scikit-image = [ scikit-image ];
    # spice = [ spiceypy ];
    timeseries = [
      # cdflib
      h5netcdf
      # h5py
      h5py
      matplotlib
      pandas
    ];
    visualization = [
      matplotlib
      # mpl-animators
    ];

    # We can't use `with` here because "map" would still be the builtin, and
    # we can't below because scikit-image would still be this package's argument.
    core = lib.concatLists [
      optional-dependencies.image
      optional-dependencies.map
      optional-dependencies.net
      optional-dependencies.timeseries
      optional-dependencies.visualization
    ];
    all = lib.concatLists [
      optional-dependencies.core
      optional-dependencies.asdf
      optional-dependencies.jpeg2000
      optional-dependencies.opencv
      # optional-dependencies.spice
      optional-dependencies.scikit-image
    ];
  };

  nativeCheckInputs = [
    hypothesis
    pytest-astropy
    pytest-mock
    pytestCheckHook
    pytest-mock
    writableTmpDirAsHomeHook
  ]
  ++ optional-dependencies.asdf
  ++ optional-dependencies.database
  ++ optional-dependencies.image
  ++ optional-dependencies.net
  ++ optional-dependencies.timeseries;

  postPatch = ''
    substituteInPlace setup.cfg \
      --replace " --dist no" ""
  '';

  # darwin has write permission issues
  doCheck = stdenv.hostPlatform.isLinux;

  preCheck = ''
    export HOME=$(mktemp -d)
  '';
  ++ optional-dependencies.all;

  disabledTests = [
    "rst"
    "test_sunpy_warnings_logging"
    "rst" # Docs
    "test_print_params" # Needs to be online
    "test_find_dependencies" # Needs cdflib
    # Needs mpl-animators
    "sunpy.coordinates.utils.GreatArc"
    "test_expand_list_generator_map"
    "test_great_arc_different_observer"
    "test_great_arc_points_differentiates"
    "test_great_arc_wrongly_formatted_points"
    "test_main_exclude_remote_data"
    "test_main_include_remote_data"
    "test_main_nonexisting_module"
    "test_main_only_remote_data"
    "test_main_stdlib_module"
    "test_find_dependencies"
    "test_main_submodule_map"
    "test_tai_seconds"
    "test_utime"
  ];

  disabledTestPaths = [
    # Tests are very slow
    "sunpy/net/tests/test_fido.py"
    "sunpy/net/tests/test_scraper.py"
    # asdf.extensions plugin issue
    "sunpy/io/special/asdf/resources/manifests/*.yaml"
    "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
    # Requires mpl-animators
    "sunpy/coordinates/tests/test_wcs_utils.py"
    "sunpy/image/tests/test_resample.py"
    "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"
    "sunpy/map"
    "sunpy/net/jsoc/tests/test_jsoc.py"
    "sunpy/physics/differential_rotation.py"
    "sunpy/physics/tests/test_differential_rotation.py"
    "sunpy/visualization"
    # Requires cdflib
    "sunpy/io/tests/test_cdf.py"
    "sunpy/timeseries"
    # Requires jplephem
    "sunpy/io/special/asdf/tests/test_coordinate_frames.py"
    # Requires spiceypy
    "sunpy/coordinates/tests/test_spice.py"
  ];

  pytestFlags = [
    "-Wignore::DeprecationWarning"
  ];
  pytestFlags = [ "-Wignore::DeprecationWarning" ];

  # Wants a configuration file
  # pythonImportsCheck = [
  #   "sunpy"
  # ];
  pythonImportsCheck = [ "sunpy" ];

  meta = with lib; {
    description = "Python for Solar Physics";
    homepage = "https://sunpy.org";
    license = licenses.bsd2;
    maintainers = [ ];
    broken = true;
  };
}
+1 −0
Original line number Diff line number Diff line
@@ -87,6 +87,7 @@ mapAliases {
  argon2_cffi = argon2-cffi; # added 2022-05-09
  arnparse = throw "arnparse has been removed because the upstream repository was archived in 2023"; # Added 2024-10-04
  APScheduler = apscheduler; # added 2023-02-19
  astropy-extension-helpers = extension-helpers; # Added 2025-10-15
  async_generator = async-generator; # added 2023-08-08
  async_stagger = async-stagger; # added 2023-08-08
  asyncio-mqtt = throw "asyncio-mqtt has been replaced by aiomqtt, which is not API compatible."; # added 2024-07-07
Loading