dkist-processing-core 7.0.2__tar.gz → 7.1.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.
Files changed (52) hide show
  1. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/.snyk +0 -1
  2. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/CHANGELOG.rst +17 -0
  3. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/PKG-INFO +7 -3
  4. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/README.rst +4 -0
  5. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/build_utils.py +1 -1
  6. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/config.py +6 -0
  7. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/node.py +2 -0
  8. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core.egg-info/PKG-INFO +7 -3
  9. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core.egg-info/requires.txt +2 -2
  10. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/pyproject.toml +4 -4
  11. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/.gitignore +0 -0
  12. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/.pre-commit-config.yaml +0 -0
  13. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/.readthedocs.yml +0 -0
  14. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/bitbucket-pipelines.yml +0 -0
  15. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/changelog/.gitempty +0 -0
  16. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/__init__.py +0 -0
  17. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/failure_callback.py +0 -0
  18. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/resource_queue.py +0 -0
  19. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/task.py +0 -0
  20. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/__init__.py +0 -0
  21. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/conftest.py +0 -0
  22. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/invalid_workflow_cyclic/__init__.py +0 -0
  23. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/invalid_workflow_cyclic/workflow.py +0 -0
  24. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/__init__.py +0 -0
  25. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/workflow.py +0 -0
  26. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/task_example.py +0 -0
  27. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_build_utils.py +0 -0
  28. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_export.py +0 -0
  29. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_failure_callback.py +0 -0
  30. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_node.py +0 -0
  31. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_task.py +0 -0
  32. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/test_workflow.py +0 -0
  33. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/valid_workflow_package/__init__.py +0 -0
  34. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/valid_workflow_package/workflow.py +0 -0
  35. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/zero_node_workflow_package/__init__.py +0 -0
  36. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/tests/zero_node_workflow_package/workflow.py +0 -0
  37. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core/workflow.py +0 -0
  38. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core.egg-info/SOURCES.txt +0 -0
  39. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core.egg-info/dependency_links.txt +0 -0
  40. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/dkist_processing_core.egg-info/top_level.txt +0 -0
  41. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/Makefile +0 -0
  42. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/auto-proc-concept-model.png +0 -0
  43. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/auto_proc_brick.png +0 -0
  44. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/automated-processing-deployed.png +0 -0
  45. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/changelog.rst +0 -0
  46. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/conf.py +0 -0
  47. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/index.rst +0 -0
  48. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/landing_page.rst +0 -0
  49. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/make.bat +0 -0
  50. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/docs/requirements.txt +0 -0
  51. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/licenses/LICENSE.rst +0 -0
  52. {dkist_processing_core-7.0.2 → dkist_processing_core-7.1.0}/setup.cfg +0 -0
@@ -1,3 +1,2 @@
1
1
  # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities
2
2
  # https://docs.snyk.io/manage-risk/policies/the-.snyk-file#syntax-of-the-.snyk-file
3
- version: v1.25.0
@@ -1,3 +1,20 @@
1
+ v7.1.0 (2026-04-01)
2
+ ===================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Capture pip timeout and retry configuration in the build environment. (`#63 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/63>`__)
8
+ - Configure the pool attribute on BashOperators in exported Airflow DAGs, simplifying resource management by unifying the previously separate queue and pool concepts. (`#64 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/64>`__)
9
+ - Log common configuration when importing the "config.py" module, and ensure that module's import at the top of the `task`
10
+ package. This also involved updating `dkist_service_configuration` to 4.3.0 for new argument to `log_configurations`. (`#65 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/65>`__)
11
+ - Temporarily ignore new Snyk critical vulnerability in apache-airflow-core 3.1.7 causing pipeline failures; upgrade to 3.1.8 planned for mid-April. (`#66 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/66>`__)
12
+ - Use the jupyter lab interface when running the manual processing worker notebooks. (`#67 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/67>`__)
13
+ - Exclude "build*" from `setuptools` package finding to avoid infinitely nesting "build/lib/build..." directories when running `pip install` multiple times. (`#68 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/68>`__)
14
+ - Upgrade to airflow 3.1.8. (`#69 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/69>`__)
15
+ - Remove Snyk ignore of patched critical vulnerability in apache-airflow-core 3.1.7. (`#69 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/69>`__)
16
+
17
+
1
18
  v7.0.2 (2026-02-12)
