dkist-processing-vbi 1.24.1__tar.gz → 1.25.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_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/CHANGELOG.rst +18 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/PKG-INFO +143 -52
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/README.rst +75 -1
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/dark.py +4 -6
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/gain.py +4 -4
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/make_movie_frames.py +4 -6
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/process_summit_processed.py +1 -1
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/quality_metrics.py +2 -2
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/science.py +4 -4
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/conftest.py +11 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/local_trial_workflows/l0_to_l1.py +0 -20
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi.egg-info/PKG-INFO +143 -52
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi.egg-info/requires.txt +67 -50
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/pyproject.toml +69 -52
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/.gitignore +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/.readthedocs.yml +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/.snyk +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/SCIENCE_CHANGELOG.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/bitbucket-pipelines.yml +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/changelog/.gitempty +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/config.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/models/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/models/constants.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/models/filter.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/models/parameters.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/models/tags.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/parsers/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/parsers/mosaic_repeats.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/parsers/spatial_step_pattern.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/parsers/vbi_l0_fits_access.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/parsers/vbi_l1_fits_access.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/assemble_movie.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/parse.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/vbi_base.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/write_l1.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/local_trial_workflows/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_assemble_movie.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_dark.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_gain.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_make_movie_frames.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_parse_l0.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_parse_summit.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_process_summit.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_quality_metrics.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_science.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_spatial_step_pattern.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_vbi_base.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_vbi_constants.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_workflows.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tests/test_write_l1.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/workflows/__init__.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/workflows/l0_processing.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/workflows/summit_data_processing.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/workflows/trial_workflows.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi.egg-info/SOURCES.txt +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi.egg-info/dependency_links.txt +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi.egg-info/top_level.txt +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/Makefile +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/changelog.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/conf.py +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/index.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/l0_to_l1_vbi_no-speckle-full-trial.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/l0_to_l1_vbi_no-speckle.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/l0_to_l1_vbi_summit-calibrated-full-trial.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/l0_to_l1_vbi_summit-calibrated.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/landing_page.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/make.bat +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/requirements.txt +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/requirements_table.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/docs/scientific_changelog.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/licenses/LICENSE.rst +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/science_towncrier.sh +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/setup.cfg +0 -0
- {dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/towncrier_science.toml +0 -0
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
v1.25.1 (2025-10-09)
|
|
2
|
+
====================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Update `dkist-processing-common` to v11.7.0, which makes constants for the dataset extras. (`#155 <https://bitbucket.org/dkistdc/dkist-processing-vbi/pull-requests/155>`__)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
v1.25.0 (2025-09-26)
|
|
11
|
+
====================
|
|
12
|
+
|
|
13
|
+
Misc
|
|
14
|
+
----
|
|
15
|
+
|
|
16
|
+
- Integrate dkist-processing-core 6.0.0 which brings a swap of Elastic APM to OpenTelemetry for metrics and tracing. (`#154 <https://bitbucket.org/dkistdc/dkist-processing-vbi/pull-requests/154>`__)
|
|
17
|
+
|
|
18
|
+
|
|
1
19
|
v1.24.1 (2025-09-17)
|
|
2
20
|
====================
|
|
3
21
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-vbi
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.25.1
|
|
4
4
|
Summary: Processing code for the VBI instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -13,7 +13,7 @@ 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.7.0
|
|
17
17
|
Requires-Dist: dkist-processing-math==2.2.1
|
|
18
18
|
Requires-Dist: dkist-header-validator==5.2.1
|
|
19
19
|
Requires-Dist: dkist-fits-specifications==4.17.0
|
|
@@ -24,7 +24,7 @@ Requires-Dist: scipy==1.15.3
|
|
|
24
24
|
Requires-Dist: pillow==10.4.0
|
|
25
25
|
Requires-Dist: moviepy==2.1.2
|
|
26
26
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
27
|
-
Requires-Dist: dkist-service-configuration==
|
|
27
|
+
Requires-Dist: dkist-service-configuration==4.1.7
|
|
28
28
|
Provides-Extra: test
|
|
29
29
|
Requires-Dist: pytest; extra == "test"
|
|
30
30
|
Requires-Dist: pytest-cov; extra == "test"
|
|
@@ -63,65 +63,66 @@ Requires-Dist: Flask-AppBuilder==4.5.3; extra == "frozen"
|
|
|
63
63
|
Requires-Dist: Flask-Babel==2.0.0; extra == "frozen"
|
|
64
64
|
Requires-Dist: Flask-Caching==2.3.1; extra == "frozen"
|
|
65
65
|
Requires-Dist: Flask-JWT-Extended==4.7.1; extra == "frozen"
|
|
66
|
-
Requires-Dist: Flask-Limiter==3.
|
|
66
|
+
Requires-Dist: Flask-Limiter==3.12; extra == "frozen"
|
|
67
67
|
Requires-Dist: Flask-Login==0.6.3; extra == "frozen"
|
|
68
68
|
Requires-Dist: Flask-SQLAlchemy==2.5.1; extra == "frozen"
|
|
69
69
|
Requires-Dist: Flask-Session==0.5.0; extra == "frozen"
|
|
70
70
|
Requires-Dist: Flask-WTF==1.2.2; extra == "frozen"
|
|
71
71
|
Requires-Dist: Jinja2==3.1.6; extra == "frozen"
|
|
72
72
|
Requires-Dist: Mako==1.3.10; extra == "frozen"
|
|
73
|
-
Requires-Dist: MarkupSafe==3.0.
|
|
73
|
+
Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
|
|
74
74
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
75
75
|
Requires-Dist: PyJWT==2.10.1; extra == "frozen"
|
|
76
|
-
Requires-Dist: PyYAML==6.0.
|
|
76
|
+
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
77
77
|
Requires-Dist: Pygments==2.19.2; extra == "frozen"
|
|
78
78
|
Requires-Dist: SQLAlchemy==1.4.54; extra == "frozen"
|
|
79
79
|
Requires-Dist: SQLAlchemy-JSONField==1.0.2; extra == "frozen"
|
|
80
80
|
Requires-Dist: SQLAlchemy-Utils==0.42.0; extra == "frozen"
|
|
81
81
|
Requires-Dist: WTForms==3.2.1; extra == "frozen"
|
|
82
82
|
Requires-Dist: Werkzeug==2.2.3; extra == "frozen"
|
|
83
|
-
Requires-Dist: aioftp==0.
|
|
83
|
+
Requires-Dist: aioftp==0.27.2; extra == "frozen"
|
|
84
84
|
Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
|
|
85
|
-
Requires-Dist: aiohttp==3.
|
|
85
|
+
Requires-Dist: aiohttp==3.13.0; extra == "frozen"
|
|
86
86
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
87
|
+
Requires-Dist: aiosmtplib==4.0.2; extra == "frozen"
|
|
87
88
|
Requires-Dist: alembic==1.16.5; extra == "frozen"
|
|
88
89
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
89
90
|
Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
90
|
-
Requires-Dist: anyio==4.
|
|
91
|
+
Requires-Dist: anyio==4.11.0; extra == "frozen"
|
|
91
92
|
Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
|
|
92
93
|
Requires-Dist: apache-airflow-providers-celery==3.10.0; extra == "frozen"
|
|
93
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.7.
|
|
94
|
-
Requires-Dist: apache-airflow-providers-common-io==1.6.
|
|
95
|
-
Requires-Dist: apache-airflow-providers-common-sql==1.28.
|
|
94
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.7.4; extra == "frozen"
|
|
95
|
+
Requires-Dist: apache-airflow-providers-common-io==1.6.3; extra == "frozen"
|
|
96
|
+
Requires-Dist: apache-airflow-providers-common-sql==1.28.1; extra == "frozen"
|
|
96
97
|
Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
|
|
97
98
|
Requires-Dist: apache-airflow-providers-ftp==3.13.2; extra == "frozen"
|
|
98
99
|
Requires-Dist: apache-airflow-providers-http==5.3.4; extra == "frozen"
|
|
99
100
|
Requires-Dist: apache-airflow-providers-imap==3.9.2; extra == "frozen"
|
|
100
101
|
Requires-Dist: apache-airflow-providers-postgres==6.3.0; extra == "frozen"
|
|
101
|
-
Requires-Dist: apache-airflow-providers-smtp==2.
|
|
102
|
+
Requires-Dist: apache-airflow-providers-smtp==2.3.1; extra == "frozen"
|
|
102
103
|
Requires-Dist: apache-airflow-providers-sqlite==4.1.2; extra == "frozen"
|
|
103
|
-
Requires-Dist: apispec==6.8.
|
|
104
|
+
Requires-Dist: apispec==6.8.4; extra == "frozen"
|
|
104
105
|
Requires-Dist: argcomplete==3.6.2; extra == "frozen"
|
|
105
106
|
Requires-Dist: asdf==3.5.0; extra == "frozen"
|
|
106
107
|
Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
|
|
107
108
|
Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
108
|
-
Requires-Dist: asgiref==3.
|
|
109
|
+
Requires-Dist: asgiref==3.10.0; extra == "frozen"
|
|
109
110
|
Requires-Dist: asteval==1.0.6; extra == "frozen"
|
|
110
111
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
111
|
-
Requires-Dist: astropy-iers-data==0.2025.
|
|
112
|
+
Requires-Dist: astropy-iers-data==0.2025.10.6.0.35.25; extra == "frozen"
|
|
112
113
|
Requires-Dist: asyncpg==0.30.0; extra == "frozen"
|
|
113
|
-
Requires-Dist: attrs==25.
|
|
114
|
+
Requires-Dist: attrs==25.4.0; extra == "frozen"
|
|
114
115
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
115
|
-
Requires-Dist: billiard==4.2.
|
|
116
|
+
Requires-Dist: billiard==4.2.2; extra == "frozen"
|
|
116
117
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
117
|
-
Requires-Dist: boto3==1.40.
|
|
118
|
-
Requires-Dist: botocore==1.40.
|
|
118
|
+
Requires-Dist: boto3==1.40.48; extra == "frozen"
|
|
119
|
+
Requires-Dist: botocore==1.40.48; extra == "frozen"
|
|
119
120
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
120
121
|
Requires-Dist: celery==5.3.1; extra == "frozen"
|
|
121
|
-
Requires-Dist: certifi==2025.
|
|
122
|
+
Requires-Dist: certifi==2025.10.5; extra == "frozen"
|
|
122
123
|
Requires-Dist: cffi==2.0.0; extra == "frozen"
|
|
123
124
|
Requires-Dist: charset-normalizer==3.4.3; extra == "frozen"
|
|
124
|
-
Requires-Dist: click==8.
|
|
125
|
+
Requires-Dist: click==8.3.0; extra == "frozen"
|
|
125
126
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
126
127
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
127
128
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -132,34 +133,33 @@ Requires-Dist: connexion==2.14.2; extra == "frozen"
|
|
|
132
133
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
133
134
|
Requires-Dist: cron_descriptor==2.0.6; extra == "frozen"
|
|
134
135
|
Requires-Dist: croniter==6.0.0; extra == "frozen"
|
|
135
|
-
Requires-Dist: cryptography==46.0.
|
|
136
|
+
Requires-Dist: cryptography==46.0.2; extra == "frozen"
|
|
136
137
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
137
138
|
Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
138
139
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
139
140
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
140
141
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
141
|
-
Requires-Dist: dkist-processing-common==11.
|
|
142
|
-
Requires-Dist: dkist-processing-core==
|
|
142
|
+
Requires-Dist: dkist-processing-common==11.7.0; extra == "frozen"
|
|
143
|
+
Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
|
|
143
144
|
Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
|
|
144
145
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
145
|
-
Requires-Dist: dkist-processing-vbi==1.
|
|
146
|
-
Requires-Dist: dkist-service-configuration==
|
|
146
|
+
Requires-Dist: dkist-processing-vbi==1.25.1; extra == "frozen"
|
|
147
|
+
Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
|
|
147
148
|
Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
|
|
148
149
|
Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
|
|
149
150
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
150
|
-
Requires-Dist: ecs-logging==2.2.0; extra == "frozen"
|
|
151
|
-
Requires-Dist: elastic-apm==6.24.0; extra == "frozen"
|
|
152
151
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
153
152
|
Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
154
153
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
155
|
-
Requires-Dist: fonttools==4.60.
|
|
156
|
-
Requires-Dist: frozenlist==1.
|
|
154
|
+
Requires-Dist: fonttools==4.60.1; extra == "frozen"
|
|
155
|
+
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
157
156
|
Requires-Dist: fsspec==2025.9.0; extra == "frozen"
|
|
158
|
-
Requires-Dist: globus-sdk==3.
|
|
157
|
+
Requires-Dist: globus-sdk==3.65.0; extra == "frozen"
|
|
159
158
|
Requires-Dist: google-re2==1.1.20250805; extra == "frozen"
|
|
160
159
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
|
|
161
160
|
Requires-Dist: gqlclient==1.2.3; extra == "frozen"
|
|
162
|
-
Requires-Dist:
|
|
161
|
+
Requires-Dist: greenlet==3.2.4; extra == "frozen"
|
|
162
|
+
Requires-Dist: grpcio==1.75.1; extra == "frozen"
|
|
163
163
|
Requires-Dist: gunicorn==23.0.0; extra == "frozen"
|
|
164
164
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
165
165
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
@@ -179,7 +179,7 @@ Requires-Dist: kiwisolver==1.4.9; extra == "frozen"
|
|
|
179
179
|
Requires-Dist: kombu==5.5.4; extra == "frozen"
|
|
180
180
|
Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
|
|
181
181
|
Requires-Dist: lazy_loader==0.4; extra == "frozen"
|
|
182
|
-
Requires-Dist: limits==5.
|
|
182
|
+
Requires-Dist: limits==5.6.0; extra == "frozen"
|
|
183
183
|
Requires-Dist: linkify-it-py==2.0.3; extra == "frozen"
|
|
184
184
|
Requires-Dist: lmfit==1.3.4; extra == "frozen"
|
|
185
185
|
Requires-Dist: lockfile==0.12.2; extra == "frozen"
|
|
@@ -188,13 +188,13 @@ Requires-Dist: markdown-it-py==4.0.0; extra == "frozen"
|
|
|
188
188
|
Requires-Dist: marshmallow==3.26.1; extra == "frozen"
|
|
189
189
|
Requires-Dist: marshmallow-oneofschema==3.2.0; extra == "frozen"
|
|
190
190
|
Requires-Dist: marshmallow-sqlalchemy==0.28.2; extra == "frozen"
|
|
191
|
-
Requires-Dist: matplotlib==3.10.
|
|
191
|
+
Requires-Dist: matplotlib==3.10.7; extra == "frozen"
|
|
192
192
|
Requires-Dist: mdit-py-plugins==0.5.0; extra == "frozen"
|
|
193
193
|
Requires-Dist: mdurl==0.1.2; extra == "frozen"
|
|
194
194
|
Requires-Dist: methodtools==0.4.7; extra == "frozen"
|
|
195
195
|
Requires-Dist: more-itertools==10.8.0; extra == "frozen"
|
|
196
196
|
Requires-Dist: moviepy==2.1.2; extra == "frozen"
|
|
197
|
-
Requires-Dist: multidict==6.
|
|
197
|
+
Requires-Dist: multidict==6.7.0; extra == "frozen"
|
|
198
198
|
Requires-Dist: nbformat==5.10.4; extra == "frozen"
|
|
199
199
|
Requires-Dist: networkx==3.5; extra == "frozen"
|
|
200
200
|
Requires-Dist: numpy==2.2.5; extra == "frozen"
|
|
@@ -204,35 +204,52 @@ Requires-Dist: opentelemetry-exporter-otlp==1.37.0; extra == "frozen"
|
|
|
204
204
|
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.37.0; extra == "frozen"
|
|
205
205
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.37.0; extra == "frozen"
|
|
206
206
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.37.0; extra == "frozen"
|
|
207
|
+
Requires-Dist: opentelemetry-instrumentation==0.58b0; extra == "frozen"
|
|
208
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.58b0; extra == "frozen"
|
|
209
|
+
Requires-Dist: opentelemetry-instrumentation-asgi==0.58b0; extra == "frozen"
|
|
210
|
+
Requires-Dist: opentelemetry-instrumentation-botocore==0.58b0; extra == "frozen"
|
|
211
|
+
Requires-Dist: opentelemetry-instrumentation-celery==0.58b0; extra == "frozen"
|
|
212
|
+
Requires-Dist: opentelemetry-instrumentation-dbapi==0.58b0; extra == "frozen"
|
|
213
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.58b0; extra == "frozen"
|
|
214
|
+
Requires-Dist: opentelemetry-instrumentation-pika==0.58b0; extra == "frozen"
|
|
215
|
+
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.58b0; extra == "frozen"
|
|
216
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo==0.58b0; extra == "frozen"
|
|
217
|
+
Requires-Dist: opentelemetry-instrumentation-redis==0.58b0; extra == "frozen"
|
|
218
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.58b0; extra == "frozen"
|
|
219
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.58b0; extra == "frozen"
|
|
220
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.58b0; extra == "frozen"
|
|
221
|
+
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
|
|
207
222
|
Requires-Dist: opentelemetry-proto==1.37.0; extra == "frozen"
|
|
208
223
|
Requires-Dist: opentelemetry-sdk==1.37.0; extra == "frozen"
|
|
209
224
|
Requires-Dist: opentelemetry-semantic-conventions==0.58b0; extra == "frozen"
|
|
225
|
+
Requires-Dist: opentelemetry-util-http==0.58b0; extra == "frozen"
|
|
210
226
|
Requires-Dist: ordered-set==4.1.0; extra == "frozen"
|
|
211
227
|
Requires-Dist: packaging==25.0; extra == "frozen"
|
|
212
|
-
Requires-Dist: pandas==2.3.
|
|
228
|
+
Requires-Dist: pandas==2.3.3; extra == "frozen"
|
|
213
229
|
Requires-Dist: parfive==2.2.0; extra == "frozen"
|
|
230
|
+
Requires-Dist: pathlib_abc==0.5.1; extra == "frozen"
|
|
214
231
|
Requires-Dist: pathspec==0.12.1; extra == "frozen"
|
|
215
232
|
Requires-Dist: pendulum==3.1.0; extra == "frozen"
|
|
216
233
|
Requires-Dist: pika==1.3.2; extra == "frozen"
|
|
217
234
|
Requires-Dist: pillow==10.4.0; extra == "frozen"
|
|
218
235
|
Requires-Dist: pip==25.2; extra == "frozen"
|
|
219
|
-
Requires-Dist: platformdirs==4.
|
|
236
|
+
Requires-Dist: platformdirs==4.5.0; extra == "frozen"
|
|
220
237
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
221
238
|
Requires-Dist: pooch==1.8.2; extra == "frozen"
|
|
222
239
|
Requires-Dist: prison==0.2.1; extra == "frozen"
|
|
223
240
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
224
|
-
Requires-Dist: prometheus_client==0.
|
|
241
|
+
Requires-Dist: prometheus_client==0.23.1; extra == "frozen"
|
|
225
242
|
Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
|
|
226
|
-
Requires-Dist: propcache==0.
|
|
243
|
+
Requires-Dist: propcache==0.4.1; extra == "frozen"
|
|
227
244
|
Requires-Dist: protobuf==6.32.1; extra == "frozen"
|
|
228
|
-
Requires-Dist: psutil==7.
|
|
245
|
+
Requires-Dist: psutil==7.1.0; extra == "frozen"
|
|
229
246
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "frozen"
|
|
230
247
|
Requires-Dist: pycparser==2.23; extra == "frozen"
|
|
231
|
-
Requires-Dist: pydantic==2.
|
|
232
|
-
Requires-Dist: pydantic-settings==2.
|
|
233
|
-
Requires-Dist: pydantic_core==2.
|
|
248
|
+
Requires-Dist: pydantic==2.12.0; extra == "frozen"
|
|
249
|
+
Requires-Dist: pydantic-settings==2.11.0; extra == "frozen"
|
|
250
|
+
Requires-Dist: pydantic_core==2.41.1; extra == "frozen"
|
|
234
251
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
235
|
-
Requires-Dist: pyparsing==3.2.
|
|
252
|
+
Requires-Dist: pyparsing==3.2.5; extra == "frozen"
|
|
236
253
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
237
254
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
238
255
|
Requires-Dist: python-dotenv==1.1.1; extra == "frozen"
|
|
@@ -244,7 +261,7 @@ Requires-Dist: referencing==0.36.2; extra == "frozen"
|
|
|
244
261
|
Requires-Dist: requests==2.32.5; extra == "frozen"
|
|
245
262
|
Requires-Dist: requests-toolbelt==1.0.0; extra == "frozen"
|
|
246
263
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
247
|
-
Requires-Dist: rich==
|
|
264
|
+
Requires-Dist: rich==13.9.4; extra == "frozen"
|
|
248
265
|
Requires-Dist: rich-argparse==1.7.1; extra == "frozen"
|
|
249
266
|
Requires-Dist: rpds-py==0.27.1; extra == "frozen"
|
|
250
267
|
Requires-Dist: s3transfer==0.14.0; extra == "frozen"
|
|
@@ -263,24 +280,24 @@ Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
|
263
280
|
Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
264
281
|
Requires-Dist: termcolor==3.1.0; extra == "frozen"
|
|
265
282
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
266
|
-
Requires-Dist: tifffile==2025.
|
|
283
|
+
Requires-Dist: tifffile==2025.10.4; extra == "frozen"
|
|
267
284
|
Requires-Dist: tornado==6.5.2; extra == "frozen"
|
|
268
285
|
Requires-Dist: tqdm==4.67.1; extra == "frozen"
|
|
269
286
|
Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
270
|
-
Requires-Dist: typing-inspection==0.4.
|
|
287
|
+
Requires-Dist: typing-inspection==0.4.2; extra == "frozen"
|
|
271
288
|
Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
|
|
272
289
|
Requires-Dist: tzdata==2025.2; extra == "frozen"
|
|
273
290
|
Requires-Dist: uc-micro-py==1.0.3; extra == "frozen"
|
|
274
291
|
Requires-Dist: uncertainties==3.2.3; extra == "frozen"
|
|
275
|
-
Requires-Dist: universal_pathlib==0.
|
|
292
|
+
Requires-Dist: universal_pathlib==0.3.3; extra == "frozen"
|
|
276
293
|
Requires-Dist: urllib3==2.5.0; extra == "frozen"
|
|
277
294
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
278
295
|
Requires-Dist: voluptuous==0.15.2; extra == "frozen"
|
|
279
|
-
Requires-Dist: wcwidth==0.2.
|
|
296
|
+
Requires-Dist: wcwidth==0.2.14; extra == "frozen"
|
|
280
297
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
281
298
|
Requires-Dist: wrapt==1.17.3; extra == "frozen"
|
|
282
299
|
Requires-Dist: yamale==6.0.0; extra == "frozen"
|
|
283
|
-
Requires-Dist: yarl==1.
|
|
300
|
+
Requires-Dist: yarl==1.22.0; extra == "frozen"
|
|
284
301
|
Requires-Dist: zipp==3.23.0; extra == "frozen"
|
|
285
302
|
|
|
286
303
|
dkist-processing-vbi
|
|
@@ -299,7 +316,81 @@ in their own package facilitates using the build_utils to test the integrity of
|
|
|
299
316
|
|
|
300
317
|
Environment Variables
|
|
301
318
|
---------------------
|
|
302
|
-
|
|
319
|
+
|
|
320
|
+
.. list-table::
|
|
321
|
+
:widths: 10 90
|
|
322
|
+
:header-rows: 1
|
|
323
|
+
|
|
324
|
+
* - Variable
|
|
325
|
+
- Field Info
|
|
326
|
+
* - LOGURU_LEVEL
|
|
327
|
+
- annotation=str required=False default='INFO' alias_priority=2 validation_alias='LOGURU_LEVEL' description='Log level for the application'
|
|
328
|
+
* - MESH_CONFIG
|
|
329
|
+
- 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}}]
|
|
330
|
+
* - RETRY_CONFIG
|
|
331
|
+
- annotation=RetryConfig required=False default_factory=RetryConfig description='Retry configuration for the service'
|
|
332
|
+
* - OTEL_SERVICE_NAME
|
|
333
|
+
- annotation=str required=False default='unknown-service-name' alias_priority=2 validation_alias='OTEL_SERVICE_NAME' description='Service name for OpenTelemetry'
|
|
334
|
+
* - DKIST_SERVICE_VERSION
|
|
335
|
+
- annotation=str required=False default='unknown-service-version' alias_priority=2 validation_alias='DKIST_SERVICE_VERSION' description='Service version for OpenTelemetry'
|
|
336
|
+
* - NOMAD_ALLOC_ID
|
|
337
|
+
- annotation=str required=False default='unknown-allocation-id' alias_priority=2 validation_alias='NOMAD_ALLOC_ID' description='Nomad allocation ID for OpenTelemetry'
|
|
338
|
+
* - OTEL_EXPORTER_OTLP_TRACES_INSECURE
|
|
339
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP traces'
|
|
340
|
+
* - OTEL_EXPORTER_OTLP_METRICS_INSECURE
|
|
341
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP metrics'
|
|
342
|
+
* - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
343
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP traces endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
344
|
+
* - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
345
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP metrics endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
346
|
+
* - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
|
|
347
|
+
- 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']]
|
|
348
|
+
* - OTEL_PYTHON_FASTAPI_EXCLUDED_URLS
|
|
349
|
+
- annotation=str required=False default='health' description='Comma separated list of URLs to exclude from OpenTelemetry instrumentation in FastAPI.' examples=['client/.*/info,healthcheck']
|
|
350
|
+
* - SYSTEM_METRIC_INSTRUMENTATION_CONFIG
|
|
351
|
+
- 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']}]
|
|
352
|
+
* - ISB_USERNAME
|
|
353
|
+
- annotation=str required=False default='guest' description='Username for the interservice-bus.'
|
|
354
|
+
* - ISB_PASSWORD
|
|
355
|
+
- annotation=str required=False default='guest' description='Password for the interservice-bus.'
|
|
356
|
+
* - ISB_EXCHANGE
|
|
357
|
+
- annotation=str required=False default='master.direct.x' description='Exchange for the interservice-bus.'
|
|
358
|
+
* - ISB_QUEUE_TYPE
|
|
359
|
+
- annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
|
|
360
|
+
* - BUILD_VERSION
|
|
361
|
+
- annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
|
|
362
|
+
* - GQL_AUTH_TOKEN
|
|
363
|
+
- annotation=Union[str, NoneType] required=False default='dev' description='The auth token for the metadata-store-api.'
|
|
364
|
+
* - OBJECT_STORE_ACCESS_KEY
|
|
365
|
+
- annotation=Union[str, NoneType] required=False default=None description='The access key for the object store.'
|
|
366
|
+
* - OBJECT_STORE_SECRET_KEY
|
|
367
|
+
- annotation=Union[str, NoneType] required=False default=None description='The secret key for the object store.'
|
|
368
|
+
* - OBJECT_STORE_USE_SSL
|
|
369
|
+
- annotation=bool required=False default=False description='Whether to use SSL for the object store connection.'
|
|
370
|
+
* - MULTIPART_THRESHOLD
|
|
371
|
+
- annotation=Union[int, NoneType] required=False default=None description='Multipart threshold for the object store.'
|
|
372
|
+
* - S3_CLIENT_CONFIG
|
|
373
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 client configuration for the object store.'
|
|
374
|
+
* - S3_UPLOAD_CONFIG
|
|
375
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 upload configuration for the object store.'
|
|
376
|
+
* - S3_DOWNLOAD_CONFIG
|
|
377
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 download configuration for the object store.'
|
|
378
|
+
* - GLOBUS_TRANSPORT_PARAMS
|
|
379
|
+
- annotation=dict required=False default_factory=dict description='Globus transfer parameters.'
|
|
380
|
+
* - GLOBUS_CLIENT_ID
|
|
381
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client ID for inbound/outbound transfers.'
|
|
382
|
+
* - GLOBUS_CLIENT_SECRET
|
|
383
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client secret for inbound/outbound transfers.'
|
|
384
|
+
* - OBJECT_STORE_ENDPOINT
|
|
385
|
+
- annotation=Union[str, NoneType] required=False default=None description='Object store Globus Endpoint ID.'
|
|
386
|
+
* - SCRATCH_ENDPOINT
|
|
387
|
+
- annotation=Union[str, NoneType] required=False default=None description='Scratch Globus Endpoint ID.'
|
|
388
|
+
* - SCRATCH_BASE_PATH
|
|
389
|
+
- annotation=str required=False default='scratch/' description='Base path for scratch storage.'
|
|
390
|
+
* - SCRATCH_INVENTORY_DB_COUNT
|
|
391
|
+
- annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
|
|
392
|
+
* - DOCS_BASE_URL
|
|
393
|
+
- annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
|
|
303
394
|
|
|
304
395
|
Development
|
|
305
396
|
-----------
|
|
@@ -14,7 +14,81 @@ 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.'
|
|
18
92
|
|
|
19
93
|
Development
|
|
20
94
|
-----------
|
{dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/dark.py
RENAMED
|
@@ -47,7 +47,7 @@ class DarkCalibration(VbiTaskBase, QualityMixin):
|
|
|
47
47
|
set(self.constants.gain_exposure_times + self.constants.observe_exposure_times)
|
|
48
48
|
)
|
|
49
49
|
logger.info(f"{target_exp_times = }")
|
|
50
|
-
with self.
|
|
50
|
+
with self.telemetry_span(
|
|
51
51
|
f"Calculating dark frames for {self.constants.num_spatial_steps} steps and {len(target_exp_times)} exp times",
|
|
52
52
|
):
|
|
53
53
|
total_dark_frames_used = 0
|
|
@@ -68,16 +68,14 @@ class DarkCalibration(VbiTaskBase, QualityMixin):
|
|
|
68
68
|
auto_squeeze=False,
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
-
with self.
|
|
72
|
-
f"Processing dark for {step = } and {exp_time = }"
|
|
73
|
-
):
|
|
71
|
+
with self.telemetry_span(f"Processing dark for {step = } and {exp_time = }"):
|
|
74
72
|
logger.info(f"averaging arrays for step {step}")
|
|
75
73
|
averaged_dark_array = average_numpy_arrays(input_dark_arrays)
|
|
76
74
|
logger.info(
|
|
77
75
|
f"average dark signal in step {step} = {averaged_dark_array.mean():.3e}"
|
|
78
76
|
)
|
|
79
77
|
|
|
80
|
-
with self.
|
|
78
|
+
with self.telemetry_span(
|
|
81
79
|
f"Writing intermediate dark for {step = } and {exp_time = }",
|
|
82
80
|
):
|
|
83
81
|
self.write(
|
|
@@ -89,7 +87,7 @@ class DarkCalibration(VbiTaskBase, QualityMixin):
|
|
|
89
87
|
encoder=fits_array_encoder,
|
|
90
88
|
)
|
|
91
89
|
|
|
92
|
-
with self.
|
|
90
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
93
91
|
no_of_raw_dark_frames: int = self.count(tags=[VbiTag.input(), VbiTag.task_dark_frame()])
|
|
94
92
|
unused_count = no_of_raw_dark_frames - total_dark_frames_used
|
|
95
93
|
self.quality_store_task_type_counts(
|
{dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/gain.py
RENAMED
|
@@ -53,7 +53,7 @@ class GainCalibration(VbiTaskBase, QualityMixin):
|
|
|
53
53
|
# This is OK (tm) because this will be, at most, 9 4k x 4k arrays. This is a lot (~1G), but not too much.
|
|
54
54
|
step_gain_dict: dict = {}
|
|
55
55
|
|
|
56
|
-
with self.
|
|
56
|
+
with self.telemetry_span(
|
|
57
57
|
f"Collecting and reducing gain arrays from {self.constants.num_spatial_steps} steps and {len(self.constants.gain_exposure_times)} exp times",
|
|
58
58
|
):
|
|
59
59
|
for exp_time in self.constants.gain_exposure_times:
|
|
@@ -100,13 +100,13 @@ class GainCalibration(VbiTaskBase, QualityMixin):
|
|
|
100
100
|
self.total_counts += np.nansum(dark_subtracted_gain_array)
|
|
101
101
|
step_gain_dict[step] = dark_subtracted_gain_array
|
|
102
102
|
|
|
103
|
-
with self.
|
|
103
|
+
with self.telemetry_span("normalizing gain arrays"):
|
|
104
104
|
normalized_array_dict = self.normalize_fov(step_gain_dict)
|
|
105
105
|
|
|
106
|
-
with self.
|
|
106
|
+
with self.telemetry_span("writing gain arrays to disk"):
|
|
107
107
|
self.write_gain_calibration(normalized_array_dict)
|
|
108
108
|
|
|
109
|
-
with self.
|
|
109
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
110
110
|
no_of_raw_gain_frames: int = self.count(
|
|
111
111
|
tags=[
|
|
112
112
|
VbiTag.input(),
|
|
@@ -44,15 +44,15 @@ class MakeVbiMovieFrames(VbiTaskBase):
|
|
|
44
44
|
None
|
|
45
45
|
|
|
46
46
|
"""
|
|
47
|
-
with self.
|
|
47
|
+
with self.telemetry_span("averaging exposures"):
|
|
48
48
|
self.average_all_exposures()
|
|
49
49
|
|
|
50
|
-
with self.
|
|
50
|
+
with self.telemetry_span("stitching full FOV frames"):
|
|
51
51
|
for mosaic in range(1, self.constants.num_mosaic_repeats + 1):
|
|
52
52
|
logger.info(f"stitching full FOV for mosaic repeat {mosaic}")
|
|
53
53
|
output_hdl = self.stitch_single_mosaic_repeat(mosaic)
|
|
54
54
|
|
|
55
|
-
with self.
|
|
55
|
+
with self.telemetry_span(
|
|
56
56
|
f"writing stitched movie frame for mosaic repeat {mosaic}"
|
|
57
57
|
):
|
|
58
58
|
self.write(
|
|
@@ -145,9 +145,7 @@ class MakeVbiMovieFrames(VbiTaskBase):
|
|
|
145
145
|
output = np.zeros((size_y, size_x))
|
|
146
146
|
px_count = np.zeros((size_y, size_x))
|
|
147
147
|
|
|
148
|
-
with self.
|
|
149
|
-
f"stitching all camera positions together for {mosaic_repeat=}"
|
|
150
|
-
):
|
|
148
|
+
with self.telemetry_span(f"stitching all camera positions together for {mosaic_repeat=}"):
|
|
151
149
|
for o in all_step_access:
|
|
152
150
|
logger.info(f"Placing position {o.current_spatial_step} into full frame")
|
|
153
151
|
self.place_pos_in_full_fov(o, ref_header, output, px_count)
|
|
@@ -34,7 +34,7 @@ class GenerateL1SummitData(VbiTaskBase):
|
|
|
34
34
|
- Write out
|
|
35
35
|
"""
|
|
36
36
|
# This loop is how we ensure that only completed mosaics get processed.
|
|
37
|
-
with self.
|
|
37
|
+
with self.telemetry_span("Re-tagging INPUT observe frames as CALIBRATED"):
|
|
38
38
|
for mosaic in range(1, self.constants.num_mosaic_repeats + 1):
|
|
39
39
|
for step in range(1, self.constants.num_spatial_steps + 1):
|
|
40
40
|
for file_name in self.read(
|
|
@@ -62,10 +62,10 @@ class VbiQualityL1Metrics(VbiTaskBase, QualityMixin):
|
|
|
62
62
|
)
|
|
63
63
|
datetimes = []
|
|
64
64
|
noise_values = []
|
|
65
|
-
with self.
|
|
65
|
+
with self.telemetry_span("Calculating VBI L1 quality metrics"):
|
|
66
66
|
for frame in frames:
|
|
67
67
|
datetimes.append(frame.time_obs)
|
|
68
68
|
noise_values.append(self.avg_noise(frame.data))
|
|
69
69
|
|
|
70
|
-
with self.
|
|
70
|
+
with self.telemetry_span("Sending lists for storage"):
|
|
71
71
|
self.quality_store_noise(datetimes=datetimes, values=noise_values)
|
{dkist_processing_vbi-1.24.1 → dkist_processing_vbi-1.25.1}/dkist_processing_vbi/tasks/science.py
RENAMED
|
@@ -49,7 +49,7 @@ class ScienceCalibration(VbiTaskBase, QualityMixin):
|
|
|
49
49
|
logger.info(
|
|
50
50
|
f"Starting science with {self.constants.num_spatial_steps} steps and {self.constants.num_mosaic_repeats} mosaic repeats"
|
|
51
51
|
)
|
|
52
|
-
with self.
|
|
52
|
+
with self.telemetry_span(
|
|
53
53
|
f"Reducing science frames from {self.constants.num_spatial_steps} steps and {self.constants.num_mosaic_repeats} mosaic repeats",
|
|
54
54
|
):
|
|
55
55
|
for exp_time in self.constants.observe_exposure_times:
|
|
@@ -89,7 +89,7 @@ class ScienceCalibration(VbiTaskBase, QualityMixin):
|
|
|
89
89
|
auto_squeeze=False,
|
|
90
90
|
)
|
|
91
91
|
|
|
92
|
-
with self.
|
|
92
|
+
with self.telemetry_span("dark and gain corrections"):
|
|
93
93
|
logger.info(f"subtracting dark from {apm_str}")
|
|
94
94
|
sci_access = subtract_array_from_fits_access(
|
|
95
95
|
access_objs=sci_access, array_to_subtract=dark_calibration_array
|
|
@@ -100,13 +100,13 @@ class ScienceCalibration(VbiTaskBase, QualityMixin):
|
|
|
100
100
|
access_objs=sci_access, array_to_divide_by=gain_calibration_array
|
|
101
101
|
)
|
|
102
102
|
|
|
103
|
-
with self.
|
|
103
|
+
with self.telemetry_span("writing calibrated science frames"):
|
|
104
104
|
for i, access_obj in enumerate(sci_access):
|
|
105
105
|
exp_num = access_obj.current_mosaic_step_exp
|
|
106
106
|
logger.info(f"Writing output for {apm_str} and {exp_num = }")
|
|
107
107
|
self.write_calibrated_fits_obj(access_obj, mosaic, step)
|
|
108
108
|
|
|
109
|
-
with self.
|
|
109
|
+
with self.telemetry_span("Computing and logging quality metrics"):
|
|
110
110
|
no_of_raw_obs_frames: int = self.count(
|
|
111
111
|
tags=[
|
|
112
112
|
VbiTag.input(),
|