Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-asdf-astropy for 
openSUSE:Factory checked in at 2026-04-17 21:05:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-asdf-astropy (Old)
 and      /work/SRC/openSUSE:Factory/.python-asdf-astropy.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-asdf-astropy"

Fri Apr 17 21:05:24 2026 rev:19 rq:1347772 version:0.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-asdf-astropy/python-asdf-astropy.changes  
2026-03-19 17:41:27.419951604 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-asdf-astropy.new.11940/python-asdf-astropy.changes
       2026-04-17 21:05:40.821340536 +0200
@@ -1,0 +2,8 @@
+Fri Apr 17 17:23:08 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.11.0:
+  * Add support for astropy.wcs.wcsapi.HighLevelWCSWrapper.
+  * Update version checks for transform schema compatibility to
+    use package versions instead of manifests
+
+-------------------------------------------------------------------

Old:
----
  asdf_astropy-0.10.0.tar.gz

New:
----
  asdf_astropy-0.11.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-asdf-astropy.spec ++++++
--- /var/tmp/diff_new_pack.uas24e/_old  2026-04-17 21:05:41.905385154 +0200
+++ /var/tmp/diff_new_pack.uas24e/_new  2026-04-17 21:05:41.905385154 +0200
@@ -27,7 +27,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-asdf-astropy%{psuffix}
-Version:        0.10.0
+Version:        0.11.0
 Release:        0
 Summary:        ASDF serialization support for astropy
 License:        BSD-3-Clause
@@ -36,25 +36,26 @@
 BuildRequires:  %{python_module base >= 3.11}
 BuildRequires:  %{python_module packaging >= 19}
 BuildRequires:  %{python_module pip}
-BuildRequires:  %{python_module setuptools >= 60}
+BuildRequires:  %{python_module setuptools > 77}
 BuildRequires:  %{python_module setuptools_scm >= 3.4}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-asdf >= 2.15.0
+Requires:       python-asdf >= 3.3.0
 Requires:       python-asdf-coordinates-schemas >= 0.4
 Requires:       python-asdf-standard >= 1.1.0
 Requires:       python-asdf-transform-schemas >= 0.6
-Requires:       python-astropy >= 5.2
-Requires:       python-numpy >= 1.25
+Requires:       python-astropy >= 6.0
+Requires:       python-numpy >= 1.26.4
 Requires:       python-packaging >= 19
 %if %{with test}
 BuildRequires:  %{python_module asdf-astropy = %{version}}
+BuildRequires:  %{python_module gwcs >= 0.22}
 BuildRequires:  %{python_module pytest-asdf-plugin}
 BuildRequires:  %{python_module pytest-astropy}
 BuildRequires:  %{python_module pytest-xdist}
 BuildRequires:  %{python_module pytest}
-BuildRequires:  %{python_module scipy}
+BuildRequires:  %{python_module scipy >= 1.14.1}
 %endif
 BuildArch:      noarch
 %python_subpackages
@@ -88,6 +89,8 @@
 
 %if !%{with test}
 %files %{python_files}
+%license LICENSE.rst
+%doc CHANGES.rst README.rst
 %{python_sitelib}/asdf_astropy
 %{python_sitelib}/asdf_astropy-%{version}.dist-info
 %endif