2
19
  ===================
3
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-core
3
- Version: 7.0.2
3
+ Version: 7.1.0
4
4
  Summary: Abstraction layer used by the DKIST science data processing pipelines with Apache Airflow
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -13,12 +13,12 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/x-rst
16
- Requires-Dist: apache-airflow[celery,postgres]==3.1.7
16
+ Requires-Dist: apache-airflow[celery,postgres]==3.1.8
17
17
  Requires-Dist: requests>=2.23
18
18
  Requires-Dist: talus<2.0,>=1.3.4
19
19
  Requires-Dist: pendulum
20
20
  Requires-Dist: nbformat>=5.9.2
21
- Requires-Dist: dkist-service-configuration<5.0,>=4.2.0
21
+ Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
22
22
  Requires-Dist: pydantic>2.0
23
23
  Provides-Extra: test
24
24
  Requires-Dist: pytest; extra == "test"
@@ -172,6 +172,10 @@ Environment Variables
172
172
  - annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
173
173
  * - BUILD_VERSION
174
174
  - annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
175
+ * - PIP_TIMEOUT
176
+ - annotation=int required=False default=15 description='Timeout for pip installs in seconds.'
177
+ * - PIP_RETRIES
178
+ - annotation=int required=False default=5 description='Number of retries for pip installs.'
175
179
 
176
180
  Development
177
181
  -----------
@@ -131,6 +131,10 @@ Environment Variables
131
131
  - annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
132
132
  * - BUILD_VERSION
133
133
  - annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
134
+ * - PIP_TIMEOUT
135
+ - annotation=int required=False default=15 description='Timeout for pip installs in seconds.'
136
+ * - PIP_RETRIES
137
+ - annotation=int required=False default=5 description='Number of retries for pip installs.'
134
138
 
135
139
  Development
136
140
  -----------
@@ -135,5 +135,5 @@ class NotebookDockerfile:
135
135
  port = 8888
136
136
  return [
137
137
  f"EXPOSE {port}",
138
- f"CMD jupyter notebook --NotebookApp.allow_root=True --NotebookApp.base_url='/mpw-{self.category}/' --NotebookApp.ip='0.0.0.0' --NotebookApp.port={port} --MappingKernelManager.cull_idle_timeout=300 --notebook-dir=/notebooks --allow-root",
138
+ f"CMD jupyter lab --NotebookApp.allow_root=True --NotebookApp.base_url='/mpw-{self.category}/' --NotebookApp.ip='0.0.0.0' --NotebookApp.port={port} --MappingKernelManager.cull_idle_timeout=300 --notebook-dir=/notebooks --allow-root",
139
139
  ]
@@ -25,6 +25,8 @@ class DKISTProcessingCoreConfiguration(InstrumentedMeshServiceConfigurationBase)
25
25
  build_version: str = Field(
26
26
  default="dev", description="Fallback build version for workflow tasks."
27
27
  )
28
+ pip_timeout: int = Field(default=15, description="Timeout for pip installs in seconds.")
29
+ pip_retries: int = Field(default=5, description="Number of retries for pip installs.")
28
30
 
29
31
  @property
30
32
  def isb_mesh_service(self) -> MeshService:
@@ -78,5 +80,9 @@ class DKISTProcessingCoreConfiguration(InstrumentedMeshServiceConfigurationBase)
78
80
  return new
79
81
 
80
82
 
