dkist-processing-cryonirsp 2.1.0__tar.gz → 2.1.1__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_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/CHANGELOG.rst +9 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/PKG-INFO +19 -19
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/linearity_correction.py +36 -38
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_linearity_correction.py +34 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/PKG-INFO +19 -19
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/requires.txt +18 -18
- dkist_processing_cryonirsp-2.1.1/dkist_processing_cryonirsp.egg-info/scm_version.json +8 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/pyproject.toml +20 -20
- dkist_processing_cryonirsp-2.1.0/dkist_processing_cryonirsp.egg-info/scm_version.json +0 -8
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/.gitignore +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/.readthedocs.yml +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/.snyk +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/README.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/changelog/.gitempty +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/codecs/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/codecs/fits.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/config.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/tags.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/models/task_name.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/check_for_gains.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/cryonirsp_l0_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/cryonirsp_l1_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/exposure_conditions.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/map_repeats.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/modstates.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/optical_density_filters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/polarimetric_check.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/scan_step.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/parsers/time.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/bad_pixel_map.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/ci_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/cryonirsp_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/dark.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/mixin/shift_measurements.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/parse.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/polcal_as_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/quality_metrics.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/science_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/sp_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/sp_solar_gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tasks/write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/conftest.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/header_models.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/linearize_only.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_assemble_qualilty.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_bad_pixel_maps.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_ci_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_ci_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_corrections.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_cryo_base.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_cryo_constants.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_dark.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_fits_access.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_gain.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_instrument_polarization.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_parameters.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_parse.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_polcal_as_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_quality.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_beam_boundaries.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_geometric.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_make_movie_frames.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_science.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_solar.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_sp_wavelength_calibration.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_write_dataset_extras.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/workflows/__init__.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/workflows/ci_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/workflows/sp_l0_processing.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp/workflows/trial_workflows.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/scm_file_list.json +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/dkist_processing_cryonirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/Makefile +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/beam_angle_calculation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/beam_boundary_computation.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/ci_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/conf.py +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/dataset_extras.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/index.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/l0_to_l1_cryonirsp_ci-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/l0_to_l1_cryonirsp_ci.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/l0_to_l1_cryonirsp_sp-full-trial.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/l0_to_l1_cryonirsp_sp.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/landing_page.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/linearization.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/make.bat +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/requirements.txt +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/requirements_table.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/sp_science_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/licenses/LICENSE.rst +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/science_towncrier.sh +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/setup.cfg +0 -0
- {dkist_processing_cryonirsp-2.1.0 → dkist_processing_cryonirsp-2.1.1}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
v2.1.1 (2026-08-28)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Features
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
- Improve linearization performance by only reading header objects when constructing the ramp sets. (`#301 <https://bitbucket.org/dkistdc/dkist-processing-cryonirsp/pull-requests/301>`__)
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
v2.1.0 (2026-08-25)
|
|
2
11
|
===================
|
|
3
12
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.1
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -115,15 +115,15 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
115
115
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
116
116
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
117
117
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
118
|
-
Requires-Dist: boto3==1.43.
|
|
119
|
-
Requires-Dist: botocore==1.43.
|
|
118
|
+
Requires-Dist: boto3==1.43.83; extra == "frozen"
|
|
119
|
+
Requires-Dist: botocore==1.43.83; extra == "frozen"
|
|
120
120
|
Requires-Dist: cachetools==7.1.7; extra == "frozen"
|
|
121
121
|
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
122
122
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
123
123
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
124
124
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
125
125
|
Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
126
|
-
Requires-Dist: click==8.
|
|
126
|
+
Requires-Dist: click==8.5.0; extra == "frozen"
|
|
127
127
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
128
128
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
129
129
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -132,7 +132,7 @@ Requires-Dist: comm==0.2.3; extra == "frozen"
|
|
|
132
132
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
133
133
|
Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
|
|
134
134
|
Requires-Dist: croniter==6.2.4; extra == "frozen"
|
|
135
|
-
Requires-Dist: cryptography==50.0.
|
|
135
|
+
Requires-Dist: cryptography==50.0.1; extra == "frozen"
|
|
136
136
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
137
137
|
Requires-Dist: debugpy==1.8.21; extra == "frozen"
|
|
138
138
|
Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
@@ -141,7 +141,7 @@ Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
|
141
141
|
Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
|
|
142
142
|
Requires-Dist: dkist-processing-common==14.4.0; extra == "frozen"
|
|
143
143
|
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
144
|
-
Requires-Dist: dkist-processing-cryonirsp==2.1.
|
|
144
|
+
Requires-Dist: dkist-processing-cryonirsp==2.1.1; extra == "frozen"
|
|
145
145
|
Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
|
|
146
146
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
147
147
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
@@ -159,11 +159,11 @@ Requires-Dist: fqdn==1.5.1; extra == "frozen"
|
|
|
159
159
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
160
160
|
Requires-Dist: fsspec==2026.7.0; extra == "frozen"
|
|
161
161
|
Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
|
|
162
|
-
Requires-Dist: googleapis-common-protos==1.75.
|
|
162
|
+
Requires-Dist: googleapis-common-protos==1.75.2; extra == "frozen"
|
|
163
163
|
Requires-Dist: gqlclient==2.0.0; extra == "frozen"
|
|
164
164
|
Requires-Dist: greenback==1.3.0; extra == "frozen"
|
|
165
165
|
Requires-Dist: greenlet==3.5.5; extra == "frozen"
|
|
166
|
-
Requires-Dist: grpcio==1.83.
|
|
166
|
+
Requires-Dist: grpcio==1.83.1; extra == "frozen"
|
|
167
167
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
168
168
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
169
169
|
Requires-Dist: httptools==0.8.0; extra == "frozen"
|
|
@@ -171,9 +171,9 @@ Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
|
171
171
|
Requires-Dist: humanize==4.16.0; extra == "frozen"
|
|
172
172
|
Requires-Dist: idna==3.19; extra == "frozen"
|
|
173
173
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
174
|
-
Requires-Dist: importlib_metadata==9.0.
|
|
174
|
+
Requires-Dist: importlib_metadata==9.0.1; extra == "frozen"
|
|
175
175
|
Requires-Dist: ipykernel==7.3.0; extra == "frozen"
|
|
176
|
-
Requires-Dist: ipython==9.
|
|
176
|
+
Requires-Dist: ipython==9.17.0; extra == "frozen"
|
|
177
177
|
Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
|
|
178
178
|
Requires-Dist: isoduration==20.11.0; extra == "frozen"
|
|
179
179
|
Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
|
|
@@ -187,14 +187,14 @@ Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
|
187
187
|
Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
|
|
188
188
|
Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
|
|
189
189
|
Requires-Dist: jupyter_builder==1.2.2; extra == "frozen"
|
|
190
|
-
Requires-Dist: jupyter_client==8.
|
|
190
|
+
Requires-Dist: jupyter_client==8.10.0; extra == "frozen"
|
|
191
191
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
192
|
-
Requires-Dist: jupyter_server==2.
|
|
192
|
+
Requires-Dist: jupyter_server==2.21.0; extra == "frozen"
|
|
193
193
|
Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
|
|
194
194
|
Requires-Dist: jupyterlab==4.6.3; extra == "frozen"
|
|
195
195
|
Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
|
|
196
196
|
Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
|
|
197
|
-
Requires-Dist: kiwisolver==1.5.
|
|
197
|
+
Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
|
|
198
198
|
Requires-Dist: kombu==5.6.2; extra == "frozen"
|
|
199
199
|
Requires-Dist: largestinteriorrectangle==0.2.1; extra == "frozen"
|
|
200
200
|
Requires-Dist: lark==1.3.1; extra == "frozen"
|
|
@@ -265,7 +265,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
265
265
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
266
266
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
267
267
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
268
|
-
Requires-Dist: platformdirs==4.11.
|
|
268
|
+
Requires-Dist: platformdirs==4.11.5; extra == "frozen"
|
|
269
269
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
270
270
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
271
271
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
@@ -280,10 +280,10 @@ Requires-Dist: psycopg2-binary==2.9.12; extra == "frozen"
|
|
|
280
280
|
Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
|
|
281
281
|
Requires-Dist: pure_eval==0.2.3; extra == "frozen"
|
|
282
282
|
Requires-Dist: pycparser==3.0; extra == "frozen"
|
|
283
|
-
Requires-Dist: pydantic==2.13.
|
|
283
|
+
Requires-Dist: pydantic==2.13.5; extra == "frozen"
|
|
284
284
|
Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
|
|
285
285
|
Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
|
|
286
|
-
Requires-Dist: pydantic_core==2.46.
|
|
286
|
+
Requires-Dist: pydantic_core==2.46.5; extra == "frozen"
|
|
287
287
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
288
288
|
Requires-Dist: pygtrie==2.5.0; extra == "frozen"
|
|
289
289
|
Requires-Dist: pyparsing==3.3.2; extra == "frozen"
|
|
@@ -335,7 +335,7 @@ Requires-Dist: tinycss2==1.5.1; extra == "frozen"
|
|
|
335
335
|
Requires-Dist: tornado==6.5.8; extra == "frozen"
|
|
336
336
|
Requires-Dist: tqdm==4.70.0; extra == "frozen"
|
|
337
337
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
338
|
-
Requires-Dist: typer==0.27.
|
|
338
|
+
Requires-Dist: typer==0.27.2; extra == "frozen"
|
|
339
339
|
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
340
340
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
341
341
|
Requires-Dist: tzdata==2026.3; extra == "frozen"
|
|
@@ -351,11 +351,11 @@ Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
|
351
351
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
352
352
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
353
353
|
Requires-Dist: watchfiles==1.2.0; extra == "frozen"
|
|
354
|
-
Requires-Dist: wcwidth==0.8.
|
|
354
|
+
Requires-Dist: wcwidth==0.8.3; extra == "frozen"
|
|
355
355
|
Requires-Dist: webcolors==25.10.0; extra == "frozen"
|
|
356
356
|
Requires-Dist: webencodings==0.6.1; extra == "frozen"
|
|
357
357
|
Requires-Dist: websocket-client==1.9.0; extra == "frozen"
|
|
358
|
-
Requires-Dist: websockets==17.
|
|
358
|
+
Requires-Dist: websockets==17.1; extra == "frozen"
|
|
359
359
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
360
360
|
Requires-Dist: wrapt==2.3.0; extra == "frozen"
|
|
361
361
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
@@ -4,6 +4,8 @@ from dataclasses import dataclass
|
|
|
4
4
|
from typing import Generator
|
|
5
5
|
|
|
6
6
|
import numpy as np
|
|
7
|
+
from astropy.io import fits
|
|
8
|
+
from dkist_processing_common.codecs.fits import fits_access_header_decoder
|
|
7
9
|
from dkist_processing_common.codecs.fits import fits_array_encoder
|
|
8
10
|
from dkist_service_configuration.logging import logger
|
|
9
11
|
from numba import njit
|
|
@@ -104,22 +106,22 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
104
106
|
Generator which yields _RampSet instances
|
|
105
107
|
"""
|
|
106
108
|
for ramp_set_num, time_obs in enumerate(self.constants.time_obs_list):
|
|
107
|
-
|
|
109
|
+
header_objects = list(
|
|
108
110
|
self.read(
|
|
109
111
|
tags=[
|
|
110
112
|
CryonirspTag.input(),
|
|
111
113
|
CryonirspTag.frame(),
|
|
112
114
|
CryonirspTag.time_obs(time_obs),
|
|
113
115
|
],
|
|
114
|
-
decoder=
|
|
116
|
+
decoder=fits_access_header_decoder,
|
|
115
117
|
fits_access_class=CryonirspRampFitsAccess,
|
|
116
118
|
)
|
|
117
119
|
)
|
|
118
120
|
|
|
119
|
-
if not self.is_ramp_valid(
|
|
121
|
+
if not self.is_ramp_valid(header_objects):
|
|
120
122
|
continue
|
|
121
123
|
|
|
122
|
-
ramp_set = self.populate_ramp_set(time_obs, ramp_set_num)
|
|
124
|
+
ramp_set = self.populate_ramp_set(time_obs, ramp_set_num, header_objects)
|
|
123
125
|
yield ramp_set
|
|
124
126
|
|
|
125
127
|
def is_ramp_valid(self, ramp_object_list: list[CryonirspRampFitsAccess]) -> bool:
|
|
@@ -193,32 +195,21 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
193
195
|
fits_obj = fits_obj_list[0]
|
|
194
196
|
return fits_obj
|
|
195
197
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
Return
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
This method iterates through all the frames in the ramp to construct the list. While this could
|
|
212
|
-
be incorporated into other methods that iterate through a ramp set, it is kept separate for clarity.
|
|
213
|
-
We read one frame at a time to not have all the frames in memory simultaneously.
|
|
214
|
-
"""
|
|
215
|
-
exp_time_list = []
|
|
216
|
-
for frame_num in range(1, num_frames_in_ramp + 1):
|
|
217
|
-
fits_obj = self.read_single_ramp_frame(time_obs, frame_num)
|
|
218
|
-
exp_time_list.append(fits_obj.fpa_exposure_time_ms)
|
|
219
|
-
return np.array(exp_time_list, dtype=np.float32)
|
|
220
|
-
|
|
221
|
-
def populate_ramp_set(self, time_obs: str, idx: int) -> _RampSet | None:
|
|
198
|
+
@staticmethod
|
|
199
|
+
def get_frame_shape_from_header(header: fits.Header) -> tuple[int, ...]:
|
|
200
|
+
"""Return the data shape using only FITS header metadata."""
|
|
201
|
+
axis_key = "ZNAXIS" if "ZNAXIS" in header else "NAXIS"
|
|
202
|
+
frame_shape = tuple(header[f"{axis_key}{axis}"] for axis in range(header[axis_key], 0, -1))
|
|
203
|
+
if len(frame_shape) == 3 and frame_shape[0] == 1:
|
|
204
|
+
frame_shape = frame_shape[1:]
|
|
205
|
+
return frame_shape
|
|
206
|
+
|
|
207
|
+
def populate_ramp_set(
|
|
208
|
+
self,
|
|
209
|
+
time_obs: str,
|
|
210
|
+
idx: int,
|
|
211
|
+
ramp_object_list: list[CryonirspRampFitsAccess],
|
|
212
|
+
) -> _RampSet:
|
|
222
213
|
"""
|
|
223
214
|
Populate a _RampSet dataclass for the ramp identified by time_obs.
|
|
224
215
|
|
|
@@ -228,16 +219,21 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
228
219
|
The DATE-OBS value identifying the ramp
|
|
229
220
|
idx
|
|
230
221
|
The index number representing this ramp set out of the total number of ramp sets (zero-based)
|
|
222
|
+
ramp_object_list
|
|
223
|
+
Header-only objects for all frames in the ramp
|
|
231
224
|
|
|
232
225
|
Returns
|
|
233
226
|
-------
|
|
234
227
|
A populated _RampSet object representing the specified ramp in the input data set
|
|
235
228
|
|
|
236
|
-
|
|
229
|
+
All metadata is reused from the header-only objects loaded during ramp validation.
|
|
237
230
|
"""
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
231
|
+
ordered_objects = sorted(ramp_object_list, key=lambda fo: fo.curr_frame_in_ramp)
|
|
232
|
+
actual_num_frames_in_ramp = len(ordered_objects)
|
|
233
|
+
exp_times = np.array(
|
|
234
|
+
[fits_obj.fpa_exposure_time_ms for fits_obj in ordered_objects], dtype=np.float32
|
|
235
|
+
)
|
|
236
|
+
last_frame = ordered_objects[-1]
|
|
241
237
|
ramp_set_num = idx + 1
|
|
242
238
|
# The default list of curr_frame_in_ramp tag numbers to use, which may be altered later on
|
|
243
239
|
frames_to_process = np.array(range(1, actual_num_frames_in_ramp + 1), dtype=int)
|
|
@@ -246,7 +242,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
246
242
|
time_obs=time_obs,
|
|
247
243
|
num_frames_in_ramp=actual_num_frames_in_ramp,
|
|
248
244
|
exposure_times_ms=exp_times,
|
|
249
|
-
frame_shape=last_frame.
|
|
245
|
+
frame_shape=self.get_frame_shape_from_header(last_frame.header),
|
|
250
246
|
last_frame_name=last_frame.name,
|
|
251
247
|
last_frame_fits_access=CryonirspRampFitsAccess(header=last_frame.header),
|
|
252
248
|
frames_to_process=frames_to_process,
|
|
@@ -301,7 +297,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
301
297
|
'LookUpTable','FastCDS','FitUpTheRamp' (ignored if data is line by line)
|
|
302
298
|
|
|
303
299
|
camera_readout_mode
|
|
304
|
-
|
|
300
|
+
'FastUpTheRamp', 'SlowUpTheRamp', or 'LineByLine'
|
|
305
301
|
|
|
306
302
|
lin_curve
|
|
307
303
|
The lincurve array is the set of coefficients for a 3rd order polynomial which represents the overall
|
|
@@ -391,7 +387,7 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
391
387
|
e. Store the linearized chunk in the proper location in the final linearized array
|
|
392
388
|
3. Return the linearized ramp, reshaping it to the original frame shape
|
|
393
389
|
"""
|
|
394
|
-
thresholds_flattened = thresholds.
|
|
390
|
+
thresholds_flattened = thresholds.ravel(order="C")
|
|
395
391
|
frame_shape = ramp_set.frame_shape
|
|
396
392
|
linearized_frame = np.zeros(np.prod(frame_shape), dtype=np.float32)
|
|
397
393
|
num_frame_size_elements = int(np.prod(frame_shape))
|
|
@@ -463,7 +459,9 @@ class LinearityCorrection(CryonirspTaskBase):
|
|
|
463
459
|
for frame_num in ramp_set.frames_to_process:
|
|
464
460
|
frame = self.read_single_ramp_frame(ramp_set.time_obs, frame_num).data
|
|
465
461
|
frame_pos_in_stack = frame_num - ramp_set.index_offset_to_first_frame
|
|
466
|
-
chunk_stack[:current_chunk_size, frame_pos_in_stack] = frame.
|
|
462
|
+
chunk_stack[:current_chunk_size, frame_pos_in_stack] = frame.ravel(order="C")[
|
|
463
|
+
current_slice
|
|
464
|
+
]
|
|
467
465
|
return chunk_stack
|
|
468
466
|
|
|
469
467
|
def compute_linear_chunk_size(self, frame_size_nelem: int, num_frames_in_ramp: int) -> int:
|
|
@@ -209,6 +209,40 @@ class DummyRampFitsAccess:
|
|
|
209
209
|
ip_task_type: str = "TASK"
|
|
210
210
|
|
|
211
211
|
|
|
212
|
+
@pytest.mark.parametrize(
|
|
213
|
+
"header_values, expected_shape",
|
|
214
|
+
[
|
|
215
|
+
pytest.param(
|
|
216
|
+
{"NAXIS": 2, "NAXIS1": 50, "NAXIS2": 75},
|
|
217
|
+
(75, 50),
|
|
218
|
+
id="uncompressed_2d",
|
|
219
|
+
),
|
|
220
|
+
pytest.param(
|
|
221
|
+
{"NAXIS": 3, "NAXIS1": 10, "NAXIS2": 20, "NAXIS3": 1},
|
|
222
|
+
(20, 10),
|
|
223
|
+
id="axis_of_length_1",
|
|
224
|
+
),
|
|
225
|
+
pytest.param(
|
|
226
|
+
{
|
|
227
|
+
"NAXIS": 2,
|
|
228
|
+
"NAXIS1": 5,
|
|
229
|
+
"NAXIS2": 6,
|
|
230
|
+
"ZNAXIS": 3,
|
|
231
|
+
"ZNAXIS1": 30,
|
|
232
|
+
"ZNAXIS2": 40,
|
|
233
|
+
"ZNAXIS3": 1,
|
|
234
|
+
},
|
|
235
|
+
(40, 30),
|
|
236
|
+
id="compressed_image_with_axis_of_length_1",
|
|
237
|
+
),
|
|
238
|
+
],
|
|
239
|
+
)
|
|
240
|
+
def test_get_frame_shape_from_header(header_values, expected_shape):
|
|
241
|
+
header = fits.Header(header_values)
|
|
242
|
+
|
|
243
|
+
assert LinearityCorrection.get_frame_shape_from_header(header) == expected_shape
|
|
244
|
+
|
|
245
|
+
|
|
212
246
|
@pytest.mark.parametrize(
|
|
213
247
|
"arm_id",
|
|
214
248
|
[pytest.param("CI", id="CI"), pytest.param("SP", id="SP")],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.1
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -115,15 +115,15 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
115
115
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
116
116
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
117
117
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
118
|
-
Requires-Dist: boto3==1.43.
|
|
119
|
-
Requires-Dist: botocore==1.43.
|
|
118
|
+
Requires-Dist: boto3==1.43.83; extra == "frozen"
|
|
119
|
+
Requires-Dist: botocore==1.43.83; extra == "frozen"
|
|
120
120
|
Requires-Dist: cachetools==7.1.7; extra == "frozen"
|
|
121
121
|
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
122
122
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
123
123
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
124
124
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
125
125
|
Requires-Dist: charset-normalizer==3.5.1; extra == "frozen"
|
|
126
|
-
Requires-Dist: click==8.
|
|
126
|
+
Requires-Dist: click==8.5.0; extra == "frozen"
|
|
127
127
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
128
128
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
129
129
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -132,7 +132,7 @@ Requires-Dist: comm==0.2.3; extra == "frozen"
|
|
|
132
132
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
133
133
|
Requires-Dist: cron_descriptor==2.1.0; extra == "frozen"
|
|
134
134
|
Requires-Dist: croniter==6.2.4; extra == "frozen"
|
|
135
|
-
Requires-Dist: cryptography==50.0.
|
|
135
|
+
Requires-Dist: cryptography==50.0.1; extra == "frozen"
|
|
136
136
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
137
137
|
Requires-Dist: debugpy==1.8.21; extra == "frozen"
|
|
138
138
|
Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
@@ -141,7 +141,7 @@ Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
|
141
141
|
Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
|
|
142
142
|
Requires-Dist: dkist-processing-common==14.4.0; extra == "frozen"
|
|
143
143
|
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
144
|
-
Requires-Dist: dkist-processing-cryonirsp==2.1.
|
|
144
|
+
Requires-Dist: dkist-processing-cryonirsp==2.1.1; extra == "frozen"
|
|
145
145
|
Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
|
|
146
146
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
147
147
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
@@ -159,11 +159,11 @@ Requires-Dist: fqdn==1.5.1; extra == "frozen"
|
|
|
159
159
|
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
160
160
|
Requires-Dist: fsspec==2026.7.0; extra == "frozen"
|
|
161
161
|
Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
|
|
162
|
-
Requires-Dist: googleapis-common-protos==1.75.
|
|
162
|
+
Requires-Dist: googleapis-common-protos==1.75.2; extra == "frozen"
|
|
163
163
|
Requires-Dist: gqlclient==2.0.0; extra == "frozen"
|
|
164
164
|
Requires-Dist: greenback==1.3.0; extra == "frozen"
|
|
165
165
|
Requires-Dist: greenlet==3.5.5; extra == "frozen"
|
|
166
|
-
Requires-Dist: grpcio==1.83.
|
|
166
|
+
Requires-Dist: grpcio==1.83.1; extra == "frozen"
|
|
167
167
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
168
168
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
169
169
|
Requires-Dist: httptools==0.8.0; extra == "frozen"
|
|
@@ -171,9 +171,9 @@ Requires-Dist: httpx==0.28.1; extra == "frozen"
|
|
|
171
171
|
Requires-Dist: humanize==4.16.0; extra == "frozen"
|
|
172
172
|
Requires-Dist: idna==3.19; extra == "frozen"
|
|
173
173
|
Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
|
|
174
|
-
Requires-Dist: importlib_metadata==9.0.
|
|
174
|
+
Requires-Dist: importlib_metadata==9.0.1; extra == "frozen"
|
|
175
175
|
Requires-Dist: ipykernel==7.3.0; extra == "frozen"
|
|
176
|
-
Requires-Dist: ipython==9.
|
|
176
|
+
Requires-Dist: ipython==9.17.0; extra == "frozen"
|
|
177
177
|
Requires-Dist: ipython_pygments_lexers==1.1.1; extra == "frozen"
|
|
178
178
|
Requires-Dist: isoduration==20.11.0; extra == "frozen"
|
|
179
179
|
Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
|
|
@@ -187,14 +187,14 @@ Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
|
|
|
187
187
|
Requires-Dist: jupyter-events==0.12.1; extra == "frozen"
|
|
188
188
|
Requires-Dist: jupyter-lsp==2.3.1; extra == "frozen"
|
|
189
189
|
Requires-Dist: jupyter_builder==1.2.2; extra == "frozen"
|
|
190
|
-
Requires-Dist: jupyter_client==8.
|
|
190
|
+
Requires-Dist: jupyter_client==8.10.0; extra == "frozen"
|
|
191
191
|
Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
|
|
192
|
-
Requires-Dist: jupyter_server==2.
|
|
192
|
+
Requires-Dist: jupyter_server==2.21.0; extra == "frozen"
|
|
193
193
|
Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
|
|
194
194
|
Requires-Dist: jupyterlab==4.6.3; extra == "frozen"
|
|
195
195
|
Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
|
|
196
196
|
Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
|
|
197
|
-
Requires-Dist: kiwisolver==1.5.
|
|
197
|
+
Requires-Dist: kiwisolver==1.5.1; extra == "frozen"
|
|
198
198
|
Requires-Dist: kombu==5.6.2; extra == "frozen"
|
|
199
199
|
Requires-Dist: largestinteriorrectangle==0.2.1; extra == "frozen"
|
|
200
200
|
Requires-Dist: lark==1.3.1; extra == "frozen"
|
|
@@ -265,7 +265,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
265
265
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
266
266
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
267
267
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
268
|
-
Requires-Dist: platformdirs==4.11.
|
|
268
|
+
Requires-Dist: platformdirs==4.11.5; extra == "frozen"
|
|
269
269
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
270
270
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
271
271
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
@@ -280,10 +280,10 @@ Requires-Dist: psycopg2-binary==2.9.12; extra == "frozen"
|
|
|
280
280
|
Requires-Dist: ptyprocess==0.7.0; extra == "frozen"
|
|
281
281
|
Requires-Dist: pure_eval==0.2.3; extra == "frozen"
|
|
282
282
|
Requires-Dist: pycparser==3.0; extra == "frozen"
|
|
283
|
-
Requires-Dist: pydantic==2.13.
|
|
283
|
+
Requires-Dist: pydantic==2.13.5; extra == "frozen"
|
|
284
284
|
Requires-Dist: pydantic-extra-types==2.11.1; extra == "frozen"
|
|
285
285
|
Requires-Dist: pydantic-settings==2.15.0; extra == "frozen"
|
|
286
|
-
Requires-Dist: pydantic_core==2.46.
|
|
286
|
+
Requires-Dist: pydantic_core==2.46.5; extra == "frozen"
|
|
287
287
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
288
288
|
Requires-Dist: pygtrie==2.5.0; extra == "frozen"
|
|
289
289
|
Requires-Dist: pyparsing==3.3.2; extra == "frozen"
|
|
@@ -335,7 +335,7 @@ Requires-Dist: tinycss2==1.5.1; extra == "frozen"
|
|
|
335
335
|
Requires-Dist: tornado==6.5.8; extra == "frozen"
|
|
336
336
|
Requires-Dist: tqdm==4.70.0; extra == "frozen"
|
|
337
337
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
338
|
-
Requires-Dist: typer==0.27.
|
|
338
|
+
Requires-Dist: typer==0.27.2; extra == "frozen"
|
|
339
339
|
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
340
340
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
341
341
|
Requires-Dist: tzdata==2026.3; extra == "frozen"
|
|
@@ -351,11 +351,11 @@ Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
|
351
351
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
352
352
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
353
353
|
Requires-Dist: watchfiles==1.2.0; extra == "frozen"
|
|
354
|
-
Requires-Dist: wcwidth==0.8.
|
|
354
|
+
Requires-Dist: wcwidth==0.8.3; extra == "frozen"
|
|
355
355
|
Requires-Dist: webcolors==25.10.0; extra == "frozen"
|
|
356
356
|
Requires-Dist: webencodings==0.6.1; extra == "frozen"
|
|
357
357
|
Requires-Dist: websocket-client==1.9.0; extra == "frozen"
|
|
358
|
-
Requires-Dist: websockets==17.
|
|
358
|
+
Requires-Dist: websockets==17.1; extra == "frozen"
|
|
359
359
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
360
360
|
Requires-Dist: wrapt==2.3.0; extra == "frozen"
|
|
361
361
|
Requires-Dist: yamale==6.1.0; extra == "frozen"
|
|
@@ -84,15 +84,15 @@ babel==2.18.0
|
|
|
84
84
|
beautifulsoup4==4.15.0
|
|
85
85
|
billiard==4.2.4
|
|
86
86
|
bleach==6.4.0
|
|
87
|
-
boto3==1.43.
|
|
88
|
-
botocore==1.43.
|
|
87
|
+
boto3==1.43.83
|
|
88
|
+
botocore==1.43.83
|
|
89
89
|
cachetools==7.1.7
|
|
90
90
|
cadwyn==7.0.0
|
|
91
91
|
celery==5.6.3
|
|
92
92
|
certifi==2026.7.22
|
|
93
93
|
cffi==2.1.1
|
|
94
94
|
charset-normalizer==3.5.1
|
|
95
|
-
click==8.
|
|
95
|
+
click==8.5.0
|
|
96
96
|
click-didyoumean==0.3.1
|
|
97
97
|
click-plugins==1.1.1.2
|
|
98
98
|
click-repl==0.3.0
|
|
@@ -101,7 +101,7 @@ comm==0.2.3
|
|
|
101
101
|
contourpy==1.3.3
|
|
102
102
|
cron_descriptor==2.1.0
|
|
103
103
|
croniter==6.2.4
|
|
104
|
-
cryptography==50.0.
|
|
104
|
+
cryptography==50.0.1
|
|
105
105
|
cycler==0.12.1
|
|
106
106
|
debugpy==1.8.21
|
|
107
107
|
decorator==5.3.1
|
|
@@ -110,7 +110,7 @@ dill==0.4.1
|
|
|
110
110
|
dkist-header-validator==5.4.0
|
|
111
111
|
dkist-processing-common==14.4.0
|
|
112
112
|
dkist-processing-core==7.5.0
|
|
113
|
-
dkist-processing-cryonirsp==2.1.
|
|
113
|
+
dkist-processing-cryonirsp==2.1.1
|
|
114
114
|
dkist-processing-math==2.2.3
|
|
115
115
|
dkist-processing-pac==3.1.2
|
|
116
116
|
dkist-service-configuration==4.3.0
|
|
@@ -128,11 +128,11 @@ fqdn==1.5.1
|
|
|
128
128
|
frozenlist==1.8.0
|
|
129
129
|
fsspec==2026.7.0
|
|
130
130
|
globus-sdk==4.9.0
|
|
131
|
-
googleapis-common-protos==1.75.
|
|
131
|
+
googleapis-common-protos==1.75.2
|
|
132
132
|
gqlclient==2.0.0
|
|
133
133
|
greenback==1.3.0
|
|
134
134
|
greenlet==3.5.5
|
|
135
|
-
grpcio==1.83.
|
|
135
|
+
grpcio==1.83.1
|
|
136
136
|
h11==0.16.0
|
|
137
137
|
httpcore==1.0.9
|
|
138
138
|
httptools==0.8.0
|
|
@@ -140,9 +140,9 @@ httpx==0.28.1
|
|
|
140
140
|
humanize==4.16.0
|
|
141
141
|
idna==3.19
|
|
142
142
|
imageio-ffmpeg==0.6.0
|
|
143
|
-
importlib_metadata==9.0.
|
|
143
|
+
importlib_metadata==9.0.1
|
|
144
144
|
ipykernel==7.3.0
|
|
145
|
-
ipython==9.
|
|
145
|
+
ipython==9.17.0
|
|
146
146
|
ipython_pygments_lexers==1.1.1
|
|
147
147
|
isoduration==20.11.0
|
|
148
148
|
itsdangerous==2.2.0
|
|
@@ -156,14 +156,14 @@ jsonschema-specifications==2025.9.1
|
|
|
156
156
|
jupyter-events==0.12.1
|
|
157
157
|
jupyter-lsp==2.3.1
|
|
158
158
|
jupyter_builder==1.2.2
|
|
159
|
-
jupyter_client==8.
|
|
159
|
+
jupyter_client==8.10.0
|
|
160
160
|
jupyter_core==5.9.1
|
|
161
|
-
jupyter_server==2.
|
|
161
|
+
jupyter_server==2.21.0
|
|
162
162
|
jupyter_server_terminals==0.5.4
|
|
163
163
|
jupyterlab==4.6.3
|
|
164
164
|
jupyterlab_pygments==0.3.0
|
|
165
165
|
jupyterlab_server==2.28.0
|
|
166
|
-
kiwisolver==1.5.
|
|
166
|
+
kiwisolver==1.5.1
|
|
167
167
|
kombu==5.6.2
|
|
168
168
|
largestinteriorrectangle==0.2.1
|
|
169
169
|
lark==1.3.1
|
|
@@ -234,7 +234,7 @@ pexpect==4.9.0
|
|
|
234
234
|
pika==1.4.4
|
|
235
235
|
pillow==10.4.0
|
|
236
236
|
pip==26.2.1
|
|
237
|
-
platformdirs==4.11.
|
|
237
|
+
platformdirs==4.11.5
|
|
238
238
|
pluggy==1.6.0
|
|
239
239
|
pooch==1.9.0
|
|
240
240
|
proglog==0.1.12
|
|
@@ -249,10 +249,10 @@ psycopg2-binary==2.9.12
|
|
|
249
249
|
ptyprocess==0.7.0
|
|
250
250
|
pure_eval==0.2.3
|
|
251
251
|
pycparser==3.0
|
|
252
|
-
pydantic==2.13.
|
|
252
|
+
pydantic==2.13.5
|
|
253
253
|
pydantic-extra-types==2.11.1
|
|
254
254
|
pydantic-settings==2.15.0
|
|
255
|
-
pydantic_core==2.46.
|
|
255
|
+
pydantic_core==2.46.5
|
|
256
256
|
pyerfa==2.0.1.5
|
|
257
257
|
pygtrie==2.5.0
|
|
258
258
|
pyparsing==3.3.2
|
|
@@ -304,7 +304,7 @@ tinycss2==1.5.1
|
|
|
304
304
|
tornado==6.5.8
|
|
305
305
|
tqdm==4.70.0
|
|
306
306
|
traitlets==5.16.1
|
|
307
|
-
typer==0.27.
|
|
307
|
+
typer==0.27.2
|
|
308
308
|
typing-inspection==0.4.4
|
|
309
309
|
typing_extensions==4.16.0
|
|
310
310
|
tzdata==2026.3
|
|
@@ -320,11 +320,11 @@ uvloop==0.22.1
|
|
|
320
320
|
vine==5.1.0
|
|
321
321
|
voluptuous==0.16.0
|
|
322
322
|
watchfiles==1.2.0
|
|
323
|
-
wcwidth==0.8.
|
|
323
|
+
wcwidth==0.8.3
|
|
324
324
|
webcolors==25.10.0
|
|
325
325
|
webencodings==0.6.1
|
|
326
326
|
websocket-client==1.9.0
|
|
327
|
-
websockets==17.
|
|
327
|
+
websockets==17.1
|
|
328
328
|
wirerope==1.0.0
|
|
329
329
|
wrapt==2.3.0
|
|
330
330
|
yamale==6.1.0
|