++++++ asdf_astropy-0.10.0.tar.gz -> asdf_astropy-0.11.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/CHANGES.rst 
new/asdf_astropy-0.11.0/CHANGES.rst
--- old/asdf_astropy-0.10.0/CHANGES.rst 2026-02-13 19:05:09.000000000 +0100
+++ new/asdf_astropy-0.11.0/CHANGES.rst 2026-03-27 17:50:53.000000000 +0100
@@ -1,3 +1,14 @@
+0.11.0 (2026-03-27)
+-------------------
+
+- Add support for ``astropy.wcs.wcsapi.HighLevelWCSWrapper``. [#296]
+
+0.10.1 (2026-03-20)
+-------------------
+
+- Update version checks for transform schema compatibility to use package
+  versions instead of manifests [#317]
+
 0.10.0 (2026-02-13)
 -------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/PKG-INFO 
new/asdf_astropy-0.11.0/PKG-INFO
--- old/asdf_astropy-0.10.0/PKG-INFO    2026-02-13 19:05:17.938753800 +0100
+++ new/asdf_astropy-0.11.0/PKG-INFO    2026-03-27 17:51:05.114689000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: asdf-astropy
-Version: 0.10.0
+Version: 0.11.0
 Summary: ASDF serialization support for astropy
 Author-email: The Astropy Developers <[email protected]>
 Project-URL: documentation, https://asdf-astropy.readthedocs.io/en/latest/
@@ -16,7 +16,7 @@
 Requires-Dist: asdf-coordinates-schemas>=0.4
 Requires-Dist: asdf-transform-schemas>=0.6
 Requires-Dist: asdf-standard>=1.1.0
-Requires-Dist: astropy>=5.3.0
+Requires-Dist: astropy>=6.0
 Requires-Dist: numpy>=1.26.4
 Requires-Dist: packaging>=19
 Provides-Extra: docs
@@ -30,10 +30,11 @@
 Requires-Dist: tomli; extra == "docs"
 Provides-Extra: test
 Requires-Dist: coverage; extra == "test"
+Requires-Dist: gwcs>=0.22; extra == "test"
 Requires-Dist: pytest-astropy; extra == "test"
 Requires-Dist: pytest-asdf-plugin; extra == "test"
 Requires-Dist: pytest; extra == "test"
-Requires-Dist: scipy; extra == "test"
+Requires-Dist: scipy>=1.14.1; extra == "test"
 Dynamic: license-file
 
 ASDF serialization support for astropy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/asdf_astropy/_version.py 
new/asdf_astropy-0.11.0/asdf_astropy/_version.py
--- old/asdf_astropy-0.10.0/asdf_astropy/_version.py    2026-02-13 
19:05:17.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/_version.py    2026-03-27 
17:51:05.000000000 +0100
@@ -1,5 +1,6 @@
-# file generated by setuptools-scm
+# file generated by vcs-versioning
 # don't change, don't track in version control
+from __future__ import annotations
 
 __all__ = [
     "__version__",
@@ -10,25 +11,14 @@
     "commit_id",
 ]
 
-TYPE_CHECKING = False
-if TYPE_CHECKING:
-    from typing import Tuple
-    from typing import Union
-
-    VERSION_TUPLE = Tuple[Union[int, str], ...]
-    COMMIT_ID = Union[str, None]
-else:
-    VERSION_TUPLE = object
-    COMMIT_ID = object
-
 version: str
 __version__: str
-__version_tuple__: VERSION_TUPLE
-version_tuple: VERSION_TUPLE
-commit_id: COMMIT_ID
-__commit_id__: COMMIT_ID
+__version_tuple__: tuple[int | str, ...]
+version_tuple: tuple[int | str, ...]
+commit_id: str | None
+__commit_id__: str | None
 
-__version__ = version = '0.10.0'
-__version_tuple__ = version_tuple = (0, 10, 0)
+__version__ = version = '0.11.0'
+__version_tuple__ = version_tuple = (0, 11, 0)
 
-__commit_id__ = commit_id = 'g00045d9e2'
+__commit_id__ = commit_id = 'g154571ed9'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/highlevelwrapper.py 
new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/highlevelwrapper.py
--- old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/highlevelwrapper.py     
1970-01-01 01:00:00.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/highlevelwrapper.py     
2026-03-27 17:50:53.000000000 +0100
@@ -0,0 +1,14 @@
+from asdf.extension import Converter
+
+
+class HighLevelWCSWrapperConverter(Converter):
+    tags = ("tag:astropy.org:astropy/wcs/highlevelwcswrapper-*",)
+    types = ("astropy.wcs.wcsapi.high_level_wcs_wrapper.HighLevelWCSWrapper",)
+
+    def from_yaml_tree(self, node, tag, ctx):
+        from astropy.wcs.wcsapi import HighLevelWCSWrapper
+
+        return HighLevelWCSWrapper(node["wcs"])
+
+    def to_yaml_tree(self, hlwcs, tag, ctx):
+        return {"wcs": hlwcs.low_level_wcs}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/conftest.py 
new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/conftest.py
--- old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/conftest.py       
1970-01-01 01:00:00.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/conftest.py       
2026-03-27 17:50:53.000000000 +0100
@@ -0,0 +1,32 @@
+import pytest
+from astropy.wcs import WCS
+
+
[email protected]
+def gwcs_4d_identity_units():
+    pytest.importorskip("gwcs")
+    from gwcs.examples import gwcs_4d_identity_units
+
+    return gwcs_4d_identity_units()
+
+
[email protected]
+def astropy_wcs_4d():
+    wcs = WCS(naxis=4)
+    wcs.wcs.ctype = "RA---CAR", "DEC--CAR", "FREQ", "TIME"
+    wcs.wcs.cunit = "deg", "deg", "Hz", "s"
+    wcs.wcs.cdelt = -2.0, 2.0, 3.0e9, 1
+    wcs.wcs.crval = 4.0, 0.0, 4.0e9, 3
+    wcs.wcs.crpix = 6.0, 7.0, 11.0, 11.0
+    wcs.wcs.cname = "Right Ascension", "Declination", "Frequency", "Time"
+    return wcs
+
+
[email protected](
+    params=[
+        "gwcs_4d_identity_units",
+        "astropy_wcs_4d",
+    ],
+)
+def all_4d_wcses(request):
+    return request.getfixturevalue(request.param)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/test_highlevelwcswrapper.py
 
new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/test_highlevelwcswrapper.py
--- 
old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/test_highlevelwcswrapper.py
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/test_highlevelwcswrapper.py
       2026-03-27 17:50:53.000000000 +0100
@@ -0,0 +1,58 @@
+import asdf
+import pytest
+from astropy.wcs import WCS
+from astropy.wcs.wcsapi import HighLevelWCSWrapper
+from astropy.wcs.wcsapi.wrappers.sliced_wcs import SlicedLowLevelWCS
+
+from asdf_astropy.testing.helpers import assert_gwcs_equal, assert_wcs_equal
+
+try:
+    import gwcs
+except ImportError:
+    gwcs = None
+
+
[email protected]
+def sliced_astropy_wcs_4d(astropy_wcs_4d):
+    return SlicedLowLevelWCS(astropy_wcs_4d, 1)
+
+
[email protected]
+def hl_wcs(request):
+    return HighLevelWCSWrapper(request.getfixturevalue(request.param))
+
+
[email protected](
+    "hl_wcs",
+    [
+        "gwcs_4d_identity_units",
+        "astropy_wcs_4d",
+        "sliced_astropy_wcs_4d",
+    ],
+    indirect=True,
+)
+def test_hllwcs_serialization(hl_wcs, tmp_path):
+    file_path = tmp_path / "test_highlevelwcswrapper.asdf"
+    with asdf.AsdfFile() as af:
+        af["hl_wcs"] = hl_wcs
+        af.write_to(file_path, version="1.6.0")
+
+    ll_wcs = hl_wcs.low_level_wcs
+    with asdf.open(file_path) as af:
+        loaded_hl_wcs = af["hl_wcs"]
+        loaded_ll_wcs = loaded_hl_wcs._low_level_wcs
+
+        # Unwrap the SlicedLowLevelWCS
+        if isinstance(loaded_ll_wcs, SlicedLowLevelWCS):
+            assert isinstance(ll_wcs, SlicedLowLevelWCS)
+            assert loaded_ll_wcs._slices_array == ll_wcs._slices_array
+            loaded_ll_wcs = loaded_ll_wcs._wcs
+            ll_wcs = ll_wcs._wcs
+
+        if isinstance(loaded_ll_wcs, WCS):
+            assert_wcs_equal(ll_wcs, loaded_ll_wcs)
+        elif gwcs and isinstance(loaded_ll_wcs, gwcs.WCS):
+            assert_gwcs_equal(loaded_ll_wcs, ll_wcs)
+        else:
+            msg = f"Loaded an unexpected type: {type(loaded_ll_wcs)}"
+            raise TypeError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/test_slicedwcs.py 
new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/test_slicedwcs.py
--- old/asdf_astropy-0.10.0/asdf_astropy/converters/wcs/tests/test_slicedwcs.py 
2026-02-13 19:05:09.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/converters/wcs/tests/test_slicedwcs.py 
2026-03-27 17:50:53.000000000 +0100
@@ -1,30 +1,24 @@
 import asdf
 import numpy as np
 import pytest
-from astropy.wcs import WCS
 from astropy.wcs.wcsapi.wrappers.sliced_wcs import SlicedLowLevelWCS
 
 from asdf_astropy.testing.helpers import assert_wcs_equal
 
 
-def create_wcs():
-    wcs = WCS(naxis=4)
-    wcs.wcs.ctype = "RA---CAR", "DEC--CAR", "FREQ", "TIME"
-    wcs.wcs.cunit = "deg", "deg", "Hz", "s"
-    wcs.wcs.cdelt = -2.0, 2.0, 3.0e9, 1
-    wcs.wcs.crval = 4.0, 0.0, 4.0e9, 3
-    wcs.wcs.crpix = 6.0, 7.0, 11.0, 11.0
-    wcs.wcs.cname = "Right Ascension", "Declination", "Frequency", "Time"
[email protected](
+    params=[
+        lambda wcs: SlicedLowLevelWCS(wcs, 1),
+        lambda wcs: SlicedLowLevelWCS(wcs, [slice(None), slice(None), 
slice(None), 10]),
+        lambda wcs: SlicedLowLevelWCS(SlicedLowLevelWCS(wcs, slice(None)), 
[slice(3), slice(None), slice(None), 10]),
+        lambda wcs: SlicedLowLevelWCS(wcs, [Ellipsis, slice(5, 10)]),
+        lambda wcs: SlicedLowLevelWCS(wcs, np.s_[:, 2, 3, :]),
+    ],
+)
+def sl_wcs(astropy_wcs_4d, request):
+    return request.param(astropy_wcs_4d)
 
-    wcs0 = SlicedLowLevelWCS(wcs, 1)
-    wcs1 = SlicedLowLevelWCS(wcs, [slice(None), slice(None), slice(None), 10])
-    wcs3 = SlicedLowLevelWCS(SlicedLowLevelWCS(wcs, slice(None)), [slice(3), 
slice(None), slice(None), 10])
-    wcs_ellipsis = SlicedLowLevelWCS(wcs, [Ellipsis, slice(5, 10)])
-    wcs2 = SlicedLowLevelWCS(wcs, np.s_[:, 2, 3, :])
-    return [wcs0, wcs1, wcs2, wcs_ellipsis, wcs3]
 
-
[email protected]("sl_wcs", create_wcs())
 def test_sliced_wcs_serialization(sl_wcs, tmp_path):
     file_path = tmp_path / "test_slicedwcs.asdf"
     with asdf.AsdfFile() as af:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/asdf_astropy/extensions.py 
new/asdf_astropy-0.11.0/asdf_astropy/extensions.py
--- old/asdf_astropy-0.10.0/asdf_astropy/extensions.py  2026-02-13 
19:05:09.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/extensions.py  2026-03-27 
17:50:53.000000000 +0100
@@ -4,7 +4,6 @@
 """
 
 import importlib.metadata
-from importlib.util import find_spec
 
 import asdf
 from asdf.extension import Extension, ManifestExtension
@@ -35,6 +34,7 @@
 from .converters.unit.magunit import MagUnitConverter
 from .converters.unit.quantity import QuantityConverter
 from .converters.unit.unit import UnitConverter
+from .converters.wcs.highlevelwrapper import HighLevelWCSWrapperConverter
 from .converters.wcs.slicedwcs import SlicedWCSConverter
 from .converters.wcs.wcs import WCSConverter
 
@@ -426,19 +426,21 @@
 # to avoid including the new tags until those libraries can be updated.
 # We make the assumption here that the next version of each
 # downstream library manifest will fix the issue.
-_REQUIRED_DOWNSTREAM_MANIFESTS = {
-    "dkist": "asdf://dkist.nso.edu/dkist/extensions/dkist-wcs-1.5.0",
-    "asdf_wcs_schemas": 
"asdf://asdf-format.org/astronomy/gwcs/extensions/gwcs-1.4.0",
-    "stdatamodels": 
"asdf://stsci.edu/jwst_pipeline/extensions/jwst_transforms-1.2.0",
+_REQUIRED_DOWNSTREAM_VERSIONS = {
+    "dkist": "1.14.0",
+    "asdf_wcs_schemas": "0.5.0",
+    "stdatamodels": "3.1.0",
 }
 _include_new_transforms = True
 _resource_manager = asdf.get_config().resource_manager
-for package_name, required_manifest_uri in 
_REQUIRED_DOWNSTREAM_MANIFESTS.items():
+for package_name, required_version in _REQUIRED_DOWNSTREAM_VERSIONS.items():
     # don't use astropy.utils.minversion as it imports the package
-    if find_spec(package_name) is None:
+    try:
+        version = importlib.metadata.version(package_name)
+    except importlib.metadata.PackageNotFoundError:
         # not installed
         continue
-    if required_manifest_uri not in _resource_manager:
+    if version < required_version:
         # don't include new manifest
         _include_new_transforms = False
         break
@@ -530,6 +532,7 @@
     UncertaintyConverter(),
     WCSConverter(),
     SlicedWCSConverter(),
+    HighLevelWCSWrapperConverter(),
 ]
 
 
@@ -555,6 +558,7 @@
 
 
 _ASTROPY_EXTENSION_MANIFEST_URIS = [
+    "asdf://astropy.org/astropy/manifests/astropy-1.6.0",
     "asdf://astropy.org/astropy/manifests/astropy-1.5.0",
     "asdf://astropy.org/astropy/manifests/astropy-1.4.0",
     "asdf://astropy.org/astropy/manifests/astropy-1.3.0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/resources/manifests/astropy-1.6.0.yaml 
new/asdf_astropy-0.11.0/asdf_astropy/resources/manifests/astropy-1.6.0.yaml
--- old/asdf_astropy-0.10.0/asdf_astropy/resources/manifests/astropy-1.6.0.yaml 
1970-01-01 01:00:00.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/resources/manifests/astropy-1.6.0.yaml 
2026-03-27 17:50:53.000000000 +0100
@@ -0,0 +1,78 @@
+id: asdf://astropy.org/astropy/manifests/astropy-1.6.0
+extension_uri: asdf://astropy.org/astropy/extensions/astropy-1.6.0
+title: Astropy extension
+description: |-
+  A set of tags for serializing astropy objects.  This does not include most
+  model classes, which are handled by an implementation of the ASDF
+  transform extension.
+asdf_standard_requirement:
+  gte: 1.6.0
+tags:
+- tag_uri: tag:astropy.org:astropy/time/timedelta-1.2.0
+  schema_uri: http://astropy.org/schemas/astropy/time/timedelta-1.2.0
+  title: Represents an instance of TimeDelta from astropy
+  description: |-
+    Represents the time difference between two times.
+- tag_uri: tag:astropy.org:astropy/fits/fits-1.2.0
+  schema_uri: http://astropy.org/schemas/astropy/fits/fits-1.2.0
+  title: A FITS file inside of an ASDF file.
+  description: |-
+    This schema is useful for distributing ASDF files that can
+    automatically be converted to FITS files by specifying the exact
+    content of the resulting FITS file.
+
+    Not all kinds of data in FITS are directly representable in ASDF.
+    For example, applying an offset and scale to the data using the
+    `BZERO` and `BSCALE` keywords.  In these cases, it will not be
+    possible to store the data in the native format from FITS and also
+    be accessible in its proper form in the ASDF file.
+
+    Only image and binary table extensions are supported.
+- tag_uri: tag:astropy.org:astropy/table/table-1.3.0
+  schema_uri: http://astropy.org/schemas/astropy/table/table-1.3.0
+  title: A table.
+  description: |-
+    A table is represented as a list of columns, where each entry is a
+    column object, containing the data and some additional information.
+
+    The data itself may be stored inline as text, or in binary in either
+    row- or column-major order by use of the `strides` property on the
+    individual column arrays.
+
+    Each column in the table must have the same first (slowest moving)
+    dimension.
+- tag_uri: tag:astropy.org:astropy/transform/units_mapping-1.2.0
+  schema_uri: http://astropy.org/schemas/astropy/transform/units_mapping-1.2.0
+  title: Mapper that operates on the units of the input.
+  description: |-
+    This transform operates on the units of the input, first converting to
+    the expected input units, then assigning replacement output units without
+    further conversion.
+- tag_uri: tag:astropy.org:astropy/table/ndarraymixin-1.0.0
+  schema_uri: http://astropy.org/schemas/astropy/table/ndarraymixin-1.0.0
+  title: NdarrayMixin column.
+  description: |-
+    Represents an astropy.table.NdarrayMixin instance.
+- tag_uri: tag:astropy.org:astropy/wcs/slicedwcs-1.1.0
+  schema_uri: http://astropy.org/schemas/astropy/wcs/slicedwcs-1.1.0
+  title: Represents an instance of SlicedLowLevelWCS
+  description: |-
+    The SlicedLowLevelWCS class is a wrapper class for WCS that applies slices
+    to the WCS, allowing certain pixel and world dimensions to be retained or
+    dropped.
+
+    It manages the slicing and coordinate transformations while preserving
+    the underlying WCS object.
+- tag_uri: tag:astropy.org:astropy/wcs/wcs-1.0.0
+  schema_uri: http://astropy.org/schemas/astropy/wcs/wcs-1.0.0
+  title: FITS WCS (World Coordinate System) Converter
+  description: |-
+    Represents the FITS WCS object, the HDUlist of the FITS header is preserved
+    during serialization and during deserialization the WCS object is recreated
+    from the HDUlist.
+- tag_uri: tag:astropy.org:astropy/wcs/highlevelwcswrapper-1.0.0
+  schema_uri: http://astropy.org/schemas/astropy/wcs/highlevelwcswrapper-1.0.0
+  title: Represents an instance of HighLevelWCSWrapper
+  description: |-
+    Wrapper class that can take any astropy.wcs.wcsapi.BaseLowLevelWCS
+    object and expose the high-level WCS API.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy/resources/schemas/wcs/highlevelwcswrapper-1.0.0.yaml
 
new/asdf_astropy-0.11.0/asdf_astropy/resources/schemas/wcs/highlevelwcswrapper-1.0.0.yaml
--- 
old/asdf_astropy-0.10.0/asdf_astropy/resources/schemas/wcs/highlevelwcswrapper-1.0.0.yaml
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/asdf_astropy-0.11.0/asdf_astropy/resources/schemas/wcs/highlevelwcswrapper-1.0.0.yaml
   2026-03-27 17:50:53.000000000 +0100
@@ -0,0 +1,28 @@
+%YAML 1.1
+---
+$schema: "http://stsci.edu/schemas/yaml-schema/draft-01";
+id: "http://astropy.org/schemas/astropy/wcs/highlevelwcswrapper-1.0.0";
+
+title: Represents a HighLevelWCSWrapper object
+
+description: >-
+    Wrapper class that can take any astropy.wcs.wcsapi.BaseLowLevelWCS
+    object and expose the high-level WCS API.
+
+allOf:
+  - type: object
+    properties:
+      wcs:
+        anyOf:
+          # Known WCS objects
+          - tag: "tag:astropy.org:astropy/wcs/wcs-1*"
+          - tag: "tag:stsci.edu:gwcs/wcs-*"
+          - tag: "tag:astropy.org:astropy/wcs/slicedwcs-*"
+          - tag: "tag:sunpy.org:ndcube/resampledwcs-*"
+          - tag: "tag:sunpy.org:ndcube/reorderedwcs-*"
+          - tag: "tag:sunpy.org:ndcube/compoundwcs-*"
+          # Allow anything else because any APE-14 compliant object is valid
+          - {}
+
+
+    required: ["wcs"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/asdf_astropy/testing/helpers.py 
new/asdf_astropy-0.11.0/asdf_astropy/testing/helpers.py
--- old/asdf_astropy-0.10.0/asdf_astropy/testing/helpers.py     2026-02-13 
19:05:09.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy/testing/helpers.py     2026-03-27 
17:50:53.000000000 +0100
@@ -271,3 +271,34 @@
 
     with asdf.open(path) as af:
         assert_wcs_equal(wcs, af["wcs"])
+
+
+def _assert_gwcs_frame_equal(a, b):
+    __tracebackhide__ = True
+
+    import gwcs.coordinate_frames as cf
+
+    assert type(a) is type(b)
+
+    if a is None:
+        return None
+
+    if not isinstance(a, cf.CoordinateFrame):
+        return a == b
+
+    assert a.name == b.name  # nosec
+    if not isinstance(a, cf.EmptyFrame):
+        assert a.axes_order == b.axes_order  # nosec
+        assert a.axes_names == b.axes_names  # nosec
+        assert a.unit == b.unit  # nosec
+        assert a.reference_frame == b.reference_frame  # nosec
+    return None
+
+
+def assert_gwcs_equal(a, b):
+    assert a.name == b.name  # nosec
+    assert a.pixel_shape == b.pixel_shape
+    assert len(a.available_frames) == len(b.available_frames)  # nosec
+    for a_step, b_step in zip(a.pipeline, b.pipeline, strict=False):
+        _assert_gwcs_frame_equal(a_step.frame, b_step.frame)
+        assert_model_equal(a_step.transform, b_step.transform)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/asdf_astropy.egg-info/PKG-INFO 
new/asdf_astropy-0.11.0/asdf_astropy.egg-info/PKG-INFO
--- old/asdf_astropy-0.10.0/asdf_astropy.egg-info/PKG-INFO      2026-02-13 
19:05:17.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy.egg-info/PKG-INFO      2026-03-27 
17:51:05.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: asdf-astropy
-Version: 0.10.0
+Version: 0.11.0
 Summary: ASDF serialization support for astropy
 Author-email: The Astropy Developers <[email protected]>
 Project-URL: documentation, https://asdf-astropy.readthedocs.io/en/latest/
@@ -16,7 +16,7 @@
 Requires-Dist: asdf-coordinates-schemas>=0.4
 Requires-Dist: asdf-transform-schemas>=0.6
 Requires-Dist: asdf-standard>=1.1.0
-Requires-Dist: astropy>=5.3.0
+Requires-Dist: astropy>=6.0
 Requires-Dist: numpy>=1.26.4
 Requires-Dist: packaging>=19
 Provides-Extra: docs
@@ -30,10 +30,11 @@
 Requires-Dist: tomli; extra == "docs"
 Provides-Extra: test
 Requires-Dist: coverage; extra == "test"
+Requires-Dist: gwcs>=0.22; extra == "test"
 Requires-Dist: pytest-astropy; extra == "test"
 Requires-Dist: pytest-asdf-plugin; extra == "test"
 Requires-Dist: pytest; extra == "test"
-Requires-Dist: scipy; extra == "test"
+Requires-Dist: scipy>=1.14.1; extra == "test"
 Dynamic: license-file
 
 ASDF serialization support for astropy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy.egg-info/SOURCES.txt 
new/asdf_astropy-0.11.0/asdf_astropy.egg-info/SOURCES.txt
--- old/asdf_astropy-0.10.0/asdf_astropy.egg-info/SOURCES.txt   2026-02-13 
19:05:17.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy.egg-info/SOURCES.txt   2026-03-27 
17:51:05.000000000 +0100
@@ -85,9 +85,12 @@
 asdf_astropy/converters/unit/tests/test_quantity.py
 asdf_astropy/converters/unit/tests/test_unit.py
 asdf_astropy/converters/wcs/__init__.py
+asdf_astropy/converters/wcs/highlevelwrapper.py
 asdf_astropy/converters/wcs/slicedwcs.py
 asdf_astropy/converters/wcs/wcs.py
 asdf_astropy/converters/wcs/tests/__init__.py
+asdf_astropy/converters/wcs/tests/conftest.py
+asdf_astropy/converters/wcs/tests/test_highlevelwcswrapper.py
 asdf_astropy/converters/wcs/tests/test_slicedwcs.py
 asdf_astropy/converters/wcs/tests/test_wcs.py
 asdf_astropy/io/__init__.py
@@ -101,6 +104,7 @@
 asdf_astropy/resources/manifests/astropy-1.3.0.yaml
 asdf_astropy/resources/manifests/astropy-1.4.0.yaml
 asdf_astropy/resources/manifests/astropy-1.5.0.yaml
+asdf_astropy/resources/manifests/astropy-1.6.0.yaml
 asdf_astropy/resources/manifests/units-1.0.0.yaml
 asdf_astropy/resources/manifests/units-1.1.0.yaml
 asdf_astropy/resources/manifests/units-1.2.0.yaml
@@ -125,6 +129,7 @@
 asdf_astropy/resources/schemas/units/equivalency-1.2.0.yaml
 asdf_astropy/resources/schemas/units/magunit-1.0.0.yaml
 asdf_astropy/resources/schemas/units/magunit-1.1.0.yaml
+asdf_astropy/resources/schemas/wcs/highlevelwcswrapper-1.0.0.yaml
 asdf_astropy/resources/schemas/wcs/slicedwcs-1.0.0.yaml
 asdf_astropy/resources/schemas/wcs/slicedwcs-1.1.0.yaml
 asdf_astropy/resources/schemas/wcs/wcs-1.0.0.yaml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/asdf_astropy-0.10.0/asdf_astropy.egg-info/requires.txt 
new/asdf_astropy-0.11.0/asdf_astropy.egg-info/requires.txt
--- old/asdf_astropy-0.10.0/asdf_astropy.egg-info/requires.txt  2026-02-13 
19:05:17.000000000 +0100
+++ new/asdf_astropy-0.11.0/asdf_astropy.egg-info/requires.txt  2026-03-27 
17:51:05.000000000 +0100
@@ -2,7 +2,7 @@
 asdf-coordinates-schemas>=0.4
 asdf-transform-schemas>=0.6
 asdf-standard>=1.1.0
-astropy>=5.3.0
+astropy>=6.0
 numpy>=1.26.4
 packaging>=19
 
@@ -18,7 +18,8 @@
 
 [test]
 coverage
+gwcs>=0.22
 pytest-astropy
 pytest-asdf-plugin
 pytest
-scipy
+scipy>=1.14.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/pyproject.toml 
new/asdf_astropy-0.11.0/pyproject.toml
--- old/asdf_astropy-0.10.0/pyproject.toml      2026-02-13 19:05:09.000000000 
+0100
+++ new/asdf_astropy-0.11.0/pyproject.toml      2026-03-27 17:50:53.000000000 
+0100
@@ -18,7 +18,7 @@
   "asdf-coordinates-schemas>=0.4",
   "asdf-transform-schemas>=0.6",
   "asdf-standard>=1.1.0",
-  "astropy>=5.3.0",
+  "astropy>=6.0",
   "numpy>=1.26.4",
   "packaging>=19",
 ]
@@ -35,10 +35,11 @@
 ]
 test = [
   "coverage",
+  "gwcs>=0.22",
   "pytest-astropy",
   "pytest-asdf-plugin",
   "pytest",
-  "scipy",  # indirect requirement via astropy
+  "scipy>=1.14.1",  # oldest version supported by gwcs
 ]
 [project.urls]
 'documentation' = 'https://asdf-astropy.readthedocs.io/en/latest/'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/asdf_astropy-0.10.0/tox.ini 
new/asdf_astropy-0.11.0/tox.ini
--- old/asdf_astropy-0.10.0/tox.ini     2026-02-13 19:05:09.000000000 +0100
+++ new/asdf_astropy-0.11.0/tox.ini     2026-03-27 17:50:53.000000000 +0100
@@ -31,11 +31,11 @@
     parallel: pytest-xdist
 extras =
     test
-    alldeps: all
 commands_pre=
     devdeps: pip install -U --pre -i 
https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
     devdeps: pip install -U --pre -i https://pypi.anaconda.org/liberfa/simple 
pyerfa
     devdeps: pip install -U --pre -i https://pypi.anaconda.org/astropy/simple 
astropy
+    devdeps: pip install -U git+https://github.com/spacetelescope/gwcs.git
 
     # Generate `requiremments-min.txt`
     oldestdeps: minimum_dependencies asdf-astropy --filename 
{envtmpdir}/requirements-min.txt

Reply via email to