83
+ # Ensure logging is configured
84
+ import dkist_service_configuration.logging
85
+
81
86
  core_configurations = DKISTProcessingCoreConfiguration()
82
87
  core_configurations.auto_instrument()
88
+ core_configurations.log_configurations(log_parent_configurations=True)
@@ -42,6 +42,7 @@ class Node:
42
42
  self.workflow_package = workflow_package
43
43
  self.upstreams = upstreams
44
44
  self.resource_queue = resource_queue
45
+ self.pool = f"{resource_queue.value}_pool"
45
46
  self.pip_extras = ["frozen"] + (pip_extras or [])
46
47
 
47
48
  @property
@@ -81,6 +82,7 @@ class Node:
81
82
  ),
82
83
  owner="DKIST Data Center",
83
84
  queue="{self.resource_queue.value}",
85
+ pool="{self.pool}",
84
86
  output_processor=str,
85
87
  )
86
88
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-core
3
- Version: 7.0.2
3
+ Version: 7.1.0
4
4
  Summary: Abstraction layer used by the DKIST science data processing pipelines with Apache Airflow
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -13,12 +13,12 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.13
14
14
  Requires-Python: >=3.13
15
15
  Description-Content-Type: text/x-rst
16
- Requires-Dist: apache-airflow[celery,postgres]==3.1.7
16
+ Requires-Dist: apache-airflow[celery,postgres]==3.1.8
17
17
  Requires-Dist: requests>=2.23
18
18
  Requires-Dist: talus<2.0,>=1.3.4
19
19
  Requires-Dist: pendulum
20
20
  Requires-Dist: nbformat>=5.9.2
21
- Requires-Dist: dkist-service-configuration<5.0,>=4.2.0
21
+ Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
22
22
  Requires-Dist: pydantic>2.0
23
23
  Provides-Extra: test
24
24
  Requires-Dist: pytest; extra == "test"
@@ -172,6 +172,10 @@ Environment Variables
172
172
  - annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
173
173
  * - BUILD_VERSION
174
174
  - annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
175
+ * - PIP_TIMEOUT
176
+ - annotation=int required=False default=15 description='Timeout for pip installs in seconds.'
177
+ * - PIP_RETRIES
178
+ - annotation=int required=False default=5 description='Number of retries for pip installs.'
175
179
 
176
180
  Development
177
181
  -----------
@@ -1,9 +1,9 @@
1
- apache-airflow[celery,postgres]==3.1.7
1
+ apache-airflow[celery,postgres]==3.1.8
2
2
  requests>=2.23
3
3
  talus<2.0,>=1.3.4
4
4
  pendulum
5
5
  nbformat>=5.9.2
6
- dkist-service-configuration<5.0,>=4.2.0
6
+ dkist-service-configuration<5.0,>=4.3.0
7
7
  pydantic>2.0
8
8
 
9
9
  [docs]
@@ -2,8 +2,8 @@
2
2
  requires = ["setuptools>=64", "setuptools_scm>=8", "wheel", "build"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
- [tool.setuptools.packages]
6
- find = {}
5
+ [tool.setuptools.packages.find]
6
+ exclude = ["build*"]
7
7
 
8
8
  [tool.setuptools_scm]
9
9
 
@@ -21,12 +21,12 @@ classifiers = [
21
21
  "Programming Language :: Python :: 3.13",
22
22
  ]
23
23
  dependencies = [
24
- "apache-airflow[postgres, celery] == 3.1.7",
24
+ "apache-airflow[postgres, celery] == 3.1.8",
25
25
  "requests >= 2.23",
26
26
  "talus >= 1.3.4, <2.0",
27
27
  "pendulum",
28
28
  "nbformat >= 5.9.2",
29
- "dkist-service-configuration >=4.2.0, <5.0",
29
+ "dkist-service-configuration >=4.3.0, <5.0",
30
30
  "pydantic > 2.0",
31
31
  ]
32
32