diff --git a/.github/workflows/cibuild.yml b/.github/workflows/cibuild.yml index d1d8ba13..e958934c 100644 --- a/.github/workflows/cibuild.yml +++ b/.github/workflows/cibuild.yml @@ -39,7 +39,7 @@ jobs: strategy: fail-fast: true matrix: - python-version: ["3.7","3.8","3.9","3.10","3.11"] + python-version: ["3.8","3.9","3.10","3.11","3.12"] package: [caom2, caom2utils, caom2repo] exclude: # temporary since hdf5 is not working yet diff --git a/caom2/caom2/chunk.py b/caom2/caom2/chunk.py index a06e124f..43c67360 100644 --- a/caom2/caom2/chunk.py +++ b/caom2/caom2/chunk.py @@ -2,7 +2,7 @@ # ****************** CANADIAN ASTRONOMY DATA CENTRE ******************* # ************* CENTRE CANADIEN DE DONNÉES ASTRONOMIQUES ************** # -# (c) 2022. (c) 2022. +# (c) 2024. (c) 2024. # Government of Canada Gouvernement du Canada # National Research Council Conseil national de recherches # Ottawa, Canada, K1A 0R6 Ottawa, Canada, K1A 0R6 @@ -82,31 +82,59 @@ class ProductType(OrderedEnum): """ - SCIENCE: "science" - CALIBRATION: "calibration" - PREVIEW: "preview" - INFO: "info" - NOISE: "noise" - WEIGHT: "weight" - AUXILIARY: "auxiliary" - THUMBNAIL: "thumbnail" - BIAS: "bias" - DARK: "dark" - FLAT: "flat" - WAVECAL: "wavecal" + Subset of IVOA DataLink terms at: + https://www.ivoa.net/rdf/datalink/core/2022-01-27/datalink.html + + THIS = "this" + AUXILIARY = "auxiliary" + BIAS = 'bias' + CALIBRATION = 'calibration' + CODERIVED = 'coderived' + DARK = 'dark' + DOCUMENTATION = 'documentation' + ERROR = 'error' + FLAT = 'flat' + NOISE = 'noise' + PREVIEW = 'preview' + PREVIEW_IMAGE = 'preview-image' + PREVIEW_PLOT = 'preview-plot' + THUMBNAIL = 'thumbnail' + WEIGHT = 'weight' + """ - SCIENCE = "science" - CALIBRATION = "calibration" - PREVIEW = "preview" - INFO = "info" - NOISE = "noise" - WEIGHT = "weight" + + THIS = "this" + AUXILIARY = "auxiliary" - THUMBNAIL = "thumbnail" - BIAS = "bias" - DARK = "dark" - FLAT = "flat" - WAVECAL = "wavecal" + BIAS = 'bias' + CALIBRATION = 'calibration' + CODERIVED = 'coderived' + DARK = 'dark' + DOCUMENTATION = 'documentation' + ERROR = 'error' + FLAT = 'flat' + NOISE = 'noise' + PREVIEW = 'preview' + PREVIEW_IMAGE = 'preview-image' + PREVIEW_PLOT = 'preview-plot' + THUMBNAIL = 'thumbnail' + WEIGHT = 'weight' + + # DataLink terms explicitly not included + # counterpart + # cutout + # derivation + # detached - header + # package + # proc + # progenitor + + # CAOM specific terms public + SCIENCE = 'science' # this + + # deprecated + # INFO = 'info' + # CATALOG = 'catalog' __all__ = ['ProductType', 'Chunk', 'ObservableAxis', 'SpatialWCS', diff --git a/caom2/caom2/tests/test_chunk.py b/caom2/caom2/tests/test_chunk.py index 28bf84da..aaa8d923 100644 --- a/caom2/caom2/tests/test_chunk.py +++ b/caom2/caom2/tests/test_chunk.py @@ -2,7 +2,7 @@ # ****************** CANADIAN ASTRONOMY DATA CENTRE ******************* # ************* CENTRE CANADIEN DE DONNÉES ASTRONOMIQUES ************** # -# (c) 2022. (c) 2022. +# (c) 2024. (c) 2024. # Government of Canada Gouvernement du Canada # National Research Council Conseil national de recherches # Ottawa, Canada, K1A 0R6 Ottawa, Canada, K1A 0R6 @@ -92,10 +92,10 @@ def test_all(self): self.assertEqual(chunk.ProductType[ chunk.ProductType.SCIENCE.name].value, "science") + self.assertEqual(chunk.ProductType.THIS.value, "this") self.assertEqual(chunk.ProductType.SCIENCE.value, "science") self.assertEqual(chunk.ProductType.CALIBRATION.value, "calibration") self.assertEqual(chunk.ProductType.PREVIEW.value, "preview") - self.assertEqual(chunk.ProductType.INFO.value, "info") self.assertEqual(chunk.ProductType.NOISE.value, "noise") self.assertEqual(chunk.ProductType.WEIGHT.value, "weight") self.assertEqual(chunk.ProductType.AUXILIARY.value, "auxiliary") @@ -103,7 +103,10 @@ def test_all(self): self.assertEqual(chunk.ProductType.BIAS.value, "bias") self.assertEqual(chunk.ProductType.DARK.value, "dark") self.assertEqual(chunk.ProductType.FLAT.value, "flat") - self.assertEqual(chunk.ProductType.WAVECAL.value, "wavecal") + self.assertEqual(chunk.ProductType.CODERIVED.value, "coderived") + self.assertEqual(chunk.ProductType.DOCUMENTATION.value, "documentation") + self.assertEqual(chunk.ProductType.PREVIEW_IMAGE.value, "preview-image") + self.assertEqual(chunk.ProductType.PREVIEW_PLOT.value, "preview-plot") class TestChunk(unittest.TestCase): diff --git a/caom2/setup.cfg b/caom2/setup.cfg index 8fb39ff1..b9911882 100644 --- a/caom2/setup.cfg +++ b/caom2/setup.cfg @@ -36,7 +36,7 @@ url = http://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/caom2 edit_on_github = False github_project = opencadc/caom2tools # version should be PEP386 compatible (http://www.python.org/dev/peps/pep-0386) -version = 2.6 +version = 2.6.1 [options] install_requires = diff --git a/caom2/setup.py b/caom2/setup.py index cd89a16e..f5529368 100755 --- a/caom2/setup.py +++ b/caom2/setup.py @@ -85,7 +85,7 @@ def run_tests(self): use_2to3=False, setup_requires=['pytest-runner'], entry_points=entry_points, - python_requires='>=3.7, <4', + python_requires='>=3.8, <4', packages=find_packages(), package_data={PACKAGENAME: ['data/*', 'tests/data/*', '*/data/*', '*/tests/data/*']}, classifiers=[ diff --git a/caom2/tox.ini b/caom2/tox.ini index 473d01cf..7953a3d7 100644 --- a/caom2/tox.ini +++ b/caom2/tox.ini @@ -5,7 +5,7 @@ name = caom2 [tox] envlist = - py{27,34,35,36,37,38,39,310} + py{38,39,310,311,312} requires = pip >= 19.3.1 diff --git a/caom2repo/setup.py b/caom2repo/setup.py index b1c264e1..b9ff9a87 100755 --- a/caom2repo/setup.py +++ b/caom2repo/setup.py @@ -108,7 +108,7 @@ def run(self): use_2to3=False, setup_requires=['pytest-runner'], entry_points=entry_points, - python_requires='>=3.7, <4', + python_requires='>=3.8, <4', packages=find_packages(), package_data={PACKAGENAME: ['data/*', 'tests/data/*', '*/data/*', '*/tests/data/*']}, classifiers=[ diff --git a/caom2utils/caom2utils/tests/test_fits2caom2.py b/caom2utils/caom2utils/tests/test_fits2caom2.py index 99370073..226e15c9 100755 --- a/caom2utils/caom2utils/tests/test_fits2caom2.py +++ b/caom2utils/caom2utils/tests/test_fits2caom2.py @@ -665,7 +665,7 @@ def test_help(): <caom2:artifacts> <caom2:artifact caom2:id="d2893703-b21e-425f-b7d0-ca1f58fdc011"> <caom2:uri>caom:CGPS/TEST/4axes_obs.fits</caom2:uri> - <caom2:productType>info</caom2:productType> + <caom2:productType>auxiliary</caom2:productType> <caom2:parts> <caom2:part caom2:id="d2893703-b21e-425f-b7d0-ca1f58fdc011"> <caom2:name>0</caom2:name> @@ -692,7 +692,7 @@ def test_augment_observation(): test_obs_blueprint.set('Observation.telescope.geoLocationZ', '4741018.33097') test_obs_blueprint.set('Plane.dataProductType', 'cube') - test_obs_blueprint.set('Artifact.productType', 'info') + test_obs_blueprint.set('Artifact.productType', 'auxiliary') test_obs_blueprint.set('Artifact.releaseType', 'data') test_obs_blueprint.set('Plane.calibrationLevel', '2') test_fitsparser = FitsParser(sample_file_4axes_obs, test_obs_blueprint) diff --git a/caom2utils/setup.py b/caom2utils/setup.py index e44aeaf1..9eaa5778 100755 --- a/caom2utils/setup.py +++ b/caom2utils/setup.py @@ -106,7 +106,7 @@ def run(self): use_2to3=False, setup_requires=['pytest-runner'], entry_points=entry_points, - python_requires='>=3.7, <4', + python_requires='>=3.8, <4', packages=find_packages(), package_data={PACKAGENAME: ['data/*', 'tests/data/*', '*/data/*', '*/tests/data/*']}, classifiers=[