dkist-processing-ops 1.6.12__tar.gz → 1.6.13__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.

Potentially problematic release.


This version of dkist-processing-ops might be problematic. Click here for more details.

Files changed (27) hide show
  1. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/PKG-INFO +1 -1
  2. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/_version.py +2 -2
  3. dkist_processing_ops-1.6.13/dkist_processing_ops/tasks/read_memory_leak.py +49 -0
  4. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/PKG-INFO +1 -1
  5. dkist_processing_ops-1.6.12/dkist_processing_ops/tasks/read_memory_leak.py +0 -79
  6. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/.gitignore +0 -0
  7. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/.pre-commit-config.yaml +0 -0
  8. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/LICENSE.rst +0 -0
  9. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/MANIFEST.in +0 -0
  10. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/README.rst +0 -0
  11. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/bitbucket-pipelines.yml +0 -0
  12. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/__init__.py +0 -0
  13. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/dags/scale.py +0 -0
  14. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/tasks/__init__.py +0 -0
  15. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/tasks/wait.py +0 -0
  16. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/tests/__init__.py +0 -0
  17. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/tests/test_workflows.py +0 -0
  18. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/workflows/__init__.py +0 -0
  19. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/workflows/memory_leak.py +0 -0
  20. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops/workflows/smoke.py +0 -0
  21. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/SOURCES.txt +0 -0
  22. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/dependency_links.txt +0 -0
  23. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/not-zip-safe +0 -0
  24. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/requires.txt +0 -0
  25. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/dkist_processing_ops.egg-info/top_level.txt +0 -0
  26. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/pyproject.toml +0 -0
  27. {dkist_processing_ops-1.6.12 → dkist_processing_ops-1.6.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-ops
3
- Version: 1.6.12
3
+ Version: 1.6.13
4
4
  Summary: Automated Processing smoke test and operations workflows
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD 3-Clause
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.6.12'
16
- __version_tuple__ = version_tuple = (1, 6, 12)
15
+ __version__ = version = '1.6.13'
16
+ __version_tuple__ = version_tuple = (1, 6, 13)
@@ -0,0 +1,49 @@
1
+ from abc import ABC
2
+ from pathlib import Path
3
+
4
+ import numpy as np
5
+ from astropy.io import fits
6
+ from dkist_processing_common.codecs.fits import fits_hdu_decoder
7
+ from dkist_processing_common.codecs.path import path_decoder
8
+ from dkist_processing_common.models.tags import Tag
9
+ from dkist_processing_common.tasks import WorkflowTaskBase
10
+
11
+
12
+ def generated_hdu_decoder(path: Path) -> fits.PrimaryHDU | fits.CompImageHDU:
13
+ data = np.random.rand(4096, 4096)
14
+ hdu = fits.CompImageHDU(data)
15
+ return hdu
16
+
17
+
18
+ class FitsDataRead(WorkflowTaskBase, ABC):
19
+ @property
20
+ def run_type(self):
21
+ return self.metadata_store_recipe_run_configuration().get("run_type", "file_read")
22
+
23
+ def run(self) -> None:
24
+ if self.run_type == "file_read":
25
+ hdus = self.read(tags=[Tag.input(), Tag.frame()], decoder=fits_hdu_decoder)
26
+ for hdu in hdus:
27
+ h = hdu.header
28
+ d = hdu.data
29
+
30
+ if self.run_type == "generated_read":
31
+ hdus = self.read(tags=[Tag.input(), Tag.frame()], decoder=generated_hdu_decoder)
32
+ for hdu in hdus:
33
+ h = hdu.header
34
+ d = hdu.data
35
+
36
+ if self.run_type == "file_task":
37
+ filepaths = self.read(tags=[Tag.input(), Tag.frame()], decoder=path_decoder)
38
+ for filepath in filepaths:
39
+ hdu = fits.open(filepath)[1]
40
+ h = hdu.header
41
+ d = hdu.data
42
+
43
+ if self.run_type == "generated_task":
44
+ filepaths = self.read(tags=[Tag.input(), Tag.frame()], decoder=path_decoder)
45
+ for filepath in filepaths:
46
+ data = np.random.rand(4096, 4096)
47
+ hdu = fits.CompImageHDU(data)
48
+ h = hdu.header
49
+ d = hdu.data
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dkist-processing-ops
3
- Version: 1.6.12
3
+ Version: 1.6.13
4
4
  Summary: Automated Processing smoke test and operations workflows
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD 3-Clause
@@ -1,79 +0,0 @@
1
- import logging
2
- import os
3
- import sys
4
- from abc import ABC
5
- from pathlib import Path
6
- from typing import Any
7
- from typing import Generator
8
-
9
- import numpy as np
10
- from astropy.io import fits
11
- from dkist_processing_common.codecs.path import path_decoder
12
- from dkist_processing_common.models.tags import Tag
13
- from dkist_processing_common.tasks import tag_type_hint
14
- from dkist_processing_common.tasks import WorkflowTaskBase
15
-
16
-
17
- def yield_from_read(
18
- self, tags: tag_type_hint, decoder: callable = path_decoder, **decoder_kwargs
19
- ) -> Generator[Any, None, None]:
20
- yield from (decoder(p, **decoder_kwargs) for p in self.scratch.find_all(tags=tags))
21
-
22
-
23
- def binary_decoder(path: Path) -> bytes:
24
- """Generates a random blob of binary data."""
25
- data = os.urandom(67109008) # This is the size of the VBI data arrays, in bytes
26
- logging.info(f"Size of data: {sys.getsizeof(data)}")
27
- logging.info(f"Bytes of data: {len(data)}")
28
- return data
29
-
30
-
31
- def fits_smart_hdu_decoder(path: Path) -> fits.PrimaryHDU | fits.CompImageHDU:
32
- """Read a Path with `fits` to produce an `HDUList`."""
33
- hdu_list = fits.open(path, lazy_load_hdus=False)
34
- return hdu_list[1]
35
-
36
-
37
- class FitsDataRead(WorkflowTaskBase, ABC):
38
- @property
39
- def data_type(self) -> str:
40
- """Recipe run configuration indicating how fFITS data should be read."""
41
- return self.metadata_store_recipe_run_configuration().get("data_type", "fits")
42
-
43
- @property
44
- def read_method(self):
45
- return self.metadata_store_recipe_run_configuration().get("read_method", "return")
46
-
47
- @property
48
- def manipulate_data(self):
49
- return self.metadata_store_recipe_run_configuration().get("manipulate_data", True)
50
-
51
- def run(self) -> None:
52
- if self.data_type == "fits":
53
- if self.read_method == "return":
54
- hdus = self.read(tags=[Tag.input(), Tag.frame()], decoder=fits_smart_hdu_decoder)
55
- for hdu in hdus:
56
- h = hdu.header
57
- d = hdu.data
58
- if self.manipulate_data:
59
- total = np.sum(d)
60
- if self.read_method == "yield":
61
- hdus = yield_from_read(
62
- self, tags=[Tag.input(), Tag.frame()], decoder=fits_smart_hdu_decoder
63
- )
64
- for hdu in hdus:
65
- h = hdu.header
66
- d = hdu.data
67
- if self.manipulate_data:
68
- total = np.sum(d)
69
- if self.data_type == "binary":
70
- if self.read_method == "return":
71
- hdus = self.read(tags=[Tag.input(), Tag.frame()], decoder=binary_decoder)
72
- for hdu in hdus:
73
- data = hdu
74
- if self.read_method == "yield":
75
- hdus = yield_from_read(
76
- self, tags=[Tag.input(), Tag.frame()], decoder=binary_decoder
77
- )
78
- for hdu in hdus:
79
- data = hdu