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 2025-12-12 21:42:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-asdf-astropy (Old)
and /work/SRC/openSUSE:Factory/.python-asdf-astropy.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-asdf-astropy"
Fri Dec 12 21:42:34 2025 rev:15 rq:1322579 version:0.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-asdf-astropy/python-asdf-astropy.changes
2025-08-27 21:36:17.602725783 +0200
+++
/work/SRC/openSUSE:Factory/.python-asdf-astropy.new.1939/python-asdf-astropy.changes
2025-12-12 21:43:59.171941334 +0100
@@ -1,0 +2,7 @@
+Fri Dec 12 10:44:44 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 0.9.0:
+ * drop support for numpy 1.25.
+ * require asdf 3.3 and drop support for astropy 5.2
+
+-------------------------------------------------------------------
Old:
----
asdf_astropy-0.8.0.tar.gz
New:
----
asdf_astropy-0.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-asdf-astropy.spec ++++++
--- /var/tmp/diff_new_pack.D0Hlb7/_old 2025-12-12 21:43:59.755965974 +0100
+++ /var/tmp/diff_new_pack.D0Hlb7/_new 2025-12-12 21:43:59.759966142 +0100
@@ -27,7 +27,7 @@
%{?sle15_python_module_pythons}
Name: python-asdf-astropy%{psuffix}
-Version: 0.8.0
+Version: 0.9.0
Release: 0
Summary: ASDF serialization support for astropy
License: BSD-3-Clause
++++++ asdf_astropy-0.8.0.tar.gz -> asdf_astropy-0.9.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/.github/workflows/ci.yml
new/asdf_astropy-0.9.0/.github/workflows/ci.yml
--- old/asdf_astropy-0.8.0/.github/workflows/ci.yml 2025-06-11
22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/.github/workflows/ci.yml 2025-11-17
22:54:20.000000000 +0100
@@ -22,13 +22,13 @@
outputs:
requirements-hash: ${{ steps.requirements-hash.outputs.hash }}
steps:
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #
v4.2.2
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 #
v5.0.0
- id: requirements-hash
run: echo "::set-output name=hash::${{ hashFiles('**/pyproject.toml',
'**/setup.*', 'tox.ini') }}"
core:
needs: [setup]
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
@@ -40,11 +40,12 @@
- linux: py311-test-parallel-cov
- linux: py312-test-parallel-cov
- linux: py313-test-parallel-cov
+ - linux: py314-test-parallel-cov
coverage: codecov
asdf-schemas:
needs: [setup]
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
@@ -59,7 +60,7 @@
test:
needs: [core, asdf-schemas]
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
@@ -74,7 +75,7 @@
dev:
needs: [core, asdf-schemas]
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
@@ -83,13 +84,13 @@
# Any env name which does not start with `pyXY` will use this Python
version.
default_python: '3.13'
envs: |
- - linux: py313-test-predeps-parallel-cov
- - linux: py313-test-devdeps-parallel-cov
+ - linux: py314-test-predeps-parallel-cov
+ - linux: py314-test-devdeps-parallel-cov
coverage: codecov
oldest:
needs: [core, asdf-schemas]
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
@@ -104,7 +105,7 @@
wheel_building:
permissions:
contents: none
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
if: (github.event_name == 'push' || github.event_name == 'pull_request')
with:
upload_to_pypi: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/.github/workflows/downstream.yml
new/asdf_astropy-0.9.0/.github/workflows/downstream.yml
--- old/asdf_astropy-0.8.0/.github/workflows/downstream.yml 2025-06-11
22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/.github/workflows/downstream.yml 2025-11-17
22:54:20.000000000 +0100
@@ -24,7 +24,7 @@
jobs:
astropy:
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
if: (github.repository == 'astropy/asdf-astropy' && (github.event_name ==
'schedule' || github.event_name == 'push' || github.event_name ==
'workflow_dispatch' || contains(github.event.pull_request.labels.*.name,
'Downstream CI')))
with:
submodules: false
@@ -34,7 +34,7 @@
- linux: specutils
stsci:
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
if: (github.repository == 'astropy/asdf-astropy' && (github.event_name ==
'schedule' || github.event_name == 'push' || github.event_name ==
'workflow_dispatch' || contains(github.event.pull_request.labels.*.name,
'Downstream CI')))
with:
submodules: false
@@ -47,7 +47,7 @@
- linux: roman_datamodels
third-party:
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
if: (github.repository == 'astropy/asdf-astropy' && (github.event_name ==
'schedule' || github.event_name == 'push' || github.event_name ==
'workflow_dispatch' || contains(github.event.pull_request.labels.*.name,
'Downstream CI')))
with:
submodules: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/.github/workflows/publish-to-pypi.yml
new/asdf_astropy-0.9.0/.github/workflows/publish-to-pypi.yml
--- old/asdf_astropy-0.8.0/.github/workflows/publish-to-pypi.yml
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/.github/workflows/publish-to-pypi.yml
2025-11-17 22:54:20.000000000 +0100
@@ -12,7 +12,7 @@
permissions:
contents: none
if: (github.event_name == 'release')
- uses:
OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@8c0fde6f7e926df6ed7057255d29afa9c1ad5320
# v1.16.0
+ uses:
OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@d9b81a07e789d1b1921ab5fe33de2ddcbbd02c3f
# v2.3.0
with:
upload_to_pypi: true
test_extras: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/CHANGES.rst
new/asdf_astropy-0.9.0/CHANGES.rst
--- old/asdf_astropy-0.8.0/CHANGES.rst 2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/CHANGES.rst 2025-11-17 22:54:20.000000000 +0100
@@ -1,3 +1,9 @@
+0.9.0 (2025-11-17)
+------------------
+
+- drop support for numpy 1.25. [#285]
+- require asdf 3.3 and drop support for astropy 5.2 [#297]
+
0.8.0 (2025-06-11)
------------------
@@ -7,6 +13,8 @@
- Add support for asdf-transform-schemas 0.6 and asdf-coordinates-schemas 0.4.
[#279]
- Ignore UnitsWarnings emitted by astropy when converting units to VO format.
[#281]
- Add support for new astronomy-1.1.0 manifest. [#282]
+- Serialize ``pixel_shape`` on ``astropy.wcs.WCS``. [#276]
+- Accept a gwcs object when serializing ``SlicedLowLevelWCS``. [#276]
0.7.1 (2025-02-12)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/PKG-INFO
new/asdf_astropy-0.9.0/PKG-INFO
--- old/asdf_astropy-0.8.0/PKG-INFO 2025-06-11 22:27:05.074569000 +0200
+++ new/asdf_astropy-0.9.0/PKG-INFO 2025-11-17 22:54:32.459305000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: asdf-astropy
-Version: 0.8.0
+Version: 0.9.0
Summary: ASDF serialization support for astropy
Author-email: The Astropy Developers <[email protected]>
Project-URL: documentation, https://asdf-astropy.readthedocs.io/en/latest/
@@ -12,12 +12,12 @@
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE.rst
-Requires-Dist: asdf>=2.15.0
+Requires-Dist: asdf>=3.3.0
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.2.0
-Requires-Dist: numpy>=1.25
+Requires-Dist: astropy>=5.3.0
+Requires-Dist: numpy>=1.26
Requires-Dist: packaging>=19
Provides-Extra: docs
Requires-Dist: docutils; extra == "docs"
@@ -31,6 +31,7 @@
Provides-Extra: test
Requires-Dist: coverage; 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"
Dynamic: license-file
@@ -67,9 +68,6 @@
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
-.. image::
https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
- :target: https://pycqa.github.io/isort/
-
This package includes plugins that provide ASDF serialization support for
astropy
objects. The plugins are automatically enabled when the package is installed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/README.rst
new/asdf_astropy-0.9.0/README.rst
--- old/asdf_astropy-0.8.0/README.rst 2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/README.rst 2025-11-17 22:54:20.000000000 +0100
@@ -30,9 +30,6 @@
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
-.. image::
https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
- :target: https://pycqa.github.io/isort/
-
This package includes plugins that provide ASDF serialization support for
astropy
objects. The plugins are automatically enabled when the package is installed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/asdf_astropy/_version.py
new/asdf_astropy-0.9.0/asdf_astropy/_version.py
--- old/asdf_astropy-0.8.0/asdf_astropy/_version.py 2025-06-11
22:27:04.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/_version.py 2025-11-17
22:54:32.000000000 +0100
@@ -1,7 +1,14 @@
# file generated by setuptools-scm
# don't change, don't track in version control
-__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
+__all__ = [
+ "__version__",
+ "__version_tuple__",
+ "version",
+ "version_tuple",
+ "__commit_id__",
+ "commit_id",
+]
TYPE_CHECKING = False
if TYPE_CHECKING:
@@ -9,13 +16,19 @@
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__ = version = '0.8.0'
-__version_tuple__ = version_tuple = (0, 8, 0)
+__version__ = version = '0.9.0'
+__version_tuple__ = version_tuple = (0, 9, 0)
+
+__commit_id__ = commit_id = 'g2da2cd0aa'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/coordinates/tests/test_earth_location.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/coordinates/tests/test_earth_location.py
---
old/asdf_astropy-0.8.0/asdf_astropy/converters/coordinates/tests/test_earth_location.py
2025-06-11 22:26:55.000000000 +0200
+++
new/asdf_astropy-0.9.0/asdf_astropy/converters/coordinates/tests/test_earth_location.py
2025-11-17 22:54:20.000000000 +0100
@@ -5,8 +5,6 @@
from astropy.coordinates.earth import ELLIPSOIDS
from astropy.units import Quantity
-from asdf_astropy.testing.helpers import assert_earth_location_equal
-
def create_earth_locations():
longitude = Longitude([0.0, 45.0, 90.0, 135.0, 180.0, -180, -90, -45],
u.deg, wrap_angle=180 * u.deg)
@@ -33,24 +31,3 @@
with asdf.open(file_path) as af:
assert (af["earth_location"] == earth_location).all()
-
-
[email protected]
-def _builtin_site_registry():
- orig_sites = getattr(EarthLocation, "_site_registry", None)
- EarthLocation._get_site_registry(force_builtin=True)
- yield
- EarthLocation._site_registry = orig_sites
-
-
[email protected]("_builtin_site_registry")
-def test_earthlocation_site(tmp_path):
- earth_location = EarthLocation.of_site("greenwich")
-
- file_path = tmp_path / "test.asdf"
- with asdf.AsdfFile() as af:
- af["earth_location"] = earth_location
- af.write_to(file_path)
-
- with asdf.open(file_path) as af:
- assert_earth_location_equal(af["earth_location"], earth_location)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/coordinates/tests/test_frame.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/coordinates/tests/test_frame.py
---
old/asdf_astropy-0.8.0/asdf_astropy/converters/coordinates/tests/test_frame.py
2025-06-11 22:26:55.000000000 +0200
+++
new/asdf_astropy-0.9.0/asdf_astropy/converters/coordinates/tests/test_frame.py
2025-11-17 22:54:20.000000000 +0100
@@ -116,6 +116,5 @@
truth = ICRS(ra=Longitude(25, unit=u.deg), dec=Latitude(45, unit=u.deg))
buff = yaml_to_asdf(f"example: {example.strip()}", version="1.5.0")
- with asdf.AsdfFile() as af:
- af._open_impl(af, buff, mode="rw")
+ with asdf.open(buff) as af:
assert_frame_equal(af["example"], truth)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/time/tests/test_time.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/time/tests/test_time.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/time/tests/test_time.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/time/tests/test_time.py
2025-11-17 22:54:20.000000000 +0100
@@ -112,8 +112,7 @@
@pytest.mark.parametrize("example", create_examples())
def test_read_examples(example):
buff = yaml_to_asdf(f"example: {example['example'].strip()}",
version="1.5.0")
- with asdf.AsdfFile() as af:
- af._open_impl(af, buff, mode="rw")
+ with asdf.open(buff) as af:
assert np.all(af["example"] == example["truth"])
@@ -137,6 +136,10 @@
# stardate is not a documented format for astropy
# https://docs.astropy.org/en/latest/time/index.html#time-format
continue
+ if format_ == "galexsec":
+ # galexsec is unsupported until the time schema can be updated
+ # https://github.com/astropy/asdf-astropy/issues/292
+ continue
new = Time("B2000.0")
new.format = format_
formats.append(new)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_magunit.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_magunit.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_magunit.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_magunit.py
2025-11-17 22:54:20.000000000 +0100
@@ -18,9 +18,8 @@
with asdf.open(file_path) as af:
assert af["unit"].is_equivalent(unit)
- with asdf.open(file_path, _force_raw_types=True) as af:
- assert isinstance(af["unit"], asdf.tagged.TaggedDict)
- assert
af["unit"]._tag.startswith("tag:astropy.org:astropy/units/magunit-")
+ with file_path.open() as f:
+ assert "tag:astropy.org:astropy/units/magunit-" in f.read()
def create_magunits():
@@ -48,6 +47,5 @@
with asdf.open(file_path) as af:
assert af["unit"].is_equivalent(unit)
- with asdf.open(file_path, _force_raw_types=True) as af:
- assert isinstance(af["unit"], asdf.tagged.TaggedDict)
- assert
af["unit"]._tag.startswith("tag:astropy.org:astropy/units/magunit-")
+ with file_path.open() as f:
+ assert "tag:astropy.org:astropy/units/magunit-" in f.read()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_quantity.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_quantity.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_quantity.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_quantity.py
2025-11-17 22:54:20.000000000 +0100
@@ -4,18 +4,11 @@
from asdf.testing import helpers
from astropy import units
from astropy.units import Quantity
-from astropy.utils.introspection import minversion
from numpy.testing import assert_array_equal
from asdf_astropy.tests.versions import ASTROPY_GE_7_1
-def asdf_open_memory_mapping_kwarg(memmap: bool) -> dict:
- if minversion("asdf", "3.1.0"):
- return {"memmap": memmap}
- return {"copy_arrays": not memmap}
-
-
def create_quantities():
return [
# Scalar:
@@ -104,7 +97,7 @@
af.write_to(file_path)
# Update a value in the ASDF file
- with asdf.open(file_path, mode="rw",
**asdf_open_memory_mapping_kwarg(memmap=True)) as af:
+ with asdf.open(file_path, mode="rw", memmap=True) as af:
assert (af.tree["quantity"] == quantity).all()
assert af.tree["quantity"][-1, -1] != new_value
@@ -114,7 +107,7 @@
assert (af.tree["quantity"] != quantity).any()
assert (af.tree["quantity"] == new_quantity).all()
- with asdf.open(file_path, mode="rw",
**asdf_open_memory_mapping_kwarg(memmap=True)) as af:
+ with asdf.open(file_path, mode="rw", memmap=True) as af:
assert af.tree["quantity"][-1, -1] == new_value
assert (af.tree["quantity"] != quantity).any()
assert (af.tree["quantity"] == new_quantity).all()
@@ -137,7 +130,7 @@
af.write_to(file_path)
# Update a value in the ASDF file
- with asdf.open(file_path, mode="rw",
**asdf_open_memory_mapping_kwarg(memmap=False)) as af:
+ with asdf.open(file_path, mode="rw", memmap=False) as af:
assert (af.tree["quantity"] == quantity).all()
assert af.tree["quantity"][-1, -1] != new_value
@@ -147,13 +140,13 @@
assert (af.tree["quantity"] != quantity).any()
assert (af.tree["quantity"] == new_quantity).all()
- with asdf.open(file_path, mode="rw",
**asdf_open_memory_mapping_kwarg(memmap=False)) as af:
+ with asdf.open(file_path, mode="rw", memmap=False) as af:
assert af.tree["quantity"][-1, -1] != new_value
assert (af.tree["quantity"] != new_quantity).any()
assert (af.tree["quantity"] == quantity).all()
[email protected](ASTROPY_GE_7_1, reason="MaskedQuantity support was added
in astropy 7.1")
[email protected](ASTROPY_GE_7_1, reason=r"MaskedQuantity support was added
in astropy 7.1")
def test_masked_quantity_raises():
yaml = """
quantity: !unit/quantity-1.1.0
@@ -168,5 +161,5 @@
shape: [3]
"""
buff = helpers.yaml_to_asdf(yaml, version="1.5.0")
- with pytest.raises(NotImplementedError, match="MaskedQuantity support
requires astropy 7.1 or later"):
+ with pytest.raises(NotImplementedError, match=r"MaskedQuantity support
requires astropy 7.1 or later"):
asdf.open(buff)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_unit.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_unit.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/unit/tests/test_unit.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/unit/tests/test_unit.py
2025-11-17 22:54:20.000000000 +0100
@@ -41,9 +41,8 @@
with asdf.open(file_path) as af:
assert af["unit"].is_equivalent(unit)
- with asdf.open(file_path, _force_raw_types=True) as af:
- assert isinstance(af["unit"], asdf.tagged.TaggedString)
- assert af["unit"]._tag.startswith("tag:stsci.edu:asdf/unit/unit-")
+ with file_path.open() as f:
+ assert "!unit/unit-" in f.read()
@pytest.mark.parametrize("unit", create_non_vounits())
@@ -56,9 +55,8 @@
with asdf.open(file_path) as af:
assert af["unit"].is_equivalent(unit)
- with asdf.open(file_path, _force_raw_types=True) as af:
- assert isinstance(af["unit"], asdf.tagged.TaggedString)
- assert
af["unit"]._tag.startswith("tag:astropy.org:astropy/units/unit-")
+ with file_path.open() as f:
+ assert "tag:astropy.org:astropy/units/unit-" in f.read()
def test_read():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/wcs/tests/test_wcs.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/wcs/tests/test_wcs.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/wcs/tests/test_wcs.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/wcs/tests/test_wcs.py
2025-11-17 22:54:20.000000000 +0100
@@ -6,11 +6,10 @@
from astropy.utils.data import get_pkg_data_filename, get_pkg_data_filenames
from astropy.wcs import WCS, DistortionLookupTable, FITSFixedWarning, Sip
+from asdf_astropy.exceptions import InconsistentWCSError
from asdf_astropy.testing.helpers import assert_wcs_roundtrip
-_astropy_test_header_filenames =
list(get_pkg_data_filenames("tests/data/maps", "astropy.wcs", "*.hdr")) + list(
- get_pkg_data_filenames("tests/data/spectra", "astropy.wcs", "*.hdr"),
-)
+_astropy_test_header_filenames =
list(get_pkg_data_filenames("tests/data/maps", "astropy.wcs", "*.hdr"))
_astropy_test_fits_filenames = [
get_pkg_data_filename(f"tests/data/{fn}", "astropy.wcs")
@@ -118,3 +117,11 @@
wcs = WCS(ff[0].header, ff)
assert_wcs_roundtrip(wcs, tmp_path, version)
+
+
[email protected]("attr", ["pixel_shape", "pixel_bounds"])
+def test_failure_to_convert_inconsistent(tmp_path, attr):
+ wcs = create_wcs_with_attrs()
+ wcs.naxis -= 1
+ with pytest.raises(InconsistentWCSError, match="does not match naxis"):
+ assert_wcs_roundtrip(wcs, tmp_path)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/converters/wcs/wcs.py
new/asdf_astropy-0.9.0/asdf_astropy/converters/wcs/wcs.py
--- old/asdf_astropy-0.8.0/asdf_astropy/converters/wcs/wcs.py 2025-06-11
22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/converters/wcs/wcs.py 2025-11-17
22:54:20.000000000 +0100
@@ -1,8 +1,10 @@
from asdf.extension import Converter
+from asdf_astropy.exceptions import InconsistentWCSError
+
# These attributes don't end up in the hdulist and
# instead will be stored in "attrs"
-_WCS_ATTRS = ("naxis", "colsel", "keysel", "key", "pixel_bounds")
+_WCS_ATTRS = ("naxis", "colsel", "keysel", "key", "pixel_bounds",
"pixel_shape")
class WCSConverter(Converter):
@@ -18,20 +20,34 @@
if naxis := attrs.pop("naxis"):
hdulist[0].header["naxis"] = naxis
+ # pop attrs that are not valid kwargs
+ pixel_shape = attrs.pop("pixel_shape")
pixel_bounds = attrs.pop("pixel_bounds")
wcs = WCS(hdulist[0].header, fobj=hdulist, **attrs)
+ wcs.pixel_shape = pixel_shape
+ wcs.pixel_bounds = pixel_bounds
+
if wcs.sip is not None:
# work around a bug in astropy where sip headers lose precision
# see https://github.com/astropy/astropy/issues/17334
wcs.sip = wcs._read_sip_kw(hdulist[0].header, attrs.get("key", "
"))
wcs.wcs.set()
- wcs.pixel_bounds = pixel_bounds
return wcs
def to_yaml_tree(self, wcs, tag, ctx):
+ # Check that wcs is consistent. Astropy inconsistently checks
+ # that certain expected attributes match. We need to check this
+ # here to prevent writing inconsistent files that would be problematic
+ # to open.
+ if naxis := wcs.naxis:
+ for attr in ("pixel_shape", "pixel_bounds"):
+ if value := getattr(wcs, attr):
+ if len(value) != naxis:
+ msg = f"{attr} shape ({len(value)}) does not match
naxis ({naxis})"
+ raise InconsistentWCSError(msg)
hdulist = wcs.to_fits(relax=True)
attrs = {a: getattr(wcs, a) for a in _WCS_ATTRS if hasattr(wcs, a)}
return {"hdulist": hdulist, "attrs": attrs}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/asdf_astropy/exceptions.py
new/asdf_astropy-0.9.0/asdf_astropy/exceptions.py
--- old/asdf_astropy-0.8.0/asdf_astropy/exceptions.py 1970-01-01
01:00:00.000000000 +0100
+++ new/asdf_astropy-0.9.0/asdf_astropy/exceptions.py 2025-11-17
22:54:20.000000000 +0100
@@ -0,0 +1,4 @@
+class InconsistentWCSError(ValueError):
+ """
+ An error for a WCS with inconsistent attributes.
+ """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/asdf_astropy/extensions.py
new/asdf_astropy-0.9.0/asdf_astropy/extensions.py
--- old/asdf_astropy-0.8.0/asdf_astropy/extensions.py 2025-06-11
22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/extensions.py 2025-11-17
22:54:20.000000000 +0100
@@ -540,6 +540,7 @@
_ASTROPY_EXTENSION_MANIFEST_URIS = [
+ "asdf://astropy.org/astropy/manifests/astropy-1.4.0",
"asdf://astropy.org/astropy/manifests/astropy-1.3.0",
"asdf://astropy.org/astropy/manifests/astropy-1.2.0",
"asdf://astropy.org/astropy/manifests/astropy-1.1.0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/resources/manifests/astropy-1.4.0.yaml
new/asdf_astropy-0.9.0/asdf_astropy/resources/manifests/astropy-1.4.0.yaml
--- old/asdf_astropy-0.8.0/asdf_astropy/resources/manifests/astropy-1.4.0.yaml
1970-01-01 01:00:00.000000000 +0100
+++ new/asdf_astropy-0.9.0/asdf_astropy/resources/manifests/astropy-1.4.0.yaml
2025-11-17 22:54:20.000000000 +0100
@@ -0,0 +1,73 @@
+id: asdf://astropy.org/astropy/manifests/astropy-1.4.0
+extension_uri: asdf://astropy.org/astropy/extensions/astropy-1.4.0
+title: Astropy extension 1.4.0
+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.1.0
+ schema_uri: http://astropy.org/schemas/astropy/time/timedelta-1.1.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.1.0
+ schema_uri: http://astropy.org/schemas/astropy/fits/fits-1.1.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.2.0
+ schema_uri: http://astropy.org/schemas/astropy/table/table-1.2.0
+ title: A table.
+ description: |-
+ A table is represented as a list of columns, where each entry is a
+ [column](ref:http://stsci.edu/schemas/asdf/table/column-1.1.0)
+ 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.1.0
+ schema_uri: http://astropy.org/schemas/astropy/transform/units_mapping-1.1.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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/resources/schemas/wcs/slicedwcs-1.1.0.yaml
new/asdf_astropy-0.9.0/asdf_astropy/resources/schemas/wcs/slicedwcs-1.1.0.yaml
---
old/asdf_astropy-0.8.0/asdf_astropy/resources/schemas/wcs/slicedwcs-1.1.0.yaml
1970-01-01 01:00:00.000000000 +0100
+++
new/asdf_astropy-0.9.0/asdf_astropy/resources/schemas/wcs/slicedwcs-1.1.0.yaml
2025-11-17 22:54:20.000000000 +0100
@@ -0,0 +1,52 @@
+%YAML 1.1
+---
+$schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
+id: "http://astropy.org/schemas/astropy/wcs/slicedwcs-1.1.0"
+
+title: Represents the SlicedLowLevelWCS object
+
+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.
+
+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/ndcubesequence-*"
+ - tag: "tag:sunpy.org:ndcube/reorderedwcs-*"
+ - tag: "tag:sunpy.org:ndcube/compoundwcs-*"
+ # Allow anything else because any APE-14 compliant object is valid
+ - {}
+
+ slices_array:
+ type: array
+ items:
+ - oneOf:
+ - type: integer
+ - type: object
+ properties:
+ start:
+ anyOf:
+ - type: integer
+ - type: "null"
+ stop:
+ anyOf:
+ - type: integer
+ - type: "null"
+ step:
+ anyOf:
+ - type: integer
+ - type: "null"
+
+
+ required: ["wcs", "slices_array"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy/tests/test_integration.py
new/asdf_astropy-0.9.0/asdf_astropy/tests/test_integration.py
--- old/asdf_astropy-0.8.0/asdf_astropy/tests/test_integration.py
2025-06-11 22:26:55.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy/tests/test_integration.py
2025-11-17 22:54:20.000000000 +0100
@@ -80,7 +80,7 @@
# one of the tracked astropy modules is imported
class _Finder:
def find_spec(self, modulename, path=None, target=None):
- if any(modulename.startswith(m) for m in _ASTROPY_MODULES):
+ if any(modulename.startswith(m) for m in _ASTROPY_MODULES): #
pragma: no cover
msg = f"attempt to import astropy submodule({modulename})
during integration"
raise Exception(msg) # noqa: TRY002
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/asdf_astropy.egg-info/PKG-INFO
new/asdf_astropy-0.9.0/asdf_astropy.egg-info/PKG-INFO
--- old/asdf_astropy-0.8.0/asdf_astropy.egg-info/PKG-INFO 2025-06-11
22:27:05.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy.egg-info/PKG-INFO 2025-11-17
22:54:32.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: asdf-astropy
-Version: 0.8.0
+Version: 0.9.0
Summary: ASDF serialization support for astropy
Author-email: The Astropy Developers <[email protected]>
Project-URL: documentation, https://asdf-astropy.readthedocs.io/en/latest/
@@ -12,12 +12,12 @@
Requires-Python: >=3.11
Description-Content-Type: text/x-rst
License-File: LICENSE.rst
-Requires-Dist: asdf>=2.15.0
+Requires-Dist: asdf>=3.3.0
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.2.0
-Requires-Dist: numpy>=1.25
+Requires-Dist: astropy>=5.3.0
+Requires-Dist: numpy>=1.26
Requires-Dist: packaging>=19
Provides-Extra: docs
Requires-Dist: docutils; extra == "docs"
@@ -31,6 +31,7 @@
Provides-Extra: test
Requires-Dist: coverage; 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"
Dynamic: license-file
@@ -67,9 +68,6 @@
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
-.. image::
https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336
- :target: https://pycqa.github.io/isort/
-
This package includes plugins that provide ASDF serialization support for
astropy
objects. The plugins are automatically enabled when the package is installed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/asdf_astropy.egg-info/SOURCES.txt
new/asdf_astropy-0.9.0/asdf_astropy.egg-info/SOURCES.txt
--- old/asdf_astropy-0.8.0/asdf_astropy.egg-info/SOURCES.txt 2025-06-11
22:27:05.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy.egg-info/SOURCES.txt 2025-11-17
22:54:32.000000000 +0100
@@ -14,6 +14,7 @@
asdf_astropy/__init__.py
asdf_astropy/_version.py
asdf_astropy/conftest.py
+asdf_astropy/exceptions.py
asdf_astropy/extensions.py
asdf_astropy/integration.py
asdf_astropy.egg-info/PKG-INFO
@@ -98,6 +99,7 @@
asdf_astropy/resources/manifests/astropy-1.1.0.yaml
asdf_astropy/resources/manifests/astropy-1.2.0.yaml
asdf_astropy/resources/manifests/astropy-1.3.0.yaml
+asdf_astropy/resources/manifests/astropy-1.4.0.yaml
asdf_astropy/resources/manifests/units-1.0.0.yaml
asdf_astropy/resources/manifests/units-1.1.0.yaml
asdf_astropy/resources/schemas/fits/fits-1.0.0.yaml
@@ -115,6 +117,7 @@
asdf_astropy/resources/schemas/units/equivalency-1.1.0.yaml
asdf_astropy/resources/schemas/units/magunit-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
asdf_astropy/testing/__init__.py
asdf_astropy/testing/helpers.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/asdf_astropy-0.8.0/asdf_astropy.egg-info/requires.txt
new/asdf_astropy-0.9.0/asdf_astropy.egg-info/requires.txt
--- old/asdf_astropy-0.8.0/asdf_astropy.egg-info/requires.txt 2025-06-11
22:27:05.000000000 +0200
+++ new/asdf_astropy-0.9.0/asdf_astropy.egg-info/requires.txt 2025-11-17
22:54:32.000000000 +0100
@@ -1,9 +1,9 @@
-asdf>=2.15.0
+asdf>=3.3.0
asdf-coordinates-schemas>=0.4
asdf-transform-schemas>=0.6
asdf-standard>=1.1.0
-astropy>=5.2.0
-numpy>=1.25
+astropy>=5.3.0
+numpy>=1.26
packaging>=19
[docs]
@@ -19,5 +19,6 @@
[test]
coverage
pytest-astropy
+pytest-asdf-plugin
pytest
scipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/pyproject.toml
new/asdf_astropy-0.9.0/pyproject.toml
--- old/asdf_astropy-0.8.0/pyproject.toml 2025-06-11 22:26:55.000000000
+0200
+++ new/asdf_astropy-0.9.0/pyproject.toml 2025-11-17 22:54:20.000000000
+0100
@@ -14,12 +14,12 @@
'version',
]
dependencies = [
- "asdf>=2.15.0",
+ "asdf>=3.3.0",
"asdf-coordinates-schemas>=0.4",
"asdf-transform-schemas>=0.6",
"asdf-standard>=1.1.0",
- "astropy>=5.2.0",
- "numpy>=1.25",
+ "astropy>=5.3.0",
+ "numpy>=1.26",
"packaging>=19",
]
[project.optional-dependencies]
@@ -36,6 +36,7 @@
test = [
"coverage",
"pytest-astropy",
+ "pytest-asdf-plugin",
"pytest",
"scipy", # indirect requirement via astropy
]
@@ -138,6 +139,7 @@
"B905", # zip with strict
"UP038", # isinstance with | instead of ,
"A005", # shadow builtin modules
+ "PLC0415", # import should be at the top-level of a file
]
[tool.ruff.lint.per-file-ignores]
@@ -145,11 +147,6 @@
"asdf_astropy/testing/helpers.py" = ["S101"]
"scripts/generate_manifest.py" = ["S101", "SLOT000"]
-[tool.isort]
-profile = "black"
-filter_files = true
-line_length = 120
-
[tool.pytest.ini_options]
testpaths = ['asdf_astropy', 'docs']
astropy_header = true
@@ -163,38 +160,5 @@
asdf_schema_root = 'asdf_astropy/resources/schemas'
asdf_schema_tests_enabled = true
-[tool.coverage.run]
-omit = [
- 'asdf_astropy/conftest.py',
- 'asdf_astropy/*setup_package*',
- 'asdf_astropy/tests/*',
- 'asdf_astropy/*/tests/*',
- 'asdf_astropy/extern/*',
- 'asdf_astropy/version*',
- '*/asdf_astropy/conftest.py',
- '*/asdf_astropy/*setup_package*',
- '*/asdf_astropy/tests/*',
- '*/asdf_astropy/*/tests/*',
- '*/asdf_astropy/extern/*',
- '*/asdf_astropy/version*',
-]
-
-[tool.coverage.report]
-exclude_lines = [
- # Have to re-enable the standard pragma
- 'pragma: no cover',
- # Don't complain about packages we have installed
- 'except ImportError',
- # Don't complain if tests don't hit assertions
- 'raise AssertionError',
- 'raise NotImplementedError',
- # Don't complain about script hooks
- 'def main\(.*\):',
- # Ignore branches that don't pertain to this version of Python
- 'pragma: py{ignore_python_version}',
- # Don't complain about IPython completion helper
- 'def _ipython_key_completions_',
-]
-
[tool.codespell]
skip="*.pdf,*.fits,*.asdf,*.egg-info,.tox,build,./tags,.git,./docs/_build"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/asdf_astropy-0.8.0/requirements-dev.txt
new/asdf_astropy-0.9.0/requirements-dev.txt
--- old/asdf_astropy-0.8.0/requirements-dev.txt 2025-06-11 22:26:55.000000000
+0200
+++ new/asdf_astropy-0.9.0/requirements-dev.txt 2025-11-17 22:54:20.000000000
+0100
@@ -4,3 +4,5 @@
git+https://github.com/asdf-format/asdf-coordinates-schemas
numpy>=0.0.dev0
+
+git+https://github.com/pytest-dev/pytest