dkist-processing-core 5.1.1__tar.gz → 5.2.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_core-5.1.1 → dkist_processing_core-5.2.0}/.pre-commit-config.yaml +6 -6
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/CHANGELOG.rst +10 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/PKG-INFO +4 -4
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/bitbucket-pipelines.yml +1 -1
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/__init__.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/build_utils.py +2 -2
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/config.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/failure_callback.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/node.py +3 -2
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/resource_queue.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/conftest.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/workflow.py +2 -2
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/task_example.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_build_utils.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_export.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_failure_callback.py +2 -1
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_node.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_task.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_workflow.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/valid_workflow_package/workflow.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/zero_node_workflow_package/workflow.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/workflow.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/PKG-INFO +4 -4
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/requires.txt +1 -1
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/conf.py +1 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/pyproject.toml +12 -3
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/.gitignore +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/.readthedocs.yml +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/.snyk +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/README.rst +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/changelog/.gitempty +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/task.py +1 -1
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/__init__.py +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_cyclic/__init__.py +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_cyclic/workflow.py +1 -1
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/__init__.py +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/valid_workflow_package/__init__.py +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/zero_node_workflow_package/__init__.py +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/SOURCES.txt +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/dependency_links.txt +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/top_level.txt +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/Makefile +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/auto-proc-concept-model.png +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/auto_proc_brick.png +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/automated-processing-deployed.png +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/changelog.rst +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/index.rst +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/landing_page.rst +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/make.bat +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/requirements.txt +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/licenses/LICENSE.rst +0 -0
- {dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/setup.cfg +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# See https://pre-commit.com/hooks.html for more hooks
|
|
3
3
|
repos:
|
|
4
4
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
5
|
-
rev:
|
|
5
|
+
rev: v5.0.0
|
|
6
6
|
hooks:
|
|
7
7
|
- id: trailing-whitespace
|
|
8
8
|
- id: end-of-file-fixer
|
|
@@ -10,14 +10,14 @@ repos:
|
|
|
10
10
|
- id: check-added-large-files
|
|
11
11
|
- id: debug-statements
|
|
12
12
|
- repo: https://github.com/psf/black
|
|
13
|
-
rev:
|
|
13
|
+
rev: 25.1.0
|
|
14
14
|
hooks:
|
|
15
15
|
- id: black
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
rev: v2.3.5
|
|
16
|
+
- repo: https://github.com/pycqa/isort
|
|
17
|
+
rev: 5.12.0
|
|
19
18
|
hooks:
|
|
20
|
-
- id:
|
|
19
|
+
- id: isort
|
|
20
|
+
name: isort (python)
|
|
21
21
|
- repo: https://github.com/pycqa/pydocstyle
|
|
22
22
|
rev: 6.1.1 # pick a git hash / tag to point to
|
|
23
23
|
hooks:
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
v5.2.0 (2025-09-08)
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
Misc
|
|
5
|
+
----
|
|
6
|
+
|
|
7
|
+
- Update pre-commit hook versions and replace python-reorder-imports with isort. (`#54 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/54>`__)
|
|
8
|
+
- Update dependencies to airflow 2.11.0 and limit to python >=3.12. (`#55 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/55>`__)
|
|
9
|
+
|
|
10
|
+
|
|
1
11
|
v5.1.1 (2025-05-22)
|
|
2
12
|
===================
|
|
3
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-core
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.2.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
|
|
@@ -10,10 +10,10 @@ Project-URL: Documentation, https://docs.dkist.nso.edu/projects/core
|
|
|
10
10
|
Project-URL: Help, https://nso.atlassian.net/servicedesk/customer/portal/5
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.
|
|
14
|
-
Requires-Python: >=3.
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Requires-Python: >=3.12
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: apache-airflow[celery,postgres]==2.
|
|
16
|
+
Requires-Dist: apache-airflow[celery,postgres]==2.11.0
|
|
17
17
|
Requires-Dist: elastic-apm<7.0.0
|
|
18
18
|
Requires-Dist: requests>=2.23
|
|
19
19
|
Requires-Dist: talus<2.0,>=1.1.0
|
{dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/build_utils.py
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""Utilities for the build pipeline."""
|
|
2
|
+
|
|
2
3
|
import importlib
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from shutil import rmtree
|
|
@@ -6,7 +7,6 @@ from types import ModuleType
|
|
|
6
7
|
|
|
7
8
|
from dkist_processing_core import Workflow
|
|
8
9
|
|
|
9
|
-
|
|
10
10
|
__all__ = ["validate_workflows", "export_dags", "export_notebook_dockerfile", "export_notebooks"]
|
|
11
11
|
|
|
12
12
|
|
|
@@ -109,7 +109,7 @@ class NotebookDockerfile:
|
|
|
109
109
|
@property
|
|
110
110
|
def preamble(self) -> list[str]:
|
|
111
111
|
"""Dockerfile preamble lines."""
|
|
112
|
-
return ["FROM python:3.
|
|
112
|
+
return ["FROM python:3.12", "ENV LANG=C.UTF-8"]
|
|
113
113
|
|
|
114
114
|
@property
|
|
115
115
|
def setup(self) -> list[str]:
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"""Abstraction layer to construct a workflow node using and airflow operator."""
|
|
2
|
+
|
|
2
3
|
from collections.abc import Iterable
|
|
3
4
|
from typing import Type
|
|
4
5
|
|
|
@@ -7,7 +8,6 @@ from airflow.operators.bash import BashOperator
|
|
|
7
8
|
from dkist_processing_core.resource_queue import ResourceQueue
|
|
8
9
|
from dkist_processing_core.task import TaskBase
|
|
9
10
|
|
|
10
|
-
|
|
11
11
|
task_type_hint = Type[TaskBase]
|
|
12
12
|
upstreams_type_hint = list[task_type_hint] | task_type_hint | None
|
|
13
13
|
|
|
@@ -50,9 +50,10 @@ class Node:
|
|
|
50
50
|
def operator(self) -> BashOperator:
|
|
51
51
|
"""Native engine node."""
|
|
52
52
|
from datetime import timedelta
|
|
53
|
-
from dkist_processing_core.failure_callback import chat_ops_notification
|
|
54
53
|
from functools import partial
|
|
55
54
|
|
|
55
|
+
from dkist_processing_core.failure_callback import chat_ops_notification
|
|
56
|
+
|
|
56
57
|
return eval(self.operator_definition)
|
|
57
58
|
|
|
58
59
|
@property
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"""Test for the failure callback function."""
|
|
2
|
+
|
|
2
3
|
import pytest
|
|
3
4
|
from talus import DurableProducer
|
|
4
5
|
|
|
6
|
+
from dkist_processing_core.failure_callback import RecipeRunFailureMessage
|
|
5
7
|
from dkist_processing_core.failure_callback import chat_ops_notification
|
|
6
8
|
from dkist_processing_core.failure_callback import parse_dag_run_id_from_context
|
|
7
9
|
from dkist_processing_core.failure_callback import parse_log_url_from_context
|
|
8
10
|
from dkist_processing_core.failure_callback import recipe_run_failure_message_producer_factory
|
|
9
|
-
from dkist_processing_core.failure_callback import RecipeRunFailureMessage
|
|
10
11
|
|
|
11
12
|
|
|
12
13
|
@pytest.fixture()
|
{dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-core
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.2.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
|
|
@@ -10,10 +10,10 @@ Project-URL: Documentation, https://docs.dkist.nso.edu/projects/core
|
|
|
10
10
|
Project-URL: Help, https://nso.atlassian.net/servicedesk/customer/portal/5
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.
|
|
14
|
-
Requires-Python: >=3.
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Requires-Python: >=3.12
|
|
15
15
|
Description-Content-Type: text/x-rst
|
|
16
|
-
Requires-Dist: apache-airflow[celery,postgres]==2.
|
|
16
|
+
Requires-Dist: apache-airflow[celery,postgres]==2.11.0
|
|
17
17
|
Requires-Dist: elastic-apm<7.0.0
|
|
18
18
|
Requires-Dist: requests>=2.23
|
|
19
19
|
Requires-Dist: talus<2.0,>=1.1.0
|
|
@@ -10,7 +10,7 @@ find = {}
|
|
|
10
10
|
[project]
|
|
11
11
|
dynamic = ["version"]
|
|
12
12
|
name = "dkist-processing-core"
|
|
13
|
-
requires-python = ">=3.
|
|
13
|
+
requires-python = ">=3.12"
|
|
14
14
|
description = "Abstraction layer used by the DKIST science data processing pipelines with Apache Airflow"
|
|
15
15
|
readme = "README.rst"
|
|
16
16
|
authors = [ {name = "NSO / AURA", email = "dkistdc@nso.edu"} ]
|
|
@@ -18,10 +18,10 @@ license = {text = "BSD-3-Clause"}
|
|
|
18
18
|
classifiers = [
|
|
19
19
|
"Programming Language :: Python",
|
|
20
20
|
"Programming Language :: Python :: 3",
|
|
21
|
-
"Programming Language :: Python :: 3.
|
|
21
|
+
"Programming Language :: Python :: 3.12",
|
|
22
22
|
]
|
|
23
23
|
dependencies = [
|
|
24
|
-
"apache-airflow[postgres, celery] == 2.
|
|
24
|
+
"apache-airflow[postgres, celery] == 2.11.0",
|
|
25
25
|
"elastic-apm < 7.0.0",
|
|
26
26
|
"requests >= 2.23",
|
|
27
27
|
"talus >= 1.1.0, <2.0",
|
|
@@ -107,3 +107,12 @@ show_missing = true
|
|
|
107
107
|
directory = "doc"
|
|
108
108
|
name = "Documentation"
|
|
109
109
|
showcontent = true
|
|
110
|
+
|
|
111
|
+
[tool.black]
|
|
112
|
+
line-length = 100
|
|
113
|
+
|
|
114
|
+
[tool.isort]
|
|
115
|
+
profile = "black"
|
|
116
|
+
force_single_line = true
|
|
117
|
+
combine_as_imports = false
|
|
118
|
+
line_length = 100
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -4,6 +4,7 @@ Base class that is used to wrap the various DAG task methods.
|
|
|
4
4
|
It provides support for user-defined setup and cleanup, task monitoring using Elastic APM,
|
|
5
5
|
standardized logging and exception handling.
|
|
6
6
|
"""
|
|
7
|
+
|
|
7
8
|
import logging
|
|
8
9
|
from abc import ABC
|
|
9
10
|
from abc import abstractmethod
|
|
@@ -13,7 +14,6 @@ import elasticapm
|
|
|
13
14
|
|
|
14
15
|
from dkist_processing_core.config import core_configurations
|
|
15
16
|
|
|
16
|
-
|
|
17
17
|
__all__ = ["TaskBase"]
|
|
18
18
|
|
|
19
19
|
logger = logging.getLogger(__name__)
|
{dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"""Example invalid workflow."""
|
|
2
|
+
|
|
2
3
|
from dkist_processing_core import Workflow
|
|
3
4
|
from dkist_processing_core.tests.task_example import Task
|
|
4
5
|
from dkist_processing_core.tests.task_example import Task2
|
|
5
6
|
from dkist_processing_core.tests.task_example import Task3
|
|
6
7
|
|
|
7
|
-
|
|
8
8
|
# |<--------------------|
|
|
9
9
|
# |-->Task -> Task2 --> |
|
|
10
10
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/auto-proc-concept-model.png
RENAMED
|
File without changes
|
|
File without changes
|
{dkist_processing_core-5.1.1 → dkist_processing_core-5.2.0}/docs/automated-processing-deployed.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|