dkist-processing-core 5.1.0__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.
Files changed (52) hide show
  1. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/.pre-commit-config.yaml +6 -6
  2. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/CHANGELOG.rst +26 -0
  3. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/PKG-INFO +10 -5
  4. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/README.rst +5 -0
  5. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/bitbucket-pipelines.yml +9 -2
  6. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/__init__.py +1 -0
  7. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/build_utils.py +2 -2
  8. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/config.py +1 -0
  9. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/failure_callback.py +1 -0
  10. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/node.py +6 -3
  11. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/resource_queue.py +1 -0
  12. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/conftest.py +1 -0
  13. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/workflow.py +2 -2
  14. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/task_example.py +1 -0
  15. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_build_utils.py +1 -0
  16. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_export.py +1 -0
  17. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_failure_callback.py +2 -1
  18. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_node.py +1 -0
  19. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_task.py +1 -0
  20. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/test_workflow.py +1 -0
  21. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/valid_workflow_package/workflow.py +1 -0
  22. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/zero_node_workflow_package/workflow.py +1 -0
  23. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/workflow.py +1 -0
  24. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/PKG-INFO +10 -5
  25. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/requires.txt +1 -1
  26. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/conf.py +1 -0
  27. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/pyproject.toml +13 -4
  28. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/.gitignore +0 -0
  29. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/.readthedocs.yml +0 -0
  30. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/.snyk +0 -0
  31. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/changelog/.gitempty +0 -0
  32. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/task.py +1 -1
  33. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/__init__.py +0 -0
  34. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_cyclic/__init__.py +0 -0
  35. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_cyclic/workflow.py +1 -1
  36. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/invalid_workflow_for_docker_multi_category/__init__.py +0 -0
  37. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/valid_workflow_package/__init__.py +0 -0
  38. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core/tests/zero_node_workflow_package/__init__.py +0 -0
  39. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/SOURCES.txt +0 -0
  40. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/dependency_links.txt +0 -0
  41. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/dkist_processing_core.egg-info/top_level.txt +0 -0
  42. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/Makefile +0 -0
  43. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/auto-proc-concept-model.png +0 -0
  44. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/auto_proc_brick.png +0 -0
  45. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/automated-processing-deployed.png +0 -0
  46. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/changelog.rst +0 -0
  47. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/index.rst +0 -0
  48. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/landing_page.rst +0 -0
  49. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/make.bat +0 -0
  50. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/docs/requirements.txt +0 -0
  51. {dkist_processing_core-5.1.0 → dkist_processing_core-5.2.0}/licenses/LICENSE.rst +0 -0
  52. {dkist_processing_core-5.1.0 → 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: v2.4.0
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: 22.3.0
13
+ rev: 25.1.0
14
14
  hooks:
15
15
  - id: black
16
- args: [ "-l 100" ]
17
- - repo: https://github.com/asottile/reorder_python_imports
18
- rev: v2.3.5
16
+ - repo: https://github.com/pycqa/isort
17
+ rev: 5.12.0
19
18
  hooks:
20
- - id: reorder-python-imports
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,29 @@
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
+
11
+ v5.1.1 (2025-05-22)
12
+ ===================
13
+
14
+ Bugfixes
15
+ --------
16
+
17
+ - Don't use `--system-site-packages` in pip install command for task dependencies. (`#53 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/53>`__)
18
+
19
+
20
+ Misc
21
+ ----
22
+
23
+ - Add coverage badge to README.rst. (`#51 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/51>`__)
24
+ - Add missing build dependency specifications. (`#52 <https://bitbucket.org/dkistdc/dkist-processing-core/pull-requests/52>`__)
25
+
26
+
1
27
  v5.1.0 (2025-02-24)
2
28
  ===================
3
29
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: dkist-processing-core
3
- Version: 5.1.0
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.11
14
- Requires-Python: >=3.11
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.10.5
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
@@ -43,6 +43,8 @@ Requires-Dist: sunpy; extra == "docs"
43
43
  dkist-processing-core
44
44
  =====================
45
45
 
46
+ |codecov|
47
+
46
48
  Overview
47
49
  --------
48
50
  The dkist-processing-core package provides an abstraction layer between the dkist data processing code, the workflow
@@ -247,3 +249,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
247
249
  # Re-tag with the same version
248
250
  git tag vWHATEVER.THE.VERSION
249
251
  git push --tags origin main
252
+
253
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-core/graph/badge.svg?token=SB18SCBJ8Q
254
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-core
@@ -1,6 +1,8 @@
1
1
  dkist-processing-core
2
2
  =====================
3
3
 
4
+ |codecov|
5
+
4
6
  Overview
5
7
  --------
6
8
  The dkist-processing-core package provides an abstraction layer between the dkist data processing code, the workflow
@@ -205,3 +207,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
205
207
  # Re-tag with the same version
206
208
  git tag vWHATEVER.THE.VERSION
207
209
  git push --tags origin main
210
+
211
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-core/graph/badge.svg?token=SB18SCBJ8Q
212
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-core
@@ -1,4 +1,4 @@
1
- image: python:3.11
1
+ image: python:3.12
2
2
  definitions:
3
3
  services:
4
4
  broker:
@@ -16,24 +16,28 @@ definitions:
16
16
  - chmod 755 ci_scripts/latest/execute_script.sh
17
17
  artifacts:
18
18
  - ci_scripts/latest/execute_script.sh
19
+
19
20
  - step: &lint
20
21
  caches:
21
22
  - pip
22
23
  name: Lint
23
24
  script:
24
25
  - ./ci_scripts/latest/execute_script.sh lint_python.sh
26
+
25
27
  - step: &changelog
26
28
  caches:
27
29
  - pip
28
30
  name: Changelog
29
31
  script:
30
32
  - ./ci_scripts/latest/execute_script.sh check_changelog.sh
33
+
31
34
  - step: &scan
32
35
  caches:
33
36
  - pip
34
37
  name: Scan
35
38
  script:
36
39
  - ./ci_scripts/latest/execute_script.sh scan_python.sh
40
+
37
41
  - step: &test
38
42
  caches:
39
43
  - pip
@@ -43,8 +47,11 @@ definitions:
43
47
  - broker
44
48
  name: Test
45
49
  script:
50
+ - pip install -U pip wheel build setuptools_scm setuptools
46
51
  - pip install .[test]
47
- - pytest -m "not development" --cov dkist_processing_core
52
+ - pytest -m "not development" --cov dkist_processing_core --cov-report=xml --cov-report=term-missing
53
+ - ./ci_scripts/latest/execute_script.sh upload_coverage.sh
54
+
48
55
  - step: &push
49
56
  caches:
50
57
  - pip
@@ -1,4 +1,5 @@
1
1
  """Package-level setup information."""
2
+
2
3
  from importlib.metadata import PackageNotFoundError
3
4
  from importlib.metadata import version
4
5
 
@@ -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.11", "ENV LANG=C.UTF-8"]
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
  """Environment controlled configurations for dkist_processing_core."""
2
+
2
3
  from dkist_service_configuration import MeshServiceConfigurationBase
3
4
  from dkist_service_configuration.settings import MeshService
4
5
  from pydantic import Field
@@ -1,4 +1,5 @@
1
1
  """Define the failure callback functionality."""
2
+
2
3
  import logging
3
4
  from contextlib import contextmanager
4
5
  from typing import Callable
@@ -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
@@ -93,6 +94,8 @@ class Node:
93
94
  def bash_script(self) -> str:
94
95
  """Format bash script for the BashOperator."""
95
96
  command = f"""{self.install_command}
97
+ echo Virtual Python Environment Packages
98
+ pip list
96
99
  {self.run_command}"""
97
100
  return self.bash_template(command)
98
101
 
@@ -115,7 +118,7 @@ echo Host Python Environment i.e. system-site-packages
115
118
  python3 -m pip install --upgrade --user pip
116
119
  pip list
117
120
  echo Creating Virtual Environment
118
- python3 -m venv --system-site-packages .task_venv
121
+ python3 -m venv .task_venv
119
122
  echo Activate Environment
120
123
  . .task_venv/bin/activate
121
124
  echo Python Interpreter Location
@@ -1,4 +1,5 @@
1
1
  """Resource queue names for Workflow Node specification which specify different resource needs."""
2
+
2
3
  from enum import StrEnum
3
4
 
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Global test fixtures."""
2
+
2
3
  from contextlib import contextmanager
3
4
  from pathlib import Path
4
5
  from shutil import rmtree
@@ -1,8 +1,8 @@
1
- """Example invalid workflow for """
1
+ """Example invalid workflow for"""
2
+
2
3
  from dkist_processing_core import Workflow
3
4
  from dkist_processing_core.tests.task_example import Task
4
5
 
5
-
6
6
  category_a = Workflow(
7
7
  input_data="test-data",
8
8
  output_data="invalid",
@@ -1,4 +1,5 @@
1
1
  """Example task subclass used in the tests."""
2
+
2
3
  from dkist_processing_core import TaskBase
3
4
 
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Tests for the build utils."""
2
+
2
3
  import os
3
4
  import subprocess
4
5
  from pathlib import Path
@@ -1,4 +1,5 @@
1
1
  """Test minimal dependency dag export (used for scheduler deployments)."""
2
+
2
3
  import nbformat
3
4
  import pytest
4
5
  from nbconvert import PythonExporter
@@ -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()
@@ -1,4 +1,5 @@
1
1
  """Tests of the node.py module."""
2
+
2
3
  import subprocess
3
4
  from subprocess import CalledProcessError
4
5
  from typing import Callable
@@ -1,4 +1,5 @@
1
1
  """Tests for the TaskBase functionality."""
2
+
2
3
  import pytest
3
4
 
4
5
  from dkist_processing_core.config import core_configurations
@@ -1,4 +1,5 @@
1
1
  """Tests for the Workflow abstraction."""
2
+
2
3
  import json
3
4
  from typing import Callable
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Example valid 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
@@ -1,4 +1,5 @@
1
1
  """Workflow containing zero nodes."""
2
+
2
3
  from dkist_processing_core import Workflow
3
4
 
4
5
  zero_node_workflow = Workflow(
@@ -1,4 +1,5 @@
1
1
  """Abstraction layer to construct a workflow as an airflow DAG."""
2
+
2
3
  import json
3
4
  import string
4
5
  from graphlib import TopologicalSorter
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: dkist-processing-core
3
- Version: 5.1.0
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.11
14
- Requires-Python: >=3.11
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.10.5
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
@@ -43,6 +43,8 @@ Requires-Dist: sunpy; extra == "docs"
43
43
  dkist-processing-core
44
44
  =====================
45
45
 
46
+ |codecov|
47
+
46
48
  Overview
47
49
  --------
48
50
  The dkist-processing-core package provides an abstraction layer between the dkist data processing code, the workflow
@@ -247,3 +249,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
247
249
  # Re-tag with the same version
248
250
  git tag vWHATEVER.THE.VERSION
249
251
  git push --tags origin main
252
+
253
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-core/graph/badge.svg?token=SB18SCBJ8Q
254
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-core
@@ -1,4 +1,4 @@
1
- apache-airflow[celery,postgres]==2.10.5
1
+ apache-airflow[celery,postgres]==2.11.0
2
2
  elastic-apm<7.0.0
3
3
  requests>=2.23
4
4
  talus<2.0,>=1.1.0
@@ -1,4 +1,5 @@
1
1
  """Configuration file for the Sphinx documentation builder."""
2
+
2
3
  # -- stdlib imports ------------------------------------------------------------
3
4
  import importlib
4
5
  import sys
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=64", "setuptools_scm>=8"]
2
+ requires = ["setuptools>=64", "setuptools_scm>=8", "wheel", "build"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [tool.setuptools.packages]
@@ -10,7 +10,7 @@ find = {}
10
10
  [project]
11
11
  dynamic = ["version"]
12
12
  name = "dkist-processing-core"
13
- requires-python = ">=3.11"
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.11",
21
+ "Programming Language :: Python :: 3.12",
22
22
  ]
23
23
  dependencies = [
24
- "apache-airflow[postgres, celery] == 2.10.5",
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
@@ -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__)
@@ -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