dkist-processing-dlnirsp 0.31.0__tar.gz → 0.32.0__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_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/CHANGELOG.rst +18 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/PKG-INFO +145 -54
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/README.rst +77 -1
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/bad_pixel_map.py +6 -6
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/dark.py +4 -4
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/geometric.py +5 -5
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/ifu_drift.py +5 -5
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/instrument_polarization.py +14 -14
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/lamp.py +3 -3
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/linearity_correction.py +2 -2
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/quality_metrics.py +4 -4
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/science.py +5 -5
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/solar.py +6 -6
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/wavelength_calibration.py +5 -5
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_linearize_only.py +0 -20
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -20
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -20
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/l0_to_l1.py +0 -21
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/PKG-INFO +145 -54
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/requires.txt +67 -52
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/pyproject.toml +69 -54
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/.gitignore +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/.pre-commit-config.yaml +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/.readthedocs.yml +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/.snyk +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/changelog/.gitempty +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/config.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/dev_scripts/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/dev_scripts/test_slitbeam_group_assignment.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/models/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/models/constants.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/models/parameters.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/models/tags.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/models/task_name.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/dlnirsp_l0_fits_access.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/dlnirsp_l1_fits_acess.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/mosaic.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/task.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/time.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/wavelength.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/parsers/wcs_corrections.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/assemble_movie.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/dlnirsp_base.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/l1_output_data.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/make_movie_frames.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/mixin/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/mixin/corrections.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/mixin/group_id.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/parse.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tasks/write_l1.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/conftest.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_dev_mockers.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/local_trial_workflows/translate_files.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_assemble_movie.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_assemble_quality.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_bad_pixel_map.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_corrections.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_dark.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_dlnirsp_base.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_dlnirsp_constants.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_dlnirsp_fits_access.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_geometric.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_group_id.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_ifu_drift.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_instrument_polarization_calibration.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_lamp.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_linearity_correction.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_parameters.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_parse.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_quality.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_science.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_solar.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_trial_create_quality_report.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_wavelength_calibration.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_workflows.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/tests/test_write_l1.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/workflows/__init__.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/workflows/l0_processing.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp/workflows/trial_workflow.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/SOURCES.txt +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/dependency_links.txt +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/entry_points.txt +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/dkist_processing_dlnirsp.egg-info/top_level.txt +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/Makefile +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/bad_pixel_calibration.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/changelog.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/conf.py +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/gain.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/geometric.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/ifu_drift.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/index.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/l0_to_l1_dlnirsp.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/l0_to_l1_dlnirsp_full-trial.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/landing_page.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/linearization.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/make.bat +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/polarization_calibration.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/requirements_table.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/science_calibration.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/docs/wavelength_calibration.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/licenses/LICENSE.rst +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/science_towncrier.sh +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/setup.cfg +0 -0
- {dkist_processing_dlnirsp-0.31.0 → dkist_processing_dlnirsp-0.32.0}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
v0.32.0 (2025-09-26)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Integrate dkist-processing-core 6.0.0 which brings a swap of Elastic APM to OpenTelemetry for metrics and tracing. (`#112 <https://bitbucket.org/dkistdc/dkist-processing-dlnirsp/pull-requests/112>`__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
v0.31.1 (2025-09-17)
|
|
11
|
+
====================
|
|
12
|
+
|
|
13
|
+
Misc
|
|
14
|
+
----
|
|
15
|
+
|
|
16
|
+
- Update dkist-processing-common to enable usage of the latest redis SDK.
|
|
17
|
+
|
|
18
|
+
|
|
1
19
|
v0.31.0 (2025-09-08)
|
|
2
20
|
====================
|
|
3
21
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-dlnirsp
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.32.0
|
|
4
4
|
Summary: Science processing code for the DLNIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,13 +13,13 @@ Classifier: Programming Language :: Python :: 3
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Requires-Python: >=3.12
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: dkist-processing-common==11.
|
|
16
|
+
Requires-Dist: dkist-processing-common==11.6.0
|
|
17
17
|
Requires-Dist: dkist-processing-math==2.2.1
|
|
18
18
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.2.1
|
|
20
20
|
Requires-Dist: dkist-fits-specifications==4.17.0
|
|
21
21
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
22
|
-
Requires-Dist: dkist-service-configuration==
|
|
22
|
+
Requires-Dist: dkist-service-configuration==4.1.7
|
|
23
23
|
Requires-Dist: astropy==7.0.2
|
|
24
24
|
Requires-Dist: numpy==2.2.5
|
|
25
25
|
Requires-Dist: numba==0.61.2
|
|
@@ -71,7 +71,7 @@ Requires-Dist: Flask-AppBuilder==4.5.3; extra == "frozen"
|
|
|
71
71
|
Requires-Dist: Flask-Babel==2.0.0; extra == "frozen"
|
|
72
72
|
Requires-Dist: Flask-Caching==2.3.1; extra == "frozen"
|
|
73
73
|
Requires-Dist: Flask-JWT-Extended==4.7.1; extra == "frozen"
|
|
74
|
-
Requires-Dist: Flask-Limiter==3.
|
|
74
|
+
Requires-Dist: Flask-Limiter==3.13; extra == "frozen"
|
|
75
75
|
Requires-Dist: Flask-Login==0.6.3; extra == "frozen"
|
|
76
76
|
Requires-Dist: Flask-SQLAlchemy==2.5.1; extra == "frozen"
|
|
77
77
|
Requires-Dist: Flask-Session==0.5.0; extra == "frozen"
|
|
@@ -81,55 +81,56 @@ Requires-Dist: Mako==1.3.10; extra == "frozen"
|
|
|
81
81
|
Requires-Dist: MarkupSafe==3.0.2; extra == "frozen"
|
|
82
82
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
83
83
|
Requires-Dist: PyJWT==2.10.1; extra == "frozen"
|
|
84
|
-
Requires-Dist: PyYAML==6.0.
|
|
84
|
+
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
85
85
|
Requires-Dist: Pygments==2.19.2; extra == "frozen"
|
|
86
86
|
Requires-Dist: SQLAlchemy==1.4.54; extra == "frozen"
|
|
87
87
|
Requires-Dist: SQLAlchemy-JSONField==1.0.2; extra == "frozen"
|
|
88
88
|
Requires-Dist: SQLAlchemy-Utils==0.42.0; extra == "frozen"
|
|
89
89
|
Requires-Dist: WTForms==3.2.1; extra == "frozen"
|
|
90
90
|
Requires-Dist: Werkzeug==2.2.3; extra == "frozen"
|
|
91
|
-
Requires-Dist: aioftp==0.
|
|
91
|
+
Requires-Dist: aioftp==0.27.2; extra == "frozen"
|
|
92
92
|
Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
|
|
93
93
|
Requires-Dist: aiohttp==3.12.15; extra == "frozen"
|
|
94
94
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
95
|
+
Requires-Dist: aiosmtplib==4.0.2; extra == "frozen"
|
|
95
96
|
Requires-Dist: alembic==1.16.5; extra == "frozen"
|
|
96
97
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
97
98
|
Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
98
|
-
Requires-Dist: anyio==4.
|
|
99
|
+
Requires-Dist: anyio==4.11.0; extra == "frozen"
|
|
99
100
|
Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
|
|
100
|
-
Requires-Dist: apache-airflow-providers-celery==3.
|
|
101
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.7.
|
|
102
|
-
Requires-Dist: apache-airflow-providers-common-io==1.6.
|
|
103
|
-
Requires-Dist: apache-airflow-providers-common-sql==1.
|
|
101
|
+
Requires-Dist: apache-airflow-providers-celery==3.10.0; extra == "frozen"
|
|
102
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.7.4; extra == "frozen"
|
|
103
|
+
Requires-Dist: apache-airflow-providers-common-io==1.6.3; extra == "frozen"
|
|
104
|
+
Requires-Dist: apache-airflow-providers-common-sql==1.28.1; extra == "frozen"
|
|
104
105
|
Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
|
|
105
106
|
Requires-Dist: apache-airflow-providers-ftp==3.13.2; extra == "frozen"
|
|
106
|
-
Requires-Dist: apache-airflow-providers-http==5.3.
|
|
107
|
+
Requires-Dist: apache-airflow-providers-http==5.3.4; extra == "frozen"
|
|
107
108
|
Requires-Dist: apache-airflow-providers-imap==3.9.2; extra == "frozen"
|
|
108
|
-
Requires-Dist: apache-airflow-providers-postgres==6.
|
|
109
|
-
Requires-Dist: apache-airflow-providers-smtp==2.
|
|
109
|
+
Requires-Dist: apache-airflow-providers-postgres==6.3.0; extra == "frozen"
|
|
110
|
+
Requires-Dist: apache-airflow-providers-smtp==2.3.0; extra == "frozen"
|
|
110
111
|
Requires-Dist: apache-airflow-providers-sqlite==4.1.2; extra == "frozen"
|
|
111
|
-
Requires-Dist: apispec==6.8.
|
|
112
|
+
Requires-Dist: apispec==6.8.4; extra == "frozen"
|
|
112
113
|
Requires-Dist: argcomplete==3.6.2; extra == "frozen"
|
|
113
114
|
Requires-Dist: asdf==3.5.0; extra == "frozen"
|
|
114
115
|
Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
|
|
115
116
|
Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
116
|
-
Requires-Dist: asgiref==3.9.
|
|
117
|
+
Requires-Dist: asgiref==3.9.2; extra == "frozen"
|
|
117
118
|
Requires-Dist: asteval==1.0.6; extra == "frozen"
|
|
118
119
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
119
|
-
Requires-Dist: astropy-iers-data==0.2025.9.
|
|
120
|
+
Requires-Dist: astropy-iers-data==0.2025.9.22.0.37.25; extra == "frozen"
|
|
120
121
|
Requires-Dist: asyncpg==0.30.0; extra == "frozen"
|
|
121
122
|
Requires-Dist: attrs==25.3.0; extra == "frozen"
|
|
122
123
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
123
|
-
Requires-Dist: billiard==4.2.
|
|
124
|
+
Requires-Dist: billiard==4.2.2; extra == "frozen"
|
|
124
125
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
125
|
-
Requires-Dist: boto3==1.40.
|
|
126
|
-
Requires-Dist: botocore==1.40.
|
|
126
|
+
Requires-Dist: boto3==1.40.39; extra == "frozen"
|
|
127
|
+
Requires-Dist: botocore==1.40.39; extra == "frozen"
|
|
127
128
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
128
|
-
Requires-Dist: celery==5.
|
|
129
|
+
Requires-Dist: celery==5.3.1; extra == "frozen"
|
|
129
130
|
Requires-Dist: certifi==2025.8.3; extra == "frozen"
|
|
130
|
-
Requires-Dist: cffi==
|
|
131
|
+
Requires-Dist: cffi==2.0.0; extra == "frozen"
|
|
131
132
|
Requires-Dist: charset-normalizer==3.4.3; extra == "frozen"
|
|
132
|
-
Requires-Dist: click==8.
|
|
133
|
+
Requires-Dist: click==8.3.0; extra == "frozen"
|
|
133
134
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
134
135
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
135
136
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -140,34 +141,32 @@ Requires-Dist: connexion==2.14.2; extra == "frozen"
|
|
|
140
141
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
141
142
|
Requires-Dist: cron_descriptor==2.0.6; extra == "frozen"
|
|
142
143
|
Requires-Dist: croniter==6.0.0; extra == "frozen"
|
|
143
|
-
Requires-Dist: cryptography==
|
|
144
|
+
Requires-Dist: cryptography==46.0.1; extra == "frozen"
|
|
144
145
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
145
146
|
Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
146
147
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
147
148
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
148
149
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
149
|
-
Requires-Dist: dkist-processing-common==11.
|
|
150
|
-
Requires-Dist: dkist-processing-core==
|
|
151
|
-
Requires-Dist: dkist-processing-dlnirsp==0.
|
|
150
|
+
Requires-Dist: dkist-processing-common==11.6.0; extra == "frozen"
|
|
151
|
+
Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
|
|
152
|
+
Requires-Dist: dkist-processing-dlnirsp==0.32.0; extra == "frozen"
|
|
152
153
|
Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
|
|
153
154
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
154
|
-
Requires-Dist: dkist-service-configuration==
|
|
155
|
+
Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
|
|
155
156
|
Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
|
|
156
157
|
Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
|
|
157
158
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
158
|
-
Requires-Dist: ecs-logging==2.2.0; extra == "frozen"
|
|
159
|
-
Requires-Dist: elastic-apm==6.24.0; extra == "frozen"
|
|
160
159
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
161
160
|
Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
162
161
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
163
|
-
Requires-Dist: fonttools==4.
|
|
162
|
+
Requires-Dist: fonttools==4.60.0; extra == "frozen"
|
|
164
163
|
Requires-Dist: frozenlist==1.7.0; extra == "frozen"
|
|
165
164
|
Requires-Dist: fsspec==2025.9.0; extra == "frozen"
|
|
166
|
-
Requires-Dist: globus-sdk==3.
|
|
165
|
+
Requires-Dist: globus-sdk==3.64.0; extra == "frozen"
|
|
167
166
|
Requires-Dist: google-re2==1.1.20250805; extra == "frozen"
|
|
168
167
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
|
|
169
168
|
Requires-Dist: gqlclient==1.2.3; extra == "frozen"
|
|
170
|
-
Requires-Dist: grpcio==1.
|
|
169
|
+
Requires-Dist: grpcio==1.75.1; extra == "frozen"
|
|
171
170
|
Requires-Dist: gunicorn==23.0.0; extra == "frozen"
|
|
172
171
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
173
172
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
@@ -209,14 +208,30 @@ Requires-Dist: networkx==3.5; extra == "frozen"
|
|
|
209
208
|
Requires-Dist: numba==0.61.2; extra == "frozen"
|
|
210
209
|
Requires-Dist: numpy==2.2.5; extra == "frozen"
|
|
211
210
|
Requires-Dist: object-clerk==1.0.0; extra == "frozen"
|
|
212
|
-
Requires-Dist: opentelemetry-api==1.
|
|
213
|
-
Requires-Dist: opentelemetry-exporter-otlp==1.
|
|
214
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.
|
|
215
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.
|
|
216
|
-
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.
|
|
217
|
-
Requires-Dist: opentelemetry-
|
|
218
|
-
Requires-Dist: opentelemetry-
|
|
219
|
-
Requires-Dist: opentelemetry-
|
|
211
|
+
Requires-Dist: opentelemetry-api==1.37.0; extra == "frozen"
|
|
212
|
+
Requires-Dist: opentelemetry-exporter-otlp==1.37.0; extra == "frozen"
|
|
213
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.37.0; extra == "frozen"
|
|
214
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.37.0; extra == "frozen"
|
|
215
|
+
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.37.0; extra == "frozen"
|
|
216
|
+
Requires-Dist: opentelemetry-instrumentation==0.58b0; extra == "frozen"
|
|
217
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.58b0; extra == "frozen"
|
|
218
|
+
Requires-Dist: opentelemetry-instrumentation-asgi==0.58b0; extra == "frozen"
|
|
219
|
+
Requires-Dist: opentelemetry-instrumentation-botocore==0.58b0; extra == "frozen"
|
|
220
|
+
Requires-Dist: opentelemetry-instrumentation-celery==0.58b0; extra == "frozen"
|
|
221
|
+
Requires-Dist: opentelemetry-instrumentation-dbapi==0.58b0; extra == "frozen"
|
|
222
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.58b0; extra == "frozen"
|
|
223
|
+
Requires-Dist: opentelemetry-instrumentation-pika==0.58b0; extra == "frozen"
|
|
224
|
+
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.58b0; extra == "frozen"
|
|
225
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo==0.58b0; extra == "frozen"
|
|
226
|
+
Requires-Dist: opentelemetry-instrumentation-redis==0.58b0; extra == "frozen"
|
|
227
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.58b0; extra == "frozen"
|
|
228
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.58b0; extra == "frozen"
|
|
229
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.58b0; extra == "frozen"
|
|
230
|
+
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
|
|
231
|
+
Requires-Dist: opentelemetry-proto==1.37.0; extra == "frozen"
|
|
232
|
+
Requires-Dist: opentelemetry-sdk==1.37.0; extra == "frozen"
|
|
233
|
+
Requires-Dist: opentelemetry-semantic-conventions==0.58b0; extra == "frozen"
|
|
234
|
+
Requires-Dist: opentelemetry-util-http==0.58b0; extra == "frozen"
|
|
220
235
|
Requires-Dist: ordered-set==4.1.0; extra == "frozen"
|
|
221
236
|
Requires-Dist: packaging==25.0; extra == "frozen"
|
|
222
237
|
Requires-Dist: pandas==2.3.2; extra == "frozen"
|
|
@@ -231,33 +246,33 @@ Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
|
231
246
|
Requires-Dist: pooch==1.8.2; extra == "frozen"
|
|
232
247
|
Requires-Dist: prison==0.2.1; extra == "frozen"
|
|
233
248
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
234
|
-
Requires-Dist: prometheus_client==0.
|
|
249
|
+
Requires-Dist: prometheus_client==0.23.1; extra == "frozen"
|
|
235
250
|
Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
|
|
236
251
|
Requires-Dist: propcache==0.3.2; extra == "frozen"
|
|
237
|
-
Requires-Dist: protobuf==6.32.
|
|
238
|
-
Requires-Dist: psutil==7.
|
|
252
|
+
Requires-Dist: protobuf==6.32.1; extra == "frozen"
|
|
253
|
+
Requires-Dist: psutil==7.1.0; extra == "frozen"
|
|
239
254
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "frozen"
|
|
240
|
-
Requires-Dist: pycparser==2.
|
|
241
|
-
Requires-Dist: pydantic==2.11.
|
|
242
|
-
Requires-Dist: pydantic-settings==2.
|
|
255
|
+
Requires-Dist: pycparser==2.23; extra == "frozen"
|
|
256
|
+
Requires-Dist: pydantic==2.11.9; extra == "frozen"
|
|
257
|
+
Requires-Dist: pydantic-settings==2.11.0; extra == "frozen"
|
|
243
258
|
Requires-Dist: pydantic_core==2.33.2; extra == "frozen"
|
|
244
259
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
245
|
-
Requires-Dist: pyparsing==3.2.
|
|
260
|
+
Requires-Dist: pyparsing==3.2.5; extra == "frozen"
|
|
246
261
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
247
262
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
248
263
|
Requires-Dist: python-dotenv==1.1.1; extra == "frozen"
|
|
249
264
|
Requires-Dist: python-nvd3==0.16.0; extra == "frozen"
|
|
250
265
|
Requires-Dist: python-slugify==8.0.4; extra == "frozen"
|
|
251
266
|
Requires-Dist: pytz==2025.2; extra == "frozen"
|
|
252
|
-
Requires-Dist: redis==4.
|
|
267
|
+
Requires-Dist: redis==6.4.0; extra == "frozen"
|
|
253
268
|
Requires-Dist: referencing==0.36.2; extra == "frozen"
|
|
254
269
|
Requires-Dist: requests==2.32.5; extra == "frozen"
|
|
255
270
|
Requires-Dist: requests-toolbelt==1.0.0; extra == "frozen"
|
|
256
271
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
257
|
-
Requires-Dist: rich==
|
|
272
|
+
Requires-Dist: rich==14.1.0; extra == "frozen"
|
|
258
273
|
Requires-Dist: rich-argparse==1.7.1; extra == "frozen"
|
|
259
274
|
Requires-Dist: rpds-py==0.27.1; extra == "frozen"
|
|
260
|
-
Requires-Dist: s3transfer==0.
|
|
275
|
+
Requires-Dist: s3transfer==0.14.0; extra == "frozen"
|
|
261
276
|
Requires-Dist: scikit-image==0.25.2; extra == "frozen"
|
|
262
277
|
Requires-Dist: scipy==1.15.3; extra == "frozen"
|
|
263
278
|
Requires-Dist: semantic-version==2.10.0; extra == "frozen"
|
|
@@ -273,7 +288,7 @@ Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
|
273
288
|
Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
274
289
|
Requires-Dist: termcolor==3.1.0; extra == "frozen"
|
|
275
290
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
276
|
-
Requires-Dist: tifffile==2025.
|
|
291
|
+
Requires-Dist: tifffile==2025.9.20; extra == "frozen"
|
|
277
292
|
Requires-Dist: tornado==6.5.2; extra == "frozen"
|
|
278
293
|
Requires-Dist: tqdm==4.67.1; extra == "frozen"
|
|
279
294
|
Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
@@ -286,7 +301,7 @@ Requires-Dist: universal_pathlib==0.2.6; extra == "frozen"
|
|
|
286
301
|
Requires-Dist: urllib3==2.5.0; extra == "frozen"
|
|
287
302
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
288
303
|
Requires-Dist: voluptuous==0.15.2; extra == "frozen"
|
|
289
|
-
Requires-Dist: wcwidth==0.2.
|
|
304
|
+
Requires-Dist: wcwidth==0.2.14; extra == "frozen"
|
|
290
305
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
291
306
|
Requires-Dist: wrapt==1.17.3; extra == "frozen"
|
|
292
307
|
Requires-Dist: yamale==6.0.0; extra == "frozen"
|
|
@@ -309,7 +324,83 @@ in their own package facilitates using the build_utils to test the integrity of
|
|
|
309
324
|
|
|
310
325
|
Environment Variables
|
|
311
326
|
---------------------
|
|
312
|
-
|
|
327
|
+
|
|
328
|
+
.. list-table::
|
|
329
|
+
:widths: 10 90
|
|
330
|
+
:header-rows: 1
|
|
331
|
+
|
|
332
|
+
* - Variable
|
|
333
|
+
- Field Info
|
|
334
|
+
* - LOGURU_LEVEL
|
|
335
|
+
- annotation=str required=False default='INFO' alias_priority=2 validation_alias='LOGURU_LEVEL' description='Log level for the application'
|
|
336
|
+
* - MESH_CONFIG
|
|
337
|
+
- annotation=dict[str, MeshService] required=False default_factory=dict alias_priority=2 validation_alias='MESH_CONFIG' description='Service mesh configuration' examples=[{'upstream_service_name': {'mesh_address': 'localhost', 'mesh_port': 6742}}]
|
|
338
|
+
* - RETRY_CONFIG
|
|
339
|
+
- annotation=RetryConfig required=False default_factory=RetryConfig description='Retry configuration for the service'
|
|
340
|
+
* - OTEL_SERVICE_NAME
|
|
341
|
+
- annotation=str required=False default='unknown-service-name' alias_priority=2 validation_alias='OTEL_SERVICE_NAME' description='Service name for OpenTelemetry'
|
|
342
|
+
* - DKIST_SERVICE_VERSION
|
|
343
|
+
- annotation=str required=False default='unknown-service-version' alias_priority=2 validation_alias='DKIST_SERVICE_VERSION' description='Service version for OpenTelemetry'
|
|
344
|
+
* - NOMAD_ALLOC_ID
|
|
345
|
+
- annotation=str required=False default='unknown-allocation-id' alias_priority=2 validation_alias='NOMAD_ALLOC_ID' description='Nomad allocation ID for OpenTelemetry'
|
|
346
|
+
* - OTEL_EXPORTER_OTLP_TRACES_INSECURE
|
|
347
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP traces'
|
|
348
|
+
* - OTEL_EXPORTER_OTLP_METRICS_INSECURE
|
|
349
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP metrics'
|
|
350
|
+
* - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
351
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP traces endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
352
|
+
* - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
353
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP metrics endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
354
|
+
* - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
|
|
355
|
+
- annotation=list[str] required=False default_factory=list description='List of instrumentations to disable. https://opentelemetry.io/docs/zero-code/python/configuration/' examples=[['pika', 'requests']]
|
|
356
|
+
* - OTEL_PYTHON_FASTAPI_EXCLUDED_URLS
|
|
357
|
+
- annotation=str required=False default='health' description='Comma separated list of URLs to exclude from OpenTelemetry instrumentation in FastAPI.' examples=['client/.*/info,healthcheck']
|
|
358
|
+
* - SYSTEM_METRIC_INSTRUMENTATION_CONFIG
|
|
359
|
+
- annotation=Union[dict[str, bool], NoneType] required=False default=None description='Configuration for system metric instrumentation. https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/system_metrics/system_metrics.html' examples=[{'system.memory.usage': ['used', 'free', 'cached'], 'system.cpu.time': ['idle', 'user', 'system', 'irq'], 'system.network.io': ['transmit', 'receive'], 'process.runtime.memory': ['rss', 'vms'], 'process.runtime.cpu.time': ['user', 'system'], 'process.runtime.context_switches': ['involuntary', 'voluntary']}]
|
|
360
|
+
* - ISB_USERNAME
|
|
361
|
+
- annotation=str required=False default='guest' description='Username for the interservice-bus.'
|
|
362
|
+
* - ISB_PASSWORD
|
|
363
|
+
- annotation=str required=False default='guest' description='Password for the interservice-bus.'
|
|
364
|
+
* - ISB_EXCHANGE
|
|
365
|
+
- annotation=str required=False default='master.direct.x' description='Exchange for the interservice-bus.'
|
|
366
|
+
* - ISB_QUEUE_TYPE
|
|
367
|
+
- annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
|
|
368
|
+
* - BUILD_VERSION
|
|
369
|
+
- annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
|
|
370
|
+
* - GQL_AUTH_TOKEN
|
|
371
|
+
- annotation=Union[str, NoneType] required=False default='dev' description='The auth token for the metadata-store-api.'
|
|
372
|
+
* - OBJECT_STORE_ACCESS_KEY
|
|
373
|
+
- annotation=Union[str, NoneType] required=False default=None description='The access key for the object store.'
|
|
374
|
+
* - OBJECT_STORE_SECRET_KEY
|
|
375
|
+
- annotation=Union[str, NoneType] required=False default=None description='The secret key for the object store.'
|
|
376
|
+
* - OBJECT_STORE_USE_SSL
|
|
377
|
+
- annotation=bool required=False default=False description='Whether to use SSL for the object store connection.'
|
|
378
|
+
* - MULTIPART_THRESHOLD
|
|
379
|
+
- annotation=Union[int, NoneType] required=False default=None description='Multipart threshold for the object store.'
|
|
380
|
+
* - S3_CLIENT_CONFIG
|
|
381
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 client configuration for the object store.'
|
|
382
|
+
* - S3_UPLOAD_CONFIG
|
|
383
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 upload configuration for the object store.'
|
|
384
|
+
* - S3_DOWNLOAD_CONFIG
|
|
385
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 download configuration for the object store.'
|
|
386
|
+
* - GLOBUS_TRANSPORT_PARAMS
|
|
387
|
+
- annotation=dict required=False default_factory=dict description='Globus transfer parameters.'
|
|
388
|
+
* - GLOBUS_CLIENT_ID
|
|
389
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client ID for inbound/outbound transfers.'
|
|
390
|
+
* - GLOBUS_CLIENT_SECRET
|
|
391
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client secret for inbound/outbound transfers.'
|
|
392
|
+
* - OBJECT_STORE_ENDPOINT
|
|
393
|
+
- annotation=Union[str, NoneType] required=False default=None description='Object store Globus Endpoint ID.'
|
|
394
|
+
* - SCRATCH_ENDPOINT
|
|
395
|
+
- annotation=Union[str, NoneType] required=False default=None description='Scratch Globus Endpoint ID.'
|
|
396
|
+
* - SCRATCH_BASE_PATH
|
|
397
|
+
- annotation=str required=False default='scratch/' description='Base path for scratch storage.'
|
|
398
|
+
* - SCRATCH_INVENTORY_DB_COUNT
|
|
399
|
+
- annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
|
|
400
|
+
* - DOCS_BASE_URL
|
|
401
|
+
- annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
|
|
402
|
+
* - FTS_ATLAS_DATA_DIR
|
|
403
|
+
- annotation=Union[str, NoneType] required=False default=None description='Common cached directory for downloaded FTS Atlas.'
|
|
313
404
|
|
|
314
405
|
Development
|
|
315
406
|
-----------
|
|
@@ -14,7 +14,83 @@ in their own package facilitates using the build_utils to test the integrity of
|
|
|
14
14
|
|
|
15
15
|
Environment Variables
|
|
16
16
|
---------------------
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
.. list-table::
|
|
19
|
+
:widths: 10 90
|
|
20
|
+
:header-rows: 1
|
|
21
|
+
|
|
22
|
+
* - Variable
|
|
23
|
+
- Field Info
|
|
24
|
+
* - LOGURU_LEVEL
|
|
25
|
+
- annotation=str required=False default='INFO' alias_priority=2 validation_alias='LOGURU_LEVEL' description='Log level for the application'
|
|
26
|
+
* - MESH_CONFIG
|
|
27
|
+
- annotation=dict[str, MeshService] required=False default_factory=dict alias_priority=2 validation_alias='MESH_CONFIG' description='Service mesh configuration' examples=[{'upstream_service_name': {'mesh_address': 'localhost', 'mesh_port': 6742}}]
|
|
28
|
+
* - RETRY_CONFIG
|
|
29
|
+
- annotation=RetryConfig required=False default_factory=RetryConfig description='Retry configuration for the service'
|
|
30
|
+
* - OTEL_SERVICE_NAME
|
|
31
|
+
- annotation=str required=False default='unknown-service-name' alias_priority=2 validation_alias='OTEL_SERVICE_NAME' description='Service name for OpenTelemetry'
|
|
32
|
+
* - DKIST_SERVICE_VERSION
|
|
33
|
+
- annotation=str required=False default='unknown-service-version' alias_priority=2 validation_alias='DKIST_SERVICE_VERSION' description='Service version for OpenTelemetry'
|
|
34
|
+
* - NOMAD_ALLOC_ID
|
|
35
|
+
- annotation=str required=False default='unknown-allocation-id' alias_priority=2 validation_alias='NOMAD_ALLOC_ID' description='Nomad allocation ID for OpenTelemetry'
|
|
36
|
+
* - OTEL_EXPORTER_OTLP_TRACES_INSECURE
|
|
37
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP traces'
|
|
38
|
+
* - OTEL_EXPORTER_OTLP_METRICS_INSECURE
|
|
39
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP metrics'
|
|
40
|
+
* - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
41
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP traces endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
42
|
+
* - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
43
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP metrics endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
44
|
+
* - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
|
|
45
|
+
- annotation=list[str] required=False default_factory=list description='List of instrumentations to disable. https://opentelemetry.io/docs/zero-code/python/configuration/' examples=[['pika', 'requests']]
|
|
46
|
+
* - OTEL_PYTHON_FASTAPI_EXCLUDED_URLS
|
|
47
|
+
- annotation=str required=False default='health' description='Comma separated list of URLs to exclude from OpenTelemetry instrumentation in FastAPI.' examples=['client/.*/info,healthcheck']
|
|
48
|
+
* - SYSTEM_METRIC_INSTRUMENTATION_CONFIG
|
|
49
|
+
- annotation=Union[dict[str, bool], NoneType] required=False default=None description='Configuration for system metric instrumentation. https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/system_metrics/system_metrics.html' examples=[{'system.memory.usage': ['used', 'free', 'cached'], 'system.cpu.time': ['idle', 'user', 'system', 'irq'], 'system.network.io': ['transmit', 'receive'], 'process.runtime.memory': ['rss', 'vms'], 'process.runtime.cpu.time': ['user', 'system'], 'process.runtime.context_switches': ['involuntary', 'voluntary']}]
|
|
50
|
+
* - ISB_USERNAME
|
|
51
|
+
- annotation=str required=False default='guest' description='Username for the interservice-bus.'
|
|
52
|
+
* - ISB_PASSWORD
|
|
53
|
+
- annotation=str required=False default='guest' description='Password for the interservice-bus.'
|
|
54
|
+
* - ISB_EXCHANGE
|
|
55
|
+
- annotation=str required=False default='master.direct.x' description='Exchange for the interservice-bus.'
|
|
56
|
+
* - ISB_QUEUE_TYPE
|
|
57
|
+
- annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
|
|
58
|
+
* - BUILD_VERSION
|
|
59
|
+
- annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
|
|
60
|
+
* - GQL_AUTH_TOKEN
|
|
61
|
+
- annotation=Union[str, NoneType] required=False default='dev' description='The auth token for the metadata-store-api.'
|
|
62
|
+
* - OBJECT_STORE_ACCESS_KEY
|
|
63
|
+
- annotation=Union[str, NoneType] required=False default=None description='The access key for the object store.'
|
|
64
|
+
* - OBJECT_STORE_SECRET_KEY
|
|
65
|
+
- annotation=Union[str, NoneType] required=False default=None description='The secret key for the object store.'
|
|
66
|
+
* - OBJECT_STORE_USE_SSL
|
|
67
|
+
- annotation=bool required=False default=False description='Whether to use SSL for the object store connection.'
|
|
68
|
+
* - MULTIPART_THRESHOLD
|
|
69
|
+
- annotation=Union[int, NoneType] required=False default=None description='Multipart threshold for the object store.'
|
|
70
|
+
* - S3_CLIENT_CONFIG
|
|
71
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 client configuration for the object store.'
|
|
72
|
+
* - S3_UPLOAD_CONFIG
|
|
73
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 upload configuration for the object store.'
|
|
74
|
+
* - S3_DOWNLOAD_CONFIG
|
|
75
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 download configuration for the object store.'
|
|
76
|
+
* - GLOBUS_TRANSPORT_PARAMS
|
|
77
|
+
- annotation=dict required=False default_factory=dict description='Globus transfer parameters.'
|
|
78
|
+
* - GLOBUS_CLIENT_ID
|
|
79
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client ID for inbound/outbound transfers.'
|
|
80
|
+
* - GLOBUS_CLIENT_SECRET
|
|
81
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client secret for inbound/outbound transfers.'
|
|
82
|
+
* - OBJECT_STORE_ENDPOINT
|
|
83
|
+
- annotation=Union[str, NoneType] required=False default=None description='Object store Globus Endpoint ID.'
|
|
84
|
+
* - SCRATCH_ENDPOINT
|
|
85
|
+
- annotation=Union[str, NoneType] required=False default=None description='Scratch Globus Endpoint ID.'
|
|
86
|
+
* - SCRATCH_BASE_PATH
|
|
87
|
+
- annotation=str required=False default='scratch/' description='Base path for scratch storage.'
|
|
88
|
+
* - SCRATCH_INVENTORY_DB_COUNT
|
|
89
|
+
- annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
|
|
90
|
+
* - DOCS_BASE_URL
|
|
91
|
+
- annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
|
|
92
|
+
* - FTS_ATLAS_DATA_DIR
|
|
93
|
+
- annotation=Union[str, NoneType] required=False default=None description='Common cached directory for downloaded FTS Atlas.'
|
|
18
94
|
|
|
19
95
|
Development
|
|
20
96
|
-----------
|
|
@@ -70,7 +70,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
70
70
|
logger.info("VIS data detected. Setting dynamic bad pixel map to empty.")
|
|
71
71
|
dynamic_bad_pixel_map = np.zeros_like(static_bad_pixel_map)
|
|
72
72
|
|
|
73
|
-
with self.
|
|
73
|
+
with self.telemetry_span("Combine dynamic and static maps and write"):
|
|
74
74
|
logger.info("Combining dynamic and static bad pixel maps")
|
|
75
75
|
logger.info(f"Static map has {int(np.sum(static_bad_pixel_map))} bad pixels")
|
|
76
76
|
logger.info(f"Dynamic map has {int(np.sum(dynamic_bad_pixel_map))} bad pixels")
|
|
@@ -99,7 +99,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
99
99
|
(a settable pipeline parameter) are flagged as bad pixels. Prior to computing the standard deviation of the
|
|
100
100
|
difference image the illuminated array mask is applied so non-illuminated regions don't impact the results.
|
|
101
101
|
"""
|
|
102
|
-
with self.
|
|
102
|
+
with self.telemetry_span("Smooth average lamp gain image"):
|
|
103
103
|
avg_lamp_gain = next(
|
|
104
104
|
self.read(
|
|
105
105
|
tags=[
|
|
@@ -117,7 +117,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
117
117
|
mode="constant",
|
|
118
118
|
cval=np.nanmedian(avg_lamp_gain),
|
|
119
119
|
)
|
|
120
|
-
with self.
|
|
120
|
+
with self.telemetry_span("Compute gain dynamic bad pixel map"):
|
|
121
121
|
logger.info("Finding bad pixel locations in lamp gain")
|
|
122
122
|
diff = smoothed_array - avg_lamp_gain
|
|
123
123
|
diff[~self.group_id_illuminated_idx] = np.nan
|
|
@@ -146,7 +146,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
146
146
|
is then subtracted from the original array. Pixels in this difference array that are deviant by a large amount
|
|
147
147
|
(a settable pipeline parameter) are flagged as bad pixels.
|
|
148
148
|
"""
|
|
149
|
-
with self.
|
|
149
|
+
with self.telemetry_span("Compute lamp dark sigma image"):
|
|
150
150
|
smallest_lamp_exp_time = sorted(self.constants.lamp_gain_exposure_times)[0]
|
|
151
151
|
logger.info(f"Using darks from exposure time = {smallest_lamp_exp_time}")
|
|
152
152
|
lamp_darks = self.read(
|
|
@@ -159,7 +159,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
159
159
|
)
|
|
160
160
|
dark_sigma = stddev_numpy_arrays(lamp_darks)
|
|
161
161
|
|
|
162
|
-
with self.
|
|
162
|
+
with self.telemetry_span("Smooth dark sigma array"):
|
|
163
163
|
logger.info("Smoothing dark sigma array")
|
|
164
164
|
smoothed_array = spnd.median_filter(
|
|
165
165
|
dark_sigma,
|
|
@@ -168,7 +168,7 @@ class BadPixelCalibration(DlnirspTaskBase):
|
|
|
168
168
|
cval=np.nanmedian(dark_sigma),
|
|
169
169
|
)
|
|
170
170
|
|
|
171
|
-
with self.
|
|
171
|
+
with self.telemetry_span("Compute dark dynamic bad pixel map"):
|
|
172
172
|
logger.info("Finding bad pixel locations in dark sigma")
|
|
173
173
|
diff = smoothed_array - dark_sigma
|
|
174
174
|
|
|
@@ -45,7 +45,7 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
45
45
|
"""
|
|
46
46
|
target_exp_times = self.constants.non_dark_task_exposure_times
|
|
47
47
|
logger.info(f"{target_exp_times = }")
|
|
48
|
-
with self.
|
|
48
|
+
with self.telemetry_span(
|
|
49
49
|
f"Calculating dark frames for {self.constants.num_beams} beams and {len(target_exp_times)} exp times"
|
|
50
50
|
):
|
|
51
51
|
total_dark_frames_used = 0
|
|
@@ -62,11 +62,11 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
62
62
|
total_dark_frames_used += current_exp_dark_count
|
|
63
63
|
input_dark_arrays = self.read(tags=dark_tags, decoder=fits_array_decoder)
|
|
64
64
|
|
|
65
|
-
with self.
|
|
65
|
+
with self.telemetry_span(f"Calculating dark for {exp_time = }"):
|
|
66
66
|
logger.info(f"Calculating dark for {exp_time = }")
|
|
67
67
|
averaged_dark_array = average_numpy_arrays(input_dark_arrays)
|
|
68
68
|
|
|
69
|
-
with self.
|
|
69
|
+
with self.telemetry_span(f"Writing dark for {exp_time = }"):
|
|
70
70
|
logger.info(f"Writing dark for {exp_time = }")
|
|
71
71
|
self.write(
|
|
72
72
|
data=averaged_dark_array,
|
|
@@ -74,7 +74,7 @@ class DarkCalibration(DlnirspTaskBase, QualityMixin):
|
|
|
74
74
|
encoder=fits_array_encoder,
|
|
75
75
|
)
|
|
76
76
|
|
|
77
|
-
with self.
|
|
77
|
+
with self.telemetry_span("Computing and logger quality metrics"):
|
|
78
78
|
no_of_raw_dark_frames: int = self.scratch.count_all(
|
|
79
79
|
tags=[
|
|
80
80
|
DlnirspTag.linearized_frame(),
|
|
@@ -57,25 +57,25 @@ class GeometricCalibration(DlnirspTaskBase, CorrectionsMixin, QualityMixin):
|
|
|
57
57
|
|
|
58
58
|
6. Write shifts, scales, and reference wavelength axis to a file
|
|
59
59
|
"""
|
|
60
|
-
with self.
|
|
60
|
+
with self.telemetry_span("Apply dark and lamp corrections"):
|
|
61
61
|
logger.info("Computing average dark/lamp corrected gain image")
|
|
62
62
|
self.compute_average_corrected_gain()
|
|
63
63
|
|
|
64
|
-
with self.
|
|
64
|
+
with self.telemetry_span("Compute spectral curvature"):
|
|
65
65
|
logger.info("Computing spectral curvature")
|
|
66
66
|
shift_dict, scale_dict = self.compute_spectral_curvature_and_dispersion()
|
|
67
67
|
|
|
68
|
-
with self.
|
|
68
|
+
with self.telemetry_span("Compute reference wavelength grid"):
|
|
69
69
|
logger.info("Computing reference wavelength grid")
|
|
70
70
|
reference_wavelength_axis = self.compute_reference_wavelength_axis(
|
|
71
71
|
shift_dict, scale_dict
|
|
72
72
|
)
|
|
73
73
|
|
|
74
|
-
with self.
|
|
74
|
+
with self.telemetry_span("Write geometric calibration calibration"):
|
|
75
75
|
logger.info("Writing geometric calibration")
|
|
76
76
|
self.write_geometric_calibration(shift_dict, scale_dict, reference_wavelength_axis)
|
|
77
77
|
|
|
78
|
-
with self.
|
|
78
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
79
79
|
no_of_raw_solar_frames: int = self.scratch.count_all(
|
|
80
80
|
tags=[DlnirspTag.linearized_frame(), DlnirspTag.task_solar_gain()],
|
|
81
81
|
)
|
|
@@ -50,7 +50,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
50
50
|
|
|
51
51
|
4. Apply this shift to the IFU metrology files and save for use in the downstream pipeline.
|
|
52
52
|
"""
|
|
53
|
-
with self.
|
|
53
|
+
with self.telemetry_span("Average solar gain images"):
|
|
54
54
|
logger.info("Computing average solar gain array")
|
|
55
55
|
solar_gain_data = self.get_avg_solar_gain()
|
|
56
56
|
|
|
@@ -60,7 +60,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
60
60
|
encoder=fits_array_encoder,
|
|
61
61
|
)
|
|
62
62
|
|
|
63
|
-
with self.
|
|
63
|
+
with self.telemetry_span("Compute binary arrays"):
|
|
64
64
|
logger.info("Computing solar binary image")
|
|
65
65
|
solar_binary = self.compute_solar_binary(solar_gain_data)
|
|
66
66
|
|
|
@@ -79,12 +79,12 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
79
79
|
encoder=fits_array_encoder,
|
|
80
80
|
)
|
|
81
81
|
|
|
82
|
-
with self.
|
|
82
|
+
with self.telemetry_span("Compute IFU drift"):
|
|
83
83
|
logger.info("Computing IFU drift amount")
|
|
84
84
|
drift = self.compute_ifu_drift(solar_binary, ifu_binary)
|
|
85
85
|
logger.info(f"IFU drift = {drift}")
|
|
86
86
|
|
|
87
|
-
with self.
|
|
87
|
+
with self.telemetry_span("Drift IFU metrology arrays"):
|
|
88
88
|
logger.info("Drifting IFU group ID array")
|
|
89
89
|
drifted_ifu_id_array = self.apply_drift_to_array(raw_ifu_id_array, drift)
|
|
90
90
|
|
|
@@ -121,7 +121,7 @@ class IfuDriftCalibration(DlnirspTaskBase):
|
|
|
121
121
|
)
|
|
122
122
|
drifted_arrays_dict[tag] = drifted_array * beam_correction_array
|
|
123
123
|
|
|
124
|
-
with self.
|
|
124
|
+
with self.telemetry_span("Write drifted IFU metrology arrays"):
|
|
125
125
|
logger.info("Writing drifted IFU metrology arrays")
|
|
126
126
|
self.write_drifted_metrology_arrays(drifted_arrays_dict)
|
|
127
127
|
|