dkist-processing-visp 5.8.2rc1__tar.gz → 5.8.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/CHANGELOG.rst +26 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/PKG-INFO +74 -75
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/conftest.py +5 -7
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/header_models.py +4 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py +6 -7
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_background_light.py +10 -12
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_fits_access.py +1 -3
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_map_repeats.py +5 -6
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_quality.py +0 -1
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_science.py +1 -7
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/PKG-INFO +74 -75
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/SOURCES.txt +0 -1
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/requires.txt +73 -74
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/scm_file_list.json +0 -1
- dkist_processing_visp-5.8.3/dkist_processing_visp.egg-info/scm_version.json +8 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/pyproject.toml +75 -76
- dkist_processing_visp-5.8.2rc1/changelog/329.bugfix.rst +0 -1
- dkist_processing_visp-5.8.2rc1/dkist_processing_visp.egg-info/scm_version.json +0 -8
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/.gitignore +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/.pre-commit-config.yaml +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/.readthedocs.yml +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/.snyk +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/README.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/changelog/.gitempty +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/config.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/fonts/Lato-Regular.ttf +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/constants.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/fits_access.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/metric_code.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/parameters.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/tags.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/models/task_name.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/map_repeats.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/modulator_states.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/polarimeter_mode.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/raster_step.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/spectrograph_configuration.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/time.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/visp_l0_fits_access.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/parsers/visp_l1_fits_access.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/assemble_movie.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/background_light.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/dark.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/geometric.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/l1_output_data.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/lamp.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/mixin/beam_access.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/mixin/downsample.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/parse.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/quality_metrics.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/science.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/solar.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/visp_base.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/wavelength_calibration.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tasks/write_l1.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/README.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_assemble_quality.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_dark.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_downsample.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_geometric.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_lamp.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_parameters.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_parse.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_polcal_as_science.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_solar.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_visp_base.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_visp_constants.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_wavelength_calibration.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_workflows.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/tests/test_write_l1.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/workflows/__init__.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/workflows/l0_processing.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/workflows/single_task_workflows.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp/workflows/trial_workflows.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/dkist_processing_visp.egg-info/top_level.txt +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/Makefile +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/background_light.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/changelog.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/conf.py +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/dataset_extras.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/gain_correction.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/geometric.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/index.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/l0_to_l1_visp.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/l0_to_l1_visp_full-trial.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/landing_page.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/make.bat +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/polarization_calibration.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/requirements.txt +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/requirements_table.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/science_calibration.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/licenses/LICENSE.rst +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/science_towncrier.sh +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/setup.cfg +0 -0
- {dkist_processing_visp-5.8.2rc1 → dkist_processing_visp-5.8.3}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
v5.8.3 (2026-09-24)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Use dkist-fits-specifications v4.29.0, which includes the Trend FITS specification.
|
|
8
|
+
Use dkist-header-validator v6.0.0, a significant refactor that allows multi-HDU objects to be validated.
|
|
9
|
+
Use dkist-processing-common v14.5.0, which accommodates the changes to the header validator. (`#336 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/336>`__)
|
|
10
|
+
- Use the "level0_spec214" file schema keyword argument in test Datasets.
|
|
11
|
+
With this keyword, subsequent translation of the resulting headers to
|
|
12
|
+
Spec 214 is not necessary. (`#336 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/336>`__)
|
|
13
|
+
- Validators no longer have validate-and-translate methods.
|
|
14
|
+
Where still necessary, replace validate-and-translate calls with a call to
|
|
15
|
+
validate and then a call to translate. (`#336 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/336>`__)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
v5.8.2 (2026-09-04)
|
|
19
|
+
===================
|
|
20
|
+
|
|
21
|
+
Bugfixes
|
|
22
|
+
--------
|
|
23
|
+
|
|
24
|
+
- Update movie generation for "sit'n'stare" datasets to avoid out-of-memory failures. Movies for sit'n'stare observations (when the slit doesn't move) are now displayed with time on the "spatial" axis; each column is the wavelength-integrated signal of a single slit observation. Genuine spatial raster scans, of any polarization mode, are unaffected and continue to use the existing algorithm. (`#329 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/329>`__)
|
|
25
|
+
|
|
26
|
+
|
|
1
27
|
v5.8.1 (2026-08-28)
|
|
2
28
|
===================
|
|
3
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-visp
|
|
3
|
-
Version: 5.8.
|
|
3
|
+
Version: 5.8.3
|
|
4
4
|
Summary: Science processing code for the ViSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,11 +13,11 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: dkist-processing-common==14.
|
|
16
|
+
Requires-Dist: dkist-processing-common==14.5.0
|
|
17
17
|
Requires-Dist: dkist-processing-math==2.2.3
|
|
18
18
|
Requires-Dist: dkist-processing-pac==3.1.2
|
|
19
|
-
Requires-Dist: dkist-header-validator==
|
|
20
|
-
Requires-Dist: dkist-fits-specifications==4.
|
|
19
|
+
Requires-Dist: dkist-header-validator==6.0.0
|
|
20
|
+
Requires-Dist: dkist-fits-specifications==4.29.0
|
|
21
21
|
Requires-Dist: solar-wavelength-calibration==2.0.3
|
|
22
22
|
Requires-Dist: dkist-service-configuration==4.3.0
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.1
|
|
@@ -37,7 +37,7 @@ Requires-Dist: pytest-xdist; extra == "test"
|
|
|
37
37
|
Requires-Dist: pytest-mock; extra == "test"
|
|
38
38
|
Requires-Dist: hypothesis; extra == "test"
|
|
39
39
|
Requires-Dist: towncrier; extra == "test"
|
|
40
|
-
Requires-Dist: dkist-data-simulator
|
|
40
|
+
Requires-Dist: dkist-data-simulator; extra == "test"
|
|
41
41
|
Requires-Dist: pydantic; extra == "test"
|
|
42
42
|
Requires-Dist: dkist-processing-visp[inventory]; extra == "test"
|
|
43
43
|
Requires-Dist: dkist-processing-visp[asdf]; extra == "test"
|
|
@@ -68,59 +68,58 @@ Provides-Extra: frozen
|
|
|
68
68
|
Requires-Dist: Deprecated==1.3.1; extra == "frozen"
|
|
69
69
|
Requires-Dist: ImageIO==2.37.4; extra == "frozen"
|
|
70
70
|
Requires-Dist: Jinja2==3.1.6; extra == "frozen"
|
|
71
|
-
Requires-Dist: Mako==1.4.
|
|
71
|
+
Requires-Dist: Mako==1.4.3; extra == "frozen"
|
|
72
72
|
Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
|
|
73
73
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
74
|
-
Requires-Dist: PyJWT==2.
|
|
74
|
+
Requires-Dist: PyJWT==2.15.0; extra == "frozen"
|
|
75
75
|
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
76
76
|
Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
|
|
77
77
|
Requires-Dist: Pygments==2.21.0; extra == "frozen"
|
|
78
|
-
Requires-Dist: SQLAlchemy==2.0.
|
|
78
|
+
Requires-Dist: SQLAlchemy==2.0.54; extra == "frozen"
|
|
79
79
|
Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
|
|
80
80
|
Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
|
|
81
|
-
Requires-Dist: aioftp==0.28.
|
|
81
|
+
Requires-Dist: aioftp==0.28.3; extra == "frozen"
|
|
82
82
|
Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
|
|
83
83
|
Requires-Dist: aiohttp==3.14.3; extra == "frozen"
|
|
84
84
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
85
|
-
Requires-Dist: aiosmtplib==5.1.
|
|
85
|
+
Requires-Dist: aiosmtplib==5.1.3; extra == "frozen"
|
|
86
86
|
Requires-Dist: aiosqlite==0.22.1; extra == "frozen"
|
|
87
|
-
Requires-Dist: alembic==1.
|
|
88
|
-
Requires-Dist: amqp==5.
|
|
87
|
+
Requires-Dist: alembic==1.20.0; extra == "frozen"
|
|
88
|
+
Requires-Dist: amqp==5.4.0; extra == "frozen"
|
|
89
89
|
Requires-Dist: annotated-doc==0.0.5; extra == "frozen"
|
|
90
90
|
Requires-Dist: annotated-types==0.8.0; extra == "frozen"
|
|
91
|
-
Requires-Dist: anyio==4.15.
|
|
91
|
+
Requires-Dist: anyio==4.15.1; extra == "frozen"
|
|
92
92
|
Requires-Dist: apache-airflow==3.3.1; extra == "frozen"
|
|
93
93
|
Requires-Dist: apache-airflow-core==3.3.1; extra == "frozen"
|
|
94
|
-
Requires-Dist: apache-airflow-providers-celery==3.
|
|
95
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.
|
|
96
|
-
Requires-Dist: apache-airflow-providers-common-io==1.
|
|
94
|
+
Requires-Dist: apache-airflow-providers-celery==3.24.0; extra == "frozen"
|
|
95
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.19.0; extra == "frozen"
|
|
96
|
+
Requires-Dist: apache-airflow-providers-common-io==1.9.0; extra == "frozen"
|
|
97
97
|
Requires-Dist: apache-airflow-providers-common-sql==2.1.1; extra == "frozen"
|
|
98
98
|
Requires-Dist: apache-airflow-providers-postgres==7.0.2; extra == "frozen"
|
|
99
|
-
Requires-Dist: apache-airflow-providers-smtp==3.0.
|
|
100
|
-
Requires-Dist: apache-airflow-providers-standard==1.
|
|
99
|
+
Requires-Dist: apache-airflow-providers-smtp==3.0.4; extra == "frozen"
|
|
100
|
+
Requires-Dist: apache-airflow-providers-standard==1.19.0; extra == "frozen"
|
|
101
101
|
Requires-Dist: apache-airflow-task-sdk==1.3.1; extra == "frozen"
|
|
102
|
-
Requires-Dist: appnope==1.0.0; extra == "frozen"
|
|
103
102
|
Requires-Dist: argcomplete==3.7.2; extra == "frozen"
|
|
104
103
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
105
104
|
Requires-Dist: argon2-cffi-bindings==26.1.0; extra == "frozen"
|
|
106
105
|
Requires-Dist: arrow==1.4.0; extra == "frozen"
|
|
107
|
-
Requires-Dist: asdf==5.
|
|
106
|
+
Requires-Dist: asdf==5.4.0; extra == "frozen"
|
|
108
107
|
Requires-Dist: asdf_standard==1.5.0; extra == "frozen"
|
|
109
108
|
Requires-Dist: asgiref==3.12.1; extra == "frozen"
|
|
110
109
|
Requires-Dist: asteval==1.0.10; extra == "frozen"
|
|
111
110
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
112
|
-
Requires-Dist: astropy-iers-data==0.2026.
|
|
111
|
+
Requires-Dist: astropy-iers-data==0.2026.9.21.0.56.25; extra == "frozen"
|
|
113
112
|
Requires-Dist: asttokens==3.0.2; extra == "frozen"
|
|
114
113
|
Requires-Dist: async-lru==2.3.0; extra == "frozen"
|
|
115
114
|
Requires-Dist: asyncpg==0.31.0; extra == "frozen"
|
|
116
115
|
Requires-Dist: attrs==26.1.0; extra == "frozen"
|
|
117
116
|
Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
118
117
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
119
|
-
Requires-Dist: billiard==4.
|
|
118
|
+
Requires-Dist: billiard==4.3.0; extra == "frozen"
|
|
120
119
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
121
|
-
Requires-Dist: boto3==1.43.
|
|
122
|
-
Requires-Dist: botocore==1.43.
|
|
123
|
-
Requires-Dist: cachetools==7.
|
|
120
|
+
Requires-Dist: boto3==1.43.101; extra == "frozen"
|
|
121
|
+
Requires-Dist: botocore==1.43.101; extra == "frozen"
|
|
122
|
+
Requires-Dist: cachetools==7.2.0; extra == "frozen"
|
|
124
123
|
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
125
124
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
126
125
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
@@ -129,51 +128,51 @@ Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
|
129
128
|
Requires-Dist: click==8.5.0; extra == "frozen"
|
|
130
129
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
131
130
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
132
|
-
Requires-Dist: click-repl==0.
|
|
131
|
+
Requires-Dist: click-repl==0.4.0; extra == "frozen"
|
|
133
132
|
Requires-Dist: cloudpickle==3.1.2; extra == "frozen"
|
|
134
133
|
Requires-Dist: colorlog==6.12.0; extra == "frozen"
|
|
135
134
|
Requires-Dist: comm==0.2.3; extra == "frozen"
|
|
136
|
-
Requires-Dist: contourpy==1.
|
|
135
|
+
Requires-Dist: contourpy==1.4.0; extra == "frozen"
|
|
137
136
|
Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
|
|
138
137
|
Requires-Dist: croniter==6.2.4; extra == "frozen"
|
|
139
138
|
Requires-Dist: cryptography==50.0.1; extra == "frozen"
|
|
140
139
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
141
|
-
Requires-Dist: debugpy==1.8.
|
|
140
|
+
Requires-Dist: debugpy==1.8.22; extra == "frozen"
|
|
142
141
|
Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
143
142
|
Requires-Dist: defusedxml==0.7.1; extra == "frozen"
|
|
144
143
|
Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
145
|
-
Requires-Dist: dkist-header-validator==
|
|
146
|
-
Requires-Dist: dkist-processing-common==14.
|
|
144
|
+
Requires-Dist: dkist-header-validator==6.0.0; extra == "frozen"
|
|
145
|
+
Requires-Dist: dkist-processing-common==14.5.0; extra == "frozen"
|
|
147
146
|
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
148
147
|
Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
|
|
149
148
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
150
|
-
Requires-Dist: dkist-processing-visp==5.8.
|
|
149
|
+
Requires-Dist: dkist-processing-visp==5.8.3; extra == "frozen"
|
|
151
150
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
152
151
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
153
|
-
Requires-Dist: dkist_fits_specifications==4.
|
|
152
|
+
Requires-Dist: dkist_fits_specifications==4.29.0; extra == "frozen"
|
|
154
153
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
155
154
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
156
155
|
Requires-Dist: executing==2.2.1; extra == "frozen"
|
|
157
156
|
Requires-Dist: fastapi==0.136.3; extra == "frozen"
|
|
158
157
|
Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
|
|
159
158
|
Requires-Dist: fastjsonschema==2.22.2; extra == "frozen"
|
|
160
|
-
Requires-Dist: flower==2.
|
|
161
|
-
Requires-Dist: fonttools==4.
|
|
159
|
+
Requires-Dist: flower==2.2.0; extra == "frozen"
|
|
160
|
+
Requires-Dist: fonttools==4.66.0; extra == "frozen"
|
|
162
161
|
Requires-Dist: fqdn==1.5.1; extra == "frozen"
|
|
163
162
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
164
|
-
Requires-Dist: fsspec==2026.
|
|
163
|
+
Requires-Dist: fsspec==2026.9.0; extra == "frozen"
|
|
165
164
|
Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
|
|
166
|
-
Requires-Dist: googleapis-common-protos==1.75.
|
|
165
|
+
Requires-Dist: googleapis-common-protos==1.75.3; extra == "frozen"
|
|
167
166
|
Requires-Dist: gqlclient==2.0.0; extra == "frozen"
|
|
168
167
|
Requires-Dist: greenback==1.3.0; extra == "frozen"
|
|
169
|
-
Requires-Dist: greenlet==3.5.
|
|
170
|
-
Requires-Dist: grpcio==1.
|
|
168
|
+
Requires-Dist: greenlet==3.5.6; extra == "frozen"
|
|
169
|
+
Requires-Dist: grpcio==1.84.0; extra == "frozen"
|
|
171
170
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
172
171
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
173
172
|
Requires-Dist: httptools==0.8.0; extra == "frozen"
|
|
174
173
|
Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
175
174
|
Requires-Dist: humanize==4.16.0; extra == "frozen"
|
|
176
|
-
Requires-Dist: idna==3.
|
|
175
|
+
Requires-Dist: idna==3.20; extra == "frozen"
|
|
177
176
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
178
177
|
Requires-Dist: importlib_metadata==9.0.1; extra == "frozen"
|
|
179
178
|
Requires-Dist: ipykernel==7.3.0; extra == "frozen"
|
|
@@ -190,18 +189,18 @@ Requires-Dist: jsonschema==4.26.0; extra == "frozen"
|
|
|
190
189
|
Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
191
190
|
Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
|
|
192
191
|
Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
|
|
193
|
-
Requires-Dist: jupyter_builder==1.2.
|
|
192
|
+
Requires-Dist: jupyter_builder==1.2.3; extra == "frozen"
|
|
194
193
|
Requires-Dist: jupyter_client==8.10.0; extra == "frozen"
|
|
195
194
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
196
|
-
Requires-Dist: jupyter_server==2.21.
|
|
195
|
+
Requires-Dist: jupyter_server==2.21.1; extra == "frozen"
|
|
197
196
|
Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
|
|
198
|
-
Requires-Dist: jupyterlab==4.6.
|
|
197
|
+
Requires-Dist: jupyterlab==4.6.4; extra == "frozen"
|
|
199
198
|
Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
|
|
200
|
-
Requires-Dist: jupyterlab_server==2.28.
|
|
199
|
+
Requires-Dist: jupyterlab_server==2.28.1; extra == "frozen"
|
|
201
200
|
Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
|
|
202
201
|
Requires-Dist: kombu==5.6.2; extra == "frozen"
|
|
203
202
|
Requires-Dist: lark==1.3.1; extra == "frozen"
|
|
204
|
-
Requires-Dist: lazy-loader==0.
|
|
203
|
+
Requires-Dist: lazy-loader==0.6; extra == "frozen"
|
|
205
204
|
Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
|
|
206
205
|
Requires-Dist: libcst==1.9.0; extra == "frozen"
|
|
207
206
|
Requires-Dist: linkify-it-py==2.2.0; extra == "frozen"
|
|
@@ -209,7 +208,7 @@ Requires-Dist: lmfit==1.3.4; extra == "frozen"
|
|
|
209
208
|
Requires-Dist: lockfile==0.12.2; extra == "frozen"
|
|
210
209
|
Requires-Dist: loguru==0.7.3; extra == "frozen"
|
|
211
210
|
Requires-Dist: markdown-it-py==4.2.0; extra == "frozen"
|
|
212
|
-
Requires-Dist: matplotlib==3.11.
|
|
211
|
+
Requires-Dist: matplotlib==3.11.2; extra == "frozen"
|
|
213
212
|
Requires-Dist: matplotlib-inline==0.2.2; extra == "frozen"
|
|
214
213
|
Requires-Dist: mdurl==0.1.2; extra == "frozen"
|
|
215
214
|
Requires-Dist: methodtools==0.4.7; extra == "frozen"
|
|
@@ -217,14 +216,14 @@ Requires-Dist: mistune==3.3.4; extra == "frozen"
|
|
|
217
216
|
Requires-Dist: more-itertools==11.1.0; extra == "frozen"
|
|
218
217
|
Requires-Dist: moviepy==2.1.2; extra == "frozen"
|
|
219
218
|
Requires-Dist: msgspec==0.21.1; extra == "frozen"
|
|
220
|
-
Requires-Dist: multidict==6.
|
|
219
|
+
Requires-Dist: multidict==6.9.1; extra == "frozen"
|
|
221
220
|
Requires-Dist: natsort==8.4.0; extra == "frozen"
|
|
222
221
|
Requires-Dist: nbclient==0.11.0; extra == "frozen"
|
|
223
222
|
Requires-Dist: nbconvert==7.17.1; extra == "frozen"
|
|
224
223
|
Requires-Dist: nbformat==5.11.1; extra == "frozen"
|
|
225
|
-
Requires-Dist: nest-asyncio2==1.7.
|
|
226
|
-
Requires-Dist: networkx==3.
|
|
227
|
-
Requires-Dist: notebook==7.6.
|
|
224
|
+
Requires-Dist: nest-asyncio2==1.7.3; extra == "frozen"
|
|
225
|
+
Requires-Dist: networkx==3.7; extra == "frozen"
|
|
226
|
+
Requires-Dist: notebook==7.6.3; extra == "frozen"
|
|
228
227
|
Requires-Dist: notebook_shim==0.2.4; extra == "frozen"
|
|
229
228
|
Requires-Dist: numpy==2.2.5; extra == "frozen"
|
|
230
229
|
Requires-Dist: object-clerk==1.0.0; extra == "frozen"
|
|
@@ -254,7 +253,7 @@ Requires-Dist: opentelemetry-semantic-conventions==0.65b0; extra == "frozen"
|
|
|
254
253
|
Requires-Dist: opentelemetry-util-http==0.65b0; extra == "frozen"
|
|
255
254
|
Requires-Dist: outcome==1.3.0.post0; extra == "frozen"
|
|
256
255
|
Requires-Dist: packaging==26.3; extra == "frozen"
|
|
257
|
-
Requires-Dist: pandas==3.0.
|
|
256
|
+
Requires-Dist: pandas==3.0.6; extra == "frozen"
|
|
258
257
|
Requires-Dist: pandocfilters==1.5.1; extra == "frozen"
|
|
259
258
|
Requires-Dist: parfive==2.3.1; extra == "frozen"
|
|
260
259
|
Requires-Dist: parso==0.8.7; extra == "frozen"
|
|
@@ -265,35 +264,35 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
265
264
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
266
265
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
267
266
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
268
|
-
Requires-Dist: platformdirs==4.11.
|
|
267
|
+
Requires-Dist: platformdirs==4.11.12; extra == "frozen"
|
|
269
268
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
270
269
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
271
270
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
272
271
|
Requires-Dist: prometheus_client==0.26.0; extra == "frozen"
|
|
273
272
|
Requires-Dist: prompt_toolkit==3.0.53; extra == "frozen"
|
|
274
|
-
Requires-Dist: propcache==0.5.
|
|
275
|
-
Requires-Dist: protobuf==7.36.
|
|
273
|
+
Requires-Dist: propcache==0.5.4; extra == "frozen"
|
|
274
|
+
Requires-Dist: protobuf==7.36.2; extra == "frozen"
|
|
276
275
|
Requires-Dist: psutil==7.2.2; extra == "frozen"
|
|
277
|
-
Requires-Dist: psycopg==3.3.
|
|
278
|
-
Requires-Dist: psycopg-binary==3.3.
|
|
279
|
-
Requires-Dist: psycopg2-binary==2.9.
|
|
276
|
+
Requires-Dist: psycopg==3.3.6; extra == "frozen"
|
|
277
|
+
Requires-Dist: psycopg-binary==3.3.6; extra == "frozen"
|
|
278
|
+
Requires-Dist: psycopg2-binary==2.9.13; extra == "frozen"
|
|
280
279
|
Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
|
|
281
|
-
Requires-Dist: pure_eval==0.2.
|
|
280
|
+
Requires-Dist: pure_eval==0.2.4; extra == "frozen"
|
|
282
281
|
Requires-Dist: pycparser==3.0; extra == "frozen"
|
|
283
282
|
Requires-Dist: pydantic==2.13.5; extra == "frozen"
|
|
284
283
|
Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
|
|
285
284
|
Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
|
|
286
285
|
Requires-Dist: pydantic_core==2.46.5; extra == "frozen"
|
|
287
286
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
288
|
-
Requires-Dist: pygtrie==2.6.
|
|
289
|
-
Requires-Dist: pyparsing==3.3.
|
|
287
|
+
Requires-Dist: pygtrie==2.6.2; extra == "frozen"
|
|
288
|
+
Requires-Dist: pyparsing==3.3.3; extra == "frozen"
|
|
290
289
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
291
290
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
292
291
|
Requires-Dist: python-dotenv==1.2.3; extra == "frozen"
|
|
293
292
|
Requires-Dist: python-json-logger==4.2.0; extra == "frozen"
|
|
294
293
|
Requires-Dist: python-multipart==0.0.32; extra == "frozen"
|
|
295
|
-
Requires-Dist: python-slugify==
|
|
296
|
-
Requires-Dist: pytz==2026.
|
|
294
|
+
Requires-Dist: python-slugify==9.1.1; extra == "frozen"
|
|
295
|
+
Requires-Dist: pytz==2026.4; extra == "frozen"
|
|
297
296
|
Requires-Dist: pyzmq==27.2.0; extra == "frozen"
|
|
298
297
|
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
299
298
|
Requires-Dist: referencing==0.37.0; extra == "frozen"
|
|
@@ -303,7 +302,7 @@ Requires-Dist: rfc3986-validator==0.1.1; extra == "frozen"
|
|
|
303
302
|
Requires-Dist: rfc3987-syntax==1.1.0; extra == "frozen"
|
|
304
303
|
Requires-Dist: rich==15.0.0; extra == "frozen"
|
|
305
304
|
Requires-Dist: rich-argparse==1.8.0; extra == "frozen"
|
|
306
|
-
Requires-Dist: rich-toolkit==0.20.
|
|
305
|
+
Requires-Dist: rich-toolkit==0.20.5; extra == "frozen"
|
|
307
306
|
Requires-Dist: rpds-py==2026.6.3; extra == "frozen"
|
|
308
307
|
Requires-Dist: s3transfer==0.19.2; extra == "frozen"
|
|
309
308
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
@@ -315,11 +314,11 @@ Requires-Dist: shellingham==1.5.4; extra == "frozen"
|
|
|
315
314
|
Requires-Dist: six==1.17.0; extra == "frozen"
|
|
316
315
|
Requires-Dist: sniffio==1.3.1; extra == "frozen"
|
|
317
316
|
Requires-Dist: solar-wavelength-calibration==2.0.3; extra == "frozen"
|
|
318
|
-
Requires-Dist: soupsieve==2.
|
|
317
|
+
Requires-Dist: soupsieve==2.10; extra == "frozen"
|
|
319
318
|
Requires-Dist: sqids==0.5.1; extra == "frozen"
|
|
320
319
|
Requires-Dist: sqlparse==0.6.0; extra == "frozen"
|
|
321
320
|
Requires-Dist: stack-data==0.6.3; extra == "frozen"
|
|
322
|
-
Requires-Dist: starlette==1.
|
|
321
|
+
Requires-Dist: starlette==1.7.0; extra == "frozen"
|
|
323
322
|
Requires-Dist: structlog==26.1.0; extra == "frozen"
|
|
324
323
|
Requires-Dist: sunpy==6.1.1; extra == "frozen"
|
|
325
324
|
Requires-Dist: svcs==26.2.0; extra == "frozen"
|
|
@@ -329,36 +328,36 @@ Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
|
329
328
|
Requires-Dist: termcolor==3.3.0; extra == "frozen"
|
|
330
329
|
Requires-Dist: terminado==0.18.1; extra == "frozen"
|
|
331
330
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
332
|
-
Requires-Dist: threadpoolctl==3.
|
|
333
|
-
Requires-Dist: tifffile==2026.
|
|
331
|
+
Requires-Dist: threadpoolctl==3.7.0; extra == "frozen"
|
|
332
|
+
Requires-Dist: tifffile==2026.9.20; extra == "frozen"
|
|
334
333
|
Requires-Dist: tinycss2==1.5.1; extra == "frozen"
|
|
335
|
-
Requires-Dist: tornado==6.5.
|
|
336
|
-
Requires-Dist: tqdm==4.70.
|
|
334
|
+
Requires-Dist: tornado==6.5.10; extra == "frozen"
|
|
335
|
+
Requires-Dist: tqdm==4.70.1; extra == "frozen"
|
|
337
336
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
338
337
|
Requires-Dist: typer==0.27.2; extra == "frozen"
|
|
339
338
|
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
340
339
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
341
|
-
Requires-Dist: tzdata==2026.
|
|
340
|
+
Requires-Dist: tzdata==2026.4; extra == "frozen"
|
|
342
341
|
Requires-Dist: tzlocal==5.4.4; extra == "frozen"
|
|
343
342
|
Requires-Dist: uncertainties==3.2.3; extra == "frozen"
|
|
344
343
|
Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
|
|
345
344
|
Requires-Dist: uri-template==1.3.0; extra == "frozen"
|
|
346
|
-
Requires-Dist: urllib3==2.
|
|
345
|
+
Requires-Dist: urllib3==2.8.0; extra == "frozen"
|
|
347
346
|
Requires-Dist: uuid6==2025.0.1; extra == "frozen"
|
|
348
|
-
Requires-Dist: uvicorn==0.
|
|
347
|
+
Requires-Dist: uvicorn==0.53.0; extra == "frozen"
|
|
349
348
|
Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
350
349
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
351
350
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
352
|
-
Requires-Dist: watchfiles==1.
|
|
353
|
-
Requires-Dist: wcwidth==0.
|
|
351
|
+
Requires-Dist: watchfiles==1.3.0; extra == "frozen"
|
|
352
|
+
Requires-Dist: wcwidth==0.9.1; extra == "frozen"
|
|
354
353
|
Requires-Dist: webcolors==25.10.0; extra == "frozen"
|
|
355
354
|
Requires-Dist: webencodings==0.6.1; extra == "frozen"
|
|
356
355
|
Requires-Dist: websocket-client==1.9.2; extra == "frozen"
|
|
357
356
|
Requires-Dist: websockets==17.1; extra == "frozen"
|
|
358
357
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
359
|
-
Requires-Dist: wrapt==2.4.
|
|
358
|
+
Requires-Dist: wrapt==2.4.1; extra == "frozen"
|
|
360
359
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
361
|
-
Requires-Dist: yarl==1.
|
|
360
|
+
Requires-Dist: yarl==1.25.1; extra == "frozen"
|
|
362
361
|
Requires-Dist: zipp==4.1.0; extra == "frozen"
|
|
363
362
|
|
|
364
363
|
dkist-processing-visp
|
|
@@ -16,7 +16,6 @@ from astropy.io import fits
|
|
|
16
16
|
from astropy.time import Time
|
|
17
17
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
18
18
|
from dkist_header_validator.translator import sanitize_to_spec214_level1
|
|
19
|
-
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
20
19
|
from dkist_processing_common.codecs.basemodel import basemodel_encoder
|
|
21
20
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
22
21
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
@@ -449,8 +448,7 @@ def write_frames_to_task(
|
|
|
449
448
|
header = frame.header()
|
|
450
449
|
data = data_func(frame)
|
|
451
450
|
frame_tags = tags + tag_func(frame)
|
|
452
|
-
|
|
453
|
-
task.write(data=data, header=translated_header, tags=frame_tags, encoder=fits_array_encoder)
|
|
451
|
+
task.write(data=data, header=header, tags=frame_tags, encoder=fits_array_encoder)
|
|
454
452
|
num_frames += 1
|
|
455
453
|
|
|
456
454
|
return num_frames
|
|
@@ -492,7 +490,7 @@ def write_output_frames_to_task(
|
|
|
492
490
|
header = frame.header()
|
|
493
491
|
data = data_func(frame)
|
|
494
492
|
frame_tags = tags + tag_func(frame)
|
|
495
|
-
translated_header =
|
|
493
|
+
translated_header = convert_header_214l0_to_214l1(header, num_dataset_axes)
|
|
496
494
|
hdu_list = fits.HDUList(
|
|
497
495
|
[fits.PrimaryHDU(), fits.CompImageHDU(data=data, header=translated_header)]
|
|
498
496
|
)
|
|
@@ -502,12 +500,12 @@ def write_output_frames_to_task(
|
|
|
502
500
|
return num_frames
|
|
503
501
|
|
|
504
502
|
|
|
505
|
-
def
|
|
506
|
-
l0_214_header =
|
|
503
|
+
def convert_header_214l0_to_214l1(header: dict, num_dataset_axes) -> fits.Header:
|
|
504
|
+
l0_214_header = fits.Header(header)
|
|
507
505
|
l0_214_header["DNAXIS"] = num_dataset_axes
|
|
508
506
|
l0_214_header["DAAXES"] = 2
|
|
509
507
|
l0_214_header["DEAXES"] = num_dataset_axes - 2
|
|
510
|
-
l1_header = sanitize_to_spec214_level1(
|
|
508
|
+
l1_header = sanitize_to_spec214_level1(l0_214_header)
|
|
511
509
|
|
|
512
510
|
return l1_header
|
|
513
511
|
|
|
@@ -38,6 +38,7 @@ class VispHeaders(Spec122Dataset):
|
|
|
38
38
|
arm_position: float = -4.0,
|
|
39
39
|
swap_wcs_axes: bool = False,
|
|
40
40
|
slit_velocity_mm_per_s: float = 1.5,
|
|
41
|
+
file_schema: str = "level0_spec214",
|
|
41
42
|
**kwargs,
|
|
42
43
|
):
|
|
43
44
|
super().__init__(
|
|
@@ -45,6 +46,7 @@ class VispHeaders(Spec122Dataset):
|
|
|
45
46
|
array_shape=array_shape,
|
|
46
47
|
time_delta=time_delta,
|
|
47
48
|
instrument=instrument,
|
|
49
|
+
file_schema=file_schema,
|
|
48
50
|
**kwargs,
|
|
49
51
|
)
|
|
50
52
|
self.swap_wcs_axes = swap_wcs_axes
|
|
@@ -61,6 +63,7 @@ class VispHeaders(Spec122Dataset):
|
|
|
61
63
|
self.add_constant_key("VISP_018", slit_velocity_mm_per_s)
|
|
62
64
|
else:
|
|
63
65
|
self.add_remove_key("VISP_018")
|
|
66
|
+
self.add_remove_key("VSPSLTSV")
|
|
64
67
|
self.add_constant_key("PAC__005", "0")
|
|
65
68
|
self.add_constant_key("PAC__007", "10")
|
|
66
69
|
self.add_constant_key("DKIST011", ip_start_time)
|
|
@@ -403,6 +406,7 @@ class VispHeadersValidObserveFrames(VispHeaders):
|
|
|
403
406
|
|
|
404
407
|
if remove_visp_020:
|
|
405
408
|
self.add_remove_key("VISP_020")
|
|
409
|
+
self.add_remove_key("VSPSTP")
|
|
406
410
|
|
|
407
411
|
@property
|
|
408
412
|
def current_map(self) -> int:
|
|
@@ -8,6 +8,7 @@ import asdf
|
|
|
8
8
|
from astropy.io import fits
|
|
9
9
|
from dkist_header_validator import spec122_validator
|
|
10
10
|
from dkist_header_validator import spec214_validator
|
|
11
|
+
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
11
12
|
from dkist_processing_common.codecs.fits import fits_array_decoder
|
|
12
13
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
13
14
|
from dkist_processing_common.models.constants import BudName
|
|
@@ -85,7 +86,7 @@ class SaveInputParsing(WorkflowTaskBase):
|
|
|
85
86
|
if member in input_paths:
|
|
86
87
|
file_tag_dict[member].append(tag)
|
|
87
88
|
|
|
88
|
-
return file_tag_dict
|
|
89
|
+
return dict(file_tag_dict)
|
|
89
90
|
|
|
90
91
|
def get_constants(self) -> dict[str, str | float | list]:
|
|
91
92
|
constants_dict = dict()
|
|
@@ -613,12 +614,10 @@ def translate_122_to_214l0_task(suffix: str):
|
|
|
613
614
|
i = 0
|
|
614
615
|
if hdl[i].data is None:
|
|
615
616
|
i = 1
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
comp_hdu = fits.CompImageHDU(header=header, data=hdl[i].data)
|
|
617
|
+
header = fits.Header(hdl[i].header)
|
|
618
|
+
spec122_validator.validate(header)
|
|
619
|
+
translated_header = translate_spec122_to_spec214_l0(header)
|
|
620
|
+
comp_hdu = fits.CompImageHDU(header=translated_header, data=hdl[i].data)
|
|
622
621
|
comp_hdl = fits.HDUList([fits.PrimaryHDU(), comp_hdu])
|
|
623
622
|
comp_hdl.writeto(translated_file_name, overwrite=True)
|
|
624
623
|
comp_hdl.close()
|
|
@@ -6,8 +6,6 @@ import pytest
|
|
|
6
6
|
from astropy.io import fits
|
|
7
7
|
from dkist_data_simulator.dataset import key_function
|
|
8
8
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
9
|
-
from dkist_header_validator import spec122_validator
|
|
10
|
-
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
11
9
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
12
10
|
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
13
11
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
@@ -100,7 +98,12 @@ class CalibrationSequenceStepDataset(Spec122Dataset):
|
|
|
100
98
|
self.dark_status = dark_status
|
|
101
99
|
dataset_shape = (self.num_mod,) + array_shape[1:]
|
|
102
100
|
super().__init__(
|
|
103
|
-
dataset_shape,
|
|
101
|
+
dataset_shape,
|
|
102
|
+
array_shape,
|
|
103
|
+
time_delta,
|
|
104
|
+
instrument=instrument,
|
|
105
|
+
start_time=start_time,
|
|
106
|
+
file_schema="level0_spec214",
|
|
104
107
|
)
|
|
105
108
|
self.add_constant_key("DKIST004", TaskName.polcal.value.lower())
|
|
106
109
|
self.add_constant_key("WAVELNTH", 854.0)
|
|
@@ -202,17 +205,13 @@ def cs_with_correct_geometry():
|
|
|
202
205
|
start_time=start_time,
|
|
203
206
|
num_mod=10,
|
|
204
207
|
)
|
|
205
|
-
header_list = [
|
|
206
|
-
|
|
207
|
-
d.header(), return_type=fits.HDUList
|
|
208
|
-
)[0].header
|
|
209
|
-
for d in ds
|
|
210
|
-
]
|
|
208
|
+
header_list = [fits.Header(d.header()) for d in ds]
|
|
209
|
+
|
|
211
210
|
fits_obj_list = []
|
|
212
211
|
for m in range(ds.num_mod):
|
|
213
212
|
fits_obj_list.append(
|
|
214
213
|
VispL0FitsAccess(
|
|
215
|
-
header=
|
|
214
|
+
header=header_list.pop(0),
|
|
216
215
|
data=np.ones(data_shape) * 1e3,
|
|
217
216
|
auto_squeeze=False,
|
|
218
217
|
)
|
|
@@ -313,10 +312,9 @@ def write_background_input_files_to_task(background_full_beam_shape, fully_reali
|
|
|
313
312
|
for n in range(num_steps):
|
|
314
313
|
for m in range(num_mod):
|
|
315
314
|
fits_obj = fully_realistic_cs[n][m]
|
|
316
|
-
translated_header = translate_spec122_to_spec214_l0(fits_obj.header)
|
|
317
315
|
task.write(
|
|
318
316
|
data=fits_obj.data,
|
|
319
|
-
header=fits.Header(
|
|
317
|
+
header=fits.Header(fits_obj.header),
|
|
320
318
|
tags=[
|
|
321
319
|
VispTag.input(),
|
|
322
320
|
VispTag.task_polcal(),
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
from astropy.io import fits
|
|
3
|
-
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
4
3
|
|
|
5
4
|
from dkist_processing_visp.models.fits_access import VispMetadataKey
|
|
6
5
|
from dkist_processing_visp.parsers.visp_l0_fits_access import VispL0FitsAccess
|
|
@@ -21,8 +20,7 @@ def complete_header():
|
|
|
21
20
|
polarimeter_mode="observe_intensity",
|
|
22
21
|
slit_velocity_mm_per_s=0.0,
|
|
23
22
|
)
|
|
24
|
-
|
|
25
|
-
return fits.Header(header)
|
|
23
|
+
return fits.Header(dataset.header())
|
|
26
24
|
|
|
27
25
|
|
|
28
26
|
def test_metadata_keys_in_access_bases(complete_header):
|
|
@@ -6,7 +6,6 @@ import numpy as np
|
|
|
6
6
|
import pytest
|
|
7
7
|
from astropy.io import fits
|
|
8
8
|
from astropy.time import Time
|
|
9
|
-
from dkist_header_validator.translator import translate_spec122_to_spec214_l0
|
|
10
9
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
11
10
|
from dkist_processing_common.codecs.fits import fits_access_decoder
|
|
12
11
|
from dkist_processing_common.codecs.fits import fits_hdulist_encoder
|
|
@@ -41,7 +40,7 @@ def complete_map_headers():
|
|
|
41
40
|
num_raster_steps=num_steps,
|
|
42
41
|
num_modstates=num_modstates,
|
|
43
42
|
)
|
|
44
|
-
header_list = [
|
|
43
|
+
header_list = [fits.Header(d.header()) for d in dataset]
|
|
45
44
|
|
|
46
45
|
return header_list, num_steps, num_modstates, num_maps
|
|
47
46
|
|
|
@@ -51,7 +50,7 @@ def organized_fits_access_dict(complete_map_headers):
|
|
|
51
50
|
all_dict = defaultdict(lambda: defaultdict(list))
|
|
52
51
|
|
|
53
52
|
for header in complete_map_headers[0]:
|
|
54
|
-
fits_obj = VispL0FitsAccess(header=
|
|
53
|
+
fits_obj = VispL0FitsAccess(header=header)
|
|
55
54
|
all_dict[fits_obj.raster_scan_step][fits_obj.modulator_state].append(fits_obj)
|
|
56
55
|
|
|
57
56
|
return all_dict
|
|
@@ -69,9 +68,9 @@ def write_obs_frames_with_multiple_exp_per_step_to_task(task, num_exp: int):
|
|
|
69
68
|
num_raster_steps=num_steps,
|
|
70
69
|
num_modstates=num_modstates,
|
|
71
70
|
)
|
|
72
|
-
header_list = [
|
|
71
|
+
header_list = [fits.Header(d.header()) for d in dataset]
|
|
73
72
|
for header in header_list:
|
|
74
|
-
hdu = fits.PrimaryHDU(data=np.ones(array_shape), header=
|
|
73
|
+
hdu = fits.PrimaryHDU(data=np.ones(array_shape), header=header)
|
|
75
74
|
hdul = fits.HDUList([hdu])
|
|
76
75
|
|
|
77
76
|
# Make multiple exposures by just writing the same header twice
|
|
@@ -152,7 +151,7 @@ def test_parse_map_repeats(map_only_parse_task, complete_map_headers):
|
|
|
152
151
|
complete_headers, num_steps, num_modstates, num_maps = complete_map_headers
|
|
153
152
|
|
|
154
153
|
for header in complete_headers:
|
|
155
|
-
hdu = fits.PrimaryHDU(data=np.ones((1, 2, 2)), header=
|
|
154
|
+
hdu = fits.PrimaryHDU(data=np.ones((1, 2, 2)), header=header)
|
|
156
155
|
hdul = fits.HDUList([hdu])
|
|
157
156
|
task.write(data=hdul, tags=[VispTag.input(), VispTag.frame()], encoder=fits_hdulist_encoder)
|
|
158
157
|
|
|
@@ -69,7 +69,6 @@ def write_l0_task_frames_to_task(num_modstates: int, dataset_task_types: list[st
|
|
|
69
69
|
ds = VispHeaders(
|
|
70
70
|
dataset_shape=(num_modstates,) + array_shape[-2:],
|
|
71
71
|
array_shape=array_shape,
|
|
72
|
-
file_schema="level0_spec214",
|
|
73
72
|
)
|
|
74
73
|
for modstate, frame in enumerate(ds, start=1):
|
|
75
74
|
header = frame.header()
|
|
@@ -7,7 +7,6 @@ import pytest
|
|
|
7
7
|
from astropy.io import fits
|
|
8
8
|
from astropy.time import Time
|
|
9
9
|
from astropy.time import TimeDelta
|
|
10
|
-
from dkist_header_validator import spec122_validator
|
|
11
10
|
from dkist_processing_common._util.scratch import WorkflowFileSystem
|
|
12
11
|
from dkist_processing_common.codecs.basemodel import basemodel_decoder
|
|
13
12
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
@@ -201,12 +200,7 @@ def headers_with_dates() -> tuple[list[fits.Header], str, int, int]:
|
|
|
201
200
|
num_modstates=1,
|
|
202
201
|
start_time=datetime.fromisoformat(start_time),
|
|
203
202
|
)
|
|
204
|
-
headers = [
|
|
205
|
-
spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
|
|
206
|
-
0
|
|
207
|
-
].header
|
|
208
|
-
for d in ds
|
|
209
|
-
]
|
|
203
|
+
headers = [fits.Header(d.header()) for d in ds]
|
|
210
204
|
random.shuffle(headers) # Shuffle to make sure they're not already in time order
|
|
211
205
|
for h in headers:
|
|
212
206
|
h[MetadataKey.fpa_exposure_time_ms] = exp_time # Exposure time, in ms
|