lsst-pipe-base 30.2026.200__py3-none-any.whl → 30.2026.400__py3-none-any.whl
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.
- lsst/pipe/base/_instrument.py +10 -12
- lsst/pipe/base/_status.py +29 -10
- lsst/pipe/base/automatic_connection_constants.py +9 -1
- lsst/pipe/base/cli/cmd/__init__.py +16 -2
- lsst/pipe/base/cli/cmd/commands.py +42 -4
- lsst/pipe/base/connectionTypes.py +72 -160
- lsst/pipe/base/connections.py +3 -6
- lsst/pipe/base/execution_reports.py +0 -5
- lsst/pipe/base/log_capture.py +8 -4
- lsst/pipe/base/log_on_close.py +79 -0
- lsst/pipe/base/mp_graph_executor.py +51 -15
- lsst/pipe/base/pipeline.py +3 -4
- lsst/pipe/base/pipelineIR.py +0 -6
- lsst/pipe/base/pipelineTask.py +5 -7
- lsst/pipe/base/pipeline_graph/_edges.py +19 -7
- lsst/pipe/base/pipeline_graph/_pipeline_graph.py +8 -0
- lsst/pipe/base/quantum_graph/_common.py +7 -4
- lsst/pipe/base/quantum_graph/_multiblock.py +6 -16
- lsst/pipe/base/quantum_graph/_predicted.py +111 -10
- lsst/pipe/base/quantum_graph/_provenance.py +727 -26
- lsst/pipe/base/quantum_graph/aggregator/_communicators.py +26 -50
- lsst/pipe/base/quantum_graph/aggregator/_config.py +78 -9
- lsst/pipe/base/quantum_graph/aggregator/_ingester.py +12 -11
- lsst/pipe/base/quantum_graph/aggregator/_scanner.py +48 -234
- lsst/pipe/base/quantum_graph/aggregator/_structs.py +6 -116
- lsst/pipe/base/quantum_graph/aggregator/_supervisor.py +24 -18
- lsst/pipe/base/quantum_graph/aggregator/_writer.py +33 -350
- lsst/pipe/base/quantum_graph/formatter.py +171 -0
- lsst/pipe/base/quantum_graph/ingest_graph.py +356 -0
- lsst/pipe/base/quantum_graph_executor.py +116 -13
- lsst/pipe/base/quantum_provenance_graph.py +17 -2
- lsst/pipe/base/separable_pipeline_executor.py +18 -2
- lsst/pipe/base/single_quantum_executor.py +59 -41
- lsst/pipe/base/struct.py +4 -0
- lsst/pipe/base/version.py +1 -1
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/METADATA +2 -1
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/RECORD +45 -42
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/WHEEL +1 -1
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/entry_points.txt +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/COPYRIGHT +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/LICENSE +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/bsd_license.txt +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/gpl-v3.0.txt +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/top_level.txt +0 -0
- {lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/zip-safe +0 -0
|
@@ -37,13 +37,13 @@ from typing import Any
|
|
|
37
37
|
|
|
38
38
|
from lsst.daf.butler import (
|
|
39
39
|
Butler,
|
|
40
|
-
ButlerMetrics,
|
|
41
40
|
DatasetRef,
|
|
42
41
|
DatasetType,
|
|
43
42
|
LimitedButler,
|
|
44
43
|
NamedKeyDict,
|
|
45
44
|
Quantum,
|
|
46
45
|
)
|
|
46
|
+
from lsst.daf.butler.logging import ButlerLogRecords
|
|
47
47
|
from lsst.utils.introspection import get_full_type_name
|
|
48
48
|
from lsst.utils.timer import logInfo
|
|
49
49
|
|
|
@@ -59,7 +59,7 @@ from .connections import AdjustQuantumHelper
|
|
|
59
59
|
from .log_capture import LogCapture, _ExecutionLogRecordsExtra
|
|
60
60
|
from .pipeline_graph import TaskNode
|
|
61
61
|
from .pipelineTask import PipelineTask
|
|
62
|
-
from .quantum_graph_executor import QuantumExecutor
|
|
62
|
+
from .quantum_graph_executor import QuantumExecutionResult, QuantumExecutor
|
|
63
63
|
from .quantum_reports import QuantumReport
|
|
64
64
|
from .task import _TASK_FULL_METADATA_TYPE, _TASK_METADATA_TYPE
|
|
65
65
|
from .taskFactory import TaskFactory
|
|
@@ -78,12 +78,12 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
78
78
|
Instance of a task factory. Defaults to a new instance of
|
|
79
79
|
`lsst.pipe.base.TaskFactory`.
|
|
80
80
|
skip_existing_in : `str` or `~collections.abc.Iterable` [ `str` ]
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
A collection name or list of collections to search for the existing
|
|
82
|
+
outputs of quanta, which indicates that those quanta should be skipped.
|
|
83
|
+
This class only checks for the presence of butler output run in the
|
|
84
|
+
list of collections. If the output run is present in the list then the
|
|
85
|
+
quanta whose complete outputs exist in the output run will be skipped.
|
|
86
|
+
`None` or empty string/sequence disables skipping.
|
|
87
87
|
clobber_outputs : `bool`, optional
|
|
88
88
|
If `True`, then outputs from a quantum that exist in output run
|
|
89
89
|
collection will be removed prior to executing a quantum. If
|
|
@@ -157,21 +157,28 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
157
157
|
self._previous_process_quanta: list[uuid.UUID] = []
|
|
158
158
|
|
|
159
159
|
def execute(
|
|
160
|
-
self,
|
|
161
|
-
|
|
160
|
+
self,
|
|
161
|
+
task_node: TaskNode,
|
|
162
|
+
/,
|
|
163
|
+
quantum: Quantum,
|
|
164
|
+
quantum_id: uuid.UUID | None = None,
|
|
165
|
+
*,
|
|
166
|
+
log_records: ButlerLogRecords | None = None,
|
|
167
|
+
) -> QuantumExecutionResult:
|
|
162
168
|
# Docstring inherited from QuantumExecutor.execute
|
|
163
|
-
assert quantum.dataId is not None, "Quantum DataId cannot be None"
|
|
164
|
-
|
|
165
169
|
if self._butler is not None:
|
|
166
170
|
self._butler.registry.refresh()
|
|
167
|
-
|
|
168
|
-
result = self._execute(task_node, quantum, quantum_id=quantum_id)
|
|
169
|
-
report = QuantumReport(quantumId=quantum_id, dataId=quantum.dataId, taskLabel=task_node.label)
|
|
170
|
-
return result, report
|
|
171
|
+
return self._execute(task_node, quantum, quantum_id=quantum_id, log_records=log_records)
|
|
171
172
|
|
|
172
173
|
def _execute(
|
|
173
|
-
self,
|
|
174
|
-
|
|
174
|
+
self,
|
|
175
|
+
task_node: TaskNode,
|
|
176
|
+
/,
|
|
177
|
+
quantum: Quantum,
|
|
178
|
+
quantum_id: uuid.UUID | None = None,
|
|
179
|
+
*,
|
|
180
|
+
log_records: ButlerLogRecords | None = None,
|
|
181
|
+
) -> QuantumExecutionResult:
|
|
175
182
|
"""Execute the quantum.
|
|
176
183
|
|
|
177
184
|
Internal implementation of `execute()`.
|
|
@@ -189,7 +196,7 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
189
196
|
|
|
190
197
|
try:
|
|
191
198
|
return self._execute_with_limited_butler(
|
|
192
|
-
task_node, limited_butler, quantum=quantum, quantum_id=quantum_id
|
|
199
|
+
task_node, limited_butler, quantum=quantum, quantum_id=quantum_id, log_records=log_records
|
|
193
200
|
)
|
|
194
201
|
finally:
|
|
195
202
|
if used_butler_factory:
|
|
@@ -202,14 +209,17 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
202
209
|
/,
|
|
203
210
|
quantum: Quantum,
|
|
204
211
|
quantum_id: uuid.UUID | None = None,
|
|
205
|
-
|
|
212
|
+
*,
|
|
213
|
+
log_records: ButlerLogRecords | None = None,
|
|
214
|
+
) -> QuantumExecutionResult:
|
|
206
215
|
startTime = time.time()
|
|
207
|
-
|
|
216
|
+
assert quantum.dataId is not None, "Quantum DataId cannot be None"
|
|
217
|
+
report = QuantumReport(quantumId=quantum_id, dataId=quantum.dataId, taskLabel=task_node.label)
|
|
208
218
|
if self._butler is not None:
|
|
209
219
|
log_capture = LogCapture.from_full(self._butler)
|
|
210
220
|
else:
|
|
211
221
|
log_capture = LogCapture.from_limited(limited_butler)
|
|
212
|
-
with log_capture.capture_logging(task_node, quantum) as captureLog:
|
|
222
|
+
with log_capture.capture_logging(task_node, quantum, records=log_records) as captureLog:
|
|
213
223
|
# Save detailed resource usage before task start to metadata.
|
|
214
224
|
quantumMetadata = _TASK_METADATA_TYPE()
|
|
215
225
|
logInfo(None, "prep", metadata=quantumMetadata) # type: ignore[arg-type]
|
|
@@ -228,7 +238,7 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
228
238
|
task_node.label,
|
|
229
239
|
quantum.dataId,
|
|
230
240
|
)
|
|
231
|
-
return quantum
|
|
241
|
+
return QuantumExecutionResult(quantum, report, skipped_existing=True, adjusted_no_work=False)
|
|
232
242
|
captureLog.store = True
|
|
233
243
|
|
|
234
244
|
captureLog.extra.previous_process_quanta.extend(self._previous_process_quanta)
|
|
@@ -256,7 +266,7 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
256
266
|
if self._job_metadata is not None:
|
|
257
267
|
fullMetadata["job"] = self._job_metadata
|
|
258
268
|
self._write_metadata(quantum, fullMetadata, task_node, limited_butler)
|
|
259
|
-
return quantum
|
|
269
|
+
return QuantumExecutionResult(quantum, report, skipped_existing=False, adjusted_no_work=True)
|
|
260
270
|
|
|
261
271
|
# enable lsstDebug debugging
|
|
262
272
|
if self._enable_lsst_debug:
|
|
@@ -278,10 +288,12 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
278
288
|
)
|
|
279
289
|
task = self._task_factory.makeTask(task_node, limited_butler, init_input_refs)
|
|
280
290
|
logInfo(None, "start", metadata=quantumMetadata) # type: ignore[arg-type]
|
|
291
|
+
outputs_put: list[uuid.UUID] = []
|
|
281
292
|
try:
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
293
|
+
with limited_butler.record_metrics() as butler_metrics:
|
|
294
|
+
caveats = self._run_quantum(
|
|
295
|
+
task, quantum, task_node, limited_butler, quantum_id=quantum_id, ids_put=outputs_put
|
|
296
|
+
)
|
|
285
297
|
except Exception as e:
|
|
286
298
|
_LOG.error(
|
|
287
299
|
"Execution of task '%s' on quantum %s failed. Exception %s: %s",
|
|
@@ -301,10 +313,10 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
301
313
|
quantumMetadata["caveats"] = caveats.value
|
|
302
314
|
# Stringify the UUID for easier compatibility with
|
|
303
315
|
# PropertyList.
|
|
304
|
-
quantumMetadata["outputs"] = [str(output) for output in outputsPut]
|
|
305
316
|
finally:
|
|
306
317
|
logInfo(None, "end", metadata=quantumMetadata) # type: ignore[arg-type]
|
|
307
318
|
fullMetadata = task.getFullMetadata()
|
|
319
|
+
quantumMetadata["outputs"] = [str(output) for output in outputs_put]
|
|
308
320
|
fullMetadata["quantum"] = quantumMetadata
|
|
309
321
|
if self._job_metadata is not None:
|
|
310
322
|
fullMetadata["job"] = self._job_metadata
|
|
@@ -317,7 +329,13 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
317
329
|
quantum.dataId,
|
|
318
330
|
stopTime - startTime,
|
|
319
331
|
)
|
|
320
|
-
return
|
|
332
|
+
return QuantumExecutionResult(
|
|
333
|
+
quantum,
|
|
334
|
+
report,
|
|
335
|
+
skipped_existing=False,
|
|
336
|
+
adjusted_no_work=False,
|
|
337
|
+
task_metadata=fullMetadata,
|
|
338
|
+
)
|
|
321
339
|
|
|
322
340
|
def _check_existing_outputs(
|
|
323
341
|
self,
|
|
@@ -519,8 +537,9 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
519
537
|
task_node: TaskNode,
|
|
520
538
|
/,
|
|
521
539
|
limited_butler: LimitedButler,
|
|
522
|
-
quantum_id: uuid.UUID | None
|
|
523
|
-
|
|
540
|
+
quantum_id: uuid.UUID | None,
|
|
541
|
+
ids_put: list[uuid.UUID],
|
|
542
|
+
) -> QuantumSuccessCaveats:
|
|
524
543
|
"""Execute task on a single quantum.
|
|
525
544
|
|
|
526
545
|
Parameters
|
|
@@ -533,18 +552,17 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
533
552
|
Task definition structure.
|
|
534
553
|
limited_butler : `~lsst.daf.butler.LimitedButler`
|
|
535
554
|
Butler to use for dataset I/O.
|
|
536
|
-
quantum_id : `uuid.UUID` or `None
|
|
555
|
+
quantum_id : `uuid.UUID` or `None`
|
|
537
556
|
ID of the quantum being executed.
|
|
557
|
+
ids_put : list[ `uuid.UUID` ]
|
|
558
|
+
List to be populated with the dataset IDs that were written by this
|
|
559
|
+
quantum. This is an output parameter in order to allow it to be
|
|
560
|
+
populated even when an exception is raised.
|
|
538
561
|
|
|
539
562
|
Returns
|
|
540
563
|
-------
|
|
541
564
|
flags : `QuantumSuccessCaveats`
|
|
542
565
|
Flags that describe qualified successes.
|
|
543
|
-
ids_put : list[ `uuid.UUID` ]
|
|
544
|
-
Record of all the dataset IDs that were written by this quantum
|
|
545
|
-
being executed.
|
|
546
|
-
metrics : `lsst.daf.butler.ButlerMetrics`
|
|
547
|
-
Butler metrics recorded for this quantum.
|
|
548
566
|
"""
|
|
549
567
|
flags = QuantumSuccessCaveats.NO_CAVEATS
|
|
550
568
|
|
|
@@ -556,8 +574,7 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
556
574
|
|
|
557
575
|
# Call task runQuantum() method.
|
|
558
576
|
try:
|
|
559
|
-
|
|
560
|
-
task.runQuantum(butlerQC, inputRefs, outputRefs)
|
|
577
|
+
task.runQuantum(butlerQC, inputRefs, outputRefs)
|
|
561
578
|
except NoWorkFound as err:
|
|
562
579
|
# Not an error, just an early exit.
|
|
563
580
|
_LOG.info(
|
|
@@ -595,12 +612,13 @@ class SingleQuantumExecutor(QuantumExecutor):
|
|
|
595
612
|
)
|
|
596
613
|
_LOG.error(error, exc_info=error)
|
|
597
614
|
flags |= caught.FLAGS
|
|
615
|
+
finally:
|
|
616
|
+
ids_put.extend(output[2] for output in butlerQC.outputsPut)
|
|
598
617
|
if not butlerQC.outputsPut:
|
|
599
618
|
flags |= QuantumSuccessCaveats.ALL_OUTPUTS_MISSING
|
|
600
619
|
if not butlerQC.outputsPut == butlerQC.allOutputs:
|
|
601
620
|
flags |= QuantumSuccessCaveats.ANY_OUTPUTS_MISSING
|
|
602
|
-
|
|
603
|
-
return flags, ids_put, butler_metrics
|
|
621
|
+
return flags
|
|
604
622
|
|
|
605
623
|
def _write_metadata(
|
|
606
624
|
self, quantum: Quantum, metadata: Any, task_node: TaskNode, /, limited_butler: LimitedButler
|
lsst/pipe/base/struct.py
CHANGED
lsst/pipe/base/version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
__all__ = ["__version__"]
|
|
2
|
-
__version__ = "30.2026.
|
|
2
|
+
__version__ = "30.2026.400"
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-pipe-base
|
|
3
|
-
Version: 30.2026.
|
|
3
|
+
Version: 30.2026.400
|
|
4
4
|
Summary: Pipeline infrastructure for the Rubin Science Pipelines.
|
|
5
5
|
Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
|
|
6
6
|
License-Expression: BSD-3-Clause OR GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/lsst/pipe_base
|
|
8
|
+
Project-URL: Source, https://github.com/lsst/pipe_base
|
|
8
9
|
Keywords: lsst
|
|
9
10
|
Classifier: Intended Audience :: Science/Research
|
|
10
11
|
Classifier: Operating System :: OS Independent
|
|
@@ -3,50 +3,51 @@ lsst/pipe/__init__.py,sha256=_2bZAHuDVAx7MM7KA7pt3DYp641NY4RzSoRAwesWKfU,67
|
|
|
3
3
|
lsst/pipe/base/__init__.py,sha256=qBLN0yYQjIcLBLb4jFKM_ppopuqTnCehcUdFcEe69Js,970
|
|
4
4
|
lsst/pipe/base/_datasetQueryConstraints.py,sha256=bFH0_lVc49NS2_4v_i6r9POr500c0K-OHLMhMX5FjkQ,6373
|
|
5
5
|
lsst/pipe/base/_dataset_handle.py,sha256=ft_ke1LbhLLndDPARsHSQJUA05LgUFnfWOq2vbwH3wI,11353
|
|
6
|
-
lsst/pipe/base/_instrument.py,sha256=
|
|
6
|
+
lsst/pipe/base/_instrument.py,sha256=TE7r3kkBla2yZh8wRGDpcNSfnkRO7hb-svPTMsRaoj4,30018
|
|
7
7
|
lsst/pipe/base/_observation_dimension_packer.py,sha256=78Jg2OVFOdXIK62TS2Y3X4095xqCzmiIx9o4TXyADYA,8027
|
|
8
8
|
lsst/pipe/base/_quantumContext.py,sha256=gb60mTHbgOIEptYvJ64SaChvViXyeKJlG6kEHq4nYVw,19345
|
|
9
|
-
lsst/pipe/base/_status.py,sha256=
|
|
9
|
+
lsst/pipe/base/_status.py,sha256=L46GofjfgptoBUxmtenrPZ7-MmM4WMQAPAc0sMsHeS4,21770
|
|
10
10
|
lsst/pipe/base/_task_metadata.py,sha256=Y4rjrYWvYxYCJwy86VvzxKMkNxEJbYVgLVuXo6KiXac,25638
|
|
11
11
|
lsst/pipe/base/all_dimensions_quantum_graph_builder.py,sha256=nazY74jrdSCr6CFfPp78JecM_-udW95EYP7grLPO2hg,70830
|
|
12
|
-
lsst/pipe/base/automatic_connection_constants.py,sha256=
|
|
12
|
+
lsst/pipe/base/automatic_connection_constants.py,sha256=JYoi3Ngz9FP8y34V1onNGLQ_iJurqb5HkOVgn4uUYLI,3636
|
|
13
13
|
lsst/pipe/base/caching_limited_butler.py,sha256=FEQK_QesUWG9sK0w9m6_SA5OPcrd6vqyq8oDKE9Wu6I,7858
|
|
14
14
|
lsst/pipe/base/config.py,sha256=yNipVEc6awwhU_O9I01g20OnvQrs28dAwkXuI1hrlYE,11982
|
|
15
15
|
lsst/pipe/base/configOverrides.py,sha256=B0An8EaX76VzWnC5dJxvyZ2AhVzawMtq7qlE9ma5lkc,14661
|
|
16
|
-
lsst/pipe/base/connectionTypes.py,sha256=
|
|
17
|
-
lsst/pipe/base/connections.py,sha256=
|
|
16
|
+
lsst/pipe/base/connectionTypes.py,sha256=RbhGQpEdwpnDlexV_FoWoYBwcayHXsW0TZevtvK1s5c,11251
|
|
17
|
+
lsst/pipe/base/connections.py,sha256=M9-btv4TIpxupELLzk-aq03WL0kQnOEQEM3dS_qQT5A,67104
|
|
18
18
|
lsst/pipe/base/dot_tools.py,sha256=vriWMaB8YTEKKvhJE5KYdVGE4gB5XmiYfD2f18Fue-c,4285
|
|
19
19
|
lsst/pipe/base/exec_fixup_data_id.py,sha256=9OjOcH-6AHZ1JnD_CemieI0wWX90J_VdaY9v1oXwMdQ,4187
|
|
20
20
|
lsst/pipe/base/execution_graph_fixup.py,sha256=ND0x4hlpeEW-gudo-i2K7HT7MoM5sp_mcoqRMCopSqQ,3815
|
|
21
|
-
lsst/pipe/base/execution_reports.py,sha256=
|
|
21
|
+
lsst/pipe/base/execution_reports.py,sha256=62pY4sBQyHPCFceQzKLYQ0eQixNcmjs5m4DJAFAsPiA,17160
|
|
22
22
|
lsst/pipe/base/graph_walker.py,sha256=Ij7JfYF0srA29VgM_DhbNBxUBeOHDOnujrTQPjVNha0,4694
|
|
23
|
-
lsst/pipe/base/log_capture.py,sha256=
|
|
23
|
+
lsst/pipe/base/log_capture.py,sha256=6fq1L53FUYsbILX-tQixXUhxQjvKxFGDjYELRDAXnsw,11072
|
|
24
|
+
lsst/pipe/base/log_on_close.py,sha256=rauQYvsWQF9GuxoaZRjPJJ7VjATGyRUo0RyHEoUVTnQ,2666
|
|
24
25
|
lsst/pipe/base/mermaid_tools.py,sha256=cdlDJQ1x8k7-VvCLEUqvSC3GR1zCsB-aUTxOjYejNWc,5216
|
|
25
|
-
lsst/pipe/base/mp_graph_executor.py,sha256=
|
|
26
|
-
lsst/pipe/base/pipeline.py,sha256=
|
|
27
|
-
lsst/pipe/base/pipelineIR.py,sha256=
|
|
28
|
-
lsst/pipe/base/pipelineTask.py,sha256=
|
|
26
|
+
lsst/pipe/base/mp_graph_executor.py,sha256=bbsJD0i-WpW1Qc6lAvagIIx__jZfeOqN8dyt3IsyEq0,37350
|
|
27
|
+
lsst/pipe/base/pipeline.py,sha256=EYtjKZfbNSegAB9FZawb00dZI1a9dhV85e-Dn9EZ4qg,37498
|
|
28
|
+
lsst/pipe/base/pipelineIR.py,sha256=XocAPtoGhfRoCLUPjRX0cqRqf4Evh8qEqUvQOTronj8,45660
|
|
29
|
+
lsst/pipe/base/pipelineTask.py,sha256=jCyT6F3oevQ66I33Ys6g20x0F2QxSVh5qFlDE_PMfE0,8245
|
|
29
30
|
lsst/pipe/base/prerequisite_helpers.py,sha256=bmiebQ4veSrypZgAXjmCBFfj8fUtPW9eRQaVShhxdBQ,28446
|
|
30
31
|
lsst/pipe/base/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
31
32
|
lsst/pipe/base/quantum_graph_builder.py,sha256=YM3pvt4ignAZnpO9bpBc_Yl8V-y2r3SQmYJdWnyQQNI,68742
|
|
32
|
-
lsst/pipe/base/quantum_graph_executor.py,sha256
|
|
33
|
+
lsst/pipe/base/quantum_graph_executor.py,sha256=-bbeR9wZ5_Etcqpx6cDS_R-oEvfUVv9gmW0Wc4QuQNc,8127
|
|
33
34
|
lsst/pipe/base/quantum_graph_skeleton.py,sha256=hxSbeNhdCSBO2aqdIMRyQaejiUxKQfE6bSn0S0qWBNo,28395
|
|
34
|
-
lsst/pipe/base/quantum_provenance_graph.py,sha256=
|
|
35
|
+
lsst/pipe/base/quantum_provenance_graph.py,sha256=RxhEGbC_Rws1T-hpMBePRaK3tJ1KqDAI7_qIvvqCQKY,92674
|
|
35
36
|
lsst/pipe/base/quantum_reports.py,sha256=ut235L88v7SXaeVUvMA9qFl7tpeMwGnzob3X0QoOI_s,14210
|
|
36
37
|
lsst/pipe/base/resource_usage.py,sha256=LfH7Qf6taI3lxw0aB90riRMn1UxUTMBSqtBjKPJ-XuY,6759
|
|
37
|
-
lsst/pipe/base/separable_pipeline_executor.py,sha256=
|
|
38
|
+
lsst/pipe/base/separable_pipeline_executor.py,sha256=y3ZnQJApocxusHGG1R5Rnpke3B0vren1h4dcuyZLivs,17717
|
|
38
39
|
lsst/pipe/base/simple_pipeline_executor.py,sha256=_HGeAOgHUiRdQwsmD_qira-vcHZXlLbf_LmhLJffh2U,29563
|
|
39
|
-
lsst/pipe/base/single_quantum_executor.py,sha256=
|
|
40
|
-
lsst/pipe/base/struct.py,sha256=
|
|
40
|
+
lsst/pipe/base/single_quantum_executor.py,sha256=CVlCtARVONZbe6TBkuoQccFCfAgSrTV4g2OgZugqv80,29273
|
|
41
|
+
lsst/pipe/base/struct.py,sha256=fHO9QzFtzL5-jxqhcBWbjyrdbiWO-Pt4Kx1X5bxN3SU,5094
|
|
41
42
|
lsst/pipe/base/task.py,sha256=XHBd-7m1a4-6LgobBYA1DgY4H7EV-_RWKfxbhZbMmD4,15145
|
|
42
43
|
lsst/pipe/base/taskFactory.py,sha256=MsDGECJqZLSZk8SGhpuVhNaP32UWuNvxZiDcZExPFG8,3412
|
|
43
44
|
lsst/pipe/base/testUtils.py,sha256=lSBKMhoKflbi8JkMNYfEqqHNl-rtFI8UYT3QneDYpLo,18477
|
|
44
45
|
lsst/pipe/base/utils.py,sha256=JmEt3l0xrh9uayKrSXuQEq12aXOhDr2YXmbYduaxCko,1940
|
|
45
|
-
lsst/pipe/base/version.py,sha256=
|
|
46
|
+
lsst/pipe/base/version.py,sha256=hP_T_OdeRTp5aTn88qE2-hdMB5_ZS6XI0kw3PpLsuXM,54
|
|
46
47
|
lsst/pipe/base/cli/__init__.py,sha256=861tXIAW7SqtqNUYkjbeEdfg8lDswXsjJQca0gVCFz4,54
|
|
47
48
|
lsst/pipe/base/cli/_get_cli_subcommands.py,sha256=g_af64klRybBGKAg7fmBSZBdw2LYBAsFON_yQIMZON0,1289
|
|
48
|
-
lsst/pipe/base/cli/cmd/__init__.py,sha256=
|
|
49
|
-
lsst/pipe/base/cli/cmd/commands.py,sha256=
|
|
49
|
+
lsst/pipe/base/cli/cmd/__init__.py,sha256=mdSk2eaknOcuiX1i0XUwIWl5NoMwBfVbqc5CvvtJNaM,1641
|
|
50
|
+
lsst/pipe/base/cli/cmd/commands.py,sha256=djoTV-56qhrEuA-xW5_Ehh8YlOfp_tTBGswLjG1fl8k,11064
|
|
50
51
|
lsst/pipe/base/cli/opt/__init__.py,sha256=DN17wUbMwNIgbDBfF35sdyGfaMT81f3b_CA5Pp8POdk,1347
|
|
51
52
|
lsst/pipe/base/cli/opt/arguments.py,sha256=9LhDnsM98_2zOqqm-eyv_nnZmAQcBG5OpHzeJYw_eTw,1484
|
|
52
53
|
lsst/pipe/base/cli/opt/options.py,sha256=d5mC2WXZJiUbkdaIo_VUsvNxShD3GmredbEN5jQD64Q,1900
|
|
@@ -62,11 +63,11 @@ lsst/pipe/base/graph/quantumNode.py,sha256=l4mslxBgyUzBAqwjpx6XRP-UPxe-oRMxHJWt-
|
|
|
62
63
|
lsst/pipe/base/pipeline_graph/__init__.py,sha256=yTEuvlzbeKIHIm7GeRmGSsma1wpZFNv8j12WfSH-deY,1516
|
|
63
64
|
lsst/pipe/base/pipeline_graph/__main__.py,sha256=E6ugEwJbds22wjgcfcgzeyO04JofQwVhn_Y8kZYY1lQ,20769
|
|
64
65
|
lsst/pipe/base/pipeline_graph/_dataset_types.py,sha256=MzpiI4bOUgwUpnse4Bj_KFAUFm_uERCHWd0BwAhKksc,11333
|
|
65
|
-
lsst/pipe/base/pipeline_graph/_edges.py,sha256=
|
|
66
|
+
lsst/pipe/base/pipeline_graph/_edges.py,sha256=U7dIOJHwIieE-Oss7ZWbebbV1XBadOjSI-DGbSd_CkA,36049
|
|
66
67
|
lsst/pipe/base/pipeline_graph/_exceptions.py,sha256=3jvCXms0_5ThLGtsOlKxsI1vWiq3gY4hba8fRBW0tgI,3943
|
|
67
68
|
lsst/pipe/base/pipeline_graph/_mapping_views.py,sha256=9nLKPA8j7sS09haShbJnEtGXbb4vy_cWpbLeMLBmVvs,9194
|
|
68
69
|
lsst/pipe/base/pipeline_graph/_nodes.py,sha256=GGXfzXvrjNbwPt-0w8cC0l_I6CCNskoDNjA8Ds4ILS0,4236
|
|
69
|
-
lsst/pipe/base/pipeline_graph/_pipeline_graph.py,sha256=
|
|
70
|
+
lsst/pipe/base/pipeline_graph/_pipeline_graph.py,sha256=sgG2Fz7FazRiIApB0rWp0D_zbvv9MUPhc6wF6XgsHno,122628
|
|
70
71
|
lsst/pipe/base/pipeline_graph/_task_subsets.py,sha256=lLvcndSGcZigteWd4eeAM8LxQ1lHPBoysY8PjJTxx1c,13244
|
|
71
72
|
lsst/pipe/base/pipeline_graph/_tasks.py,sha256=jTLpm5dZMXRNrGi3L45-3DtF95PGwhmejWLZ-zcSTzo,42802
|
|
72
73
|
lsst/pipe/base/pipeline_graph/expressions.py,sha256=wNNVSWVMDZs_dp4Xd30rt1Xj8PfzWikJKo-amaJ-leM,7690
|
|
@@ -82,20 +83,22 @@ lsst/pipe/base/pipeline_graph/visualization/_printer.py,sha256=yJMRJ-aXd3nYDgs1F
|
|
|
82
83
|
lsst/pipe/base/pipeline_graph/visualization/_show.py,sha256=lPRjO1To2n5r3f_Wgcwy-7TmyJ7UszGGFXAlOtN1wDs,10510
|
|
83
84
|
lsst/pipe/base/pipeline_graph/visualization/_status_annotator.py,sha256=dp7PXl9Cu7GfWjBi5g8KjXZgnF1KGg_idKKxtICL53Q,8679
|
|
84
85
|
lsst/pipe/base/quantum_graph/__init__.py,sha256=-Gp3LihB0AXCvhG387wKAEpHRM-NrHGSXMti8cHee90,1437
|
|
85
|
-
lsst/pipe/base/quantum_graph/_common.py,sha256=
|
|
86
|
-
lsst/pipe/base/quantum_graph/_multiblock.py,sha256=
|
|
87
|
-
lsst/pipe/base/quantum_graph/_predicted.py,sha256=
|
|
88
|
-
lsst/pipe/base/quantum_graph/_provenance.py,sha256=
|
|
86
|
+
lsst/pipe/base/quantum_graph/_common.py,sha256=vG20KZBeg1TvWfq0vrA8NDFa1Pkg5H8fC2bU1_AK8-o,22948
|
|
87
|
+
lsst/pipe/base/quantum_graph/_multiblock.py,sha256=lw--3Ol-nmQPkC5gzC95xUTkGXOVAfPoa1bb21cFHXE,27412
|
|
88
|
+
lsst/pipe/base/quantum_graph/_predicted.py,sha256=UwqCtG3g3qTmFr7Quaxi-vUux75cuAlwR92muyynSR4,91418
|
|
89
|
+
lsst/pipe/base/quantum_graph/_provenance.py,sha256=d7WyxGx4fRla1tIrq2UH_-pGFrblAzBoybZN7ODSWt8,86779
|
|
90
|
+
lsst/pipe/base/quantum_graph/formatter.py,sha256=oqoQ4tmguo8zr-kdAT9V8MWvFridRxKoQ0YzD07DtrI,7247
|
|
91
|
+
lsst/pipe/base/quantum_graph/ingest_graph.py,sha256=eNW4-OBP8tDivb6JPOgBj8oWTeuV_citcFxfcxIJzrY,15234
|
|
89
92
|
lsst/pipe/base/quantum_graph/visualization.py,sha256=EbTWhk9aPq7sX6bcHmnEIsr2xuuR6d1SxspQbRe8D0Q,12235
|
|
90
93
|
lsst/pipe/base/quantum_graph/aggregator/__init__.py,sha256=4CK8sP_ZjUKmxKS3LnCH1zG7XSk9IEwijrluRBHhEMU,7436
|
|
91
|
-
lsst/pipe/base/quantum_graph/aggregator/_communicators.py,sha256=
|
|
92
|
-
lsst/pipe/base/quantum_graph/aggregator/_config.py,sha256=
|
|
93
|
-
lsst/pipe/base/quantum_graph/aggregator/_ingester.py,sha256=
|
|
94
|
+
lsst/pipe/base/quantum_graph/aggregator/_communicators.py,sha256=6Nwo4V5xVU292kxvsgXX1k0otjKOy2S-AKe3RP5ac-k,35476
|
|
95
|
+
lsst/pipe/base/quantum_graph/aggregator/_config.py,sha256=X6DZ8qN2eD8xAwC7ZXyvE1iNY-x5M48TG9OEFEf4ugg,8254
|
|
96
|
+
lsst/pipe/base/quantum_graph/aggregator/_ingester.py,sha256=XINi5ei66wTpGh-_Dr4xenPOR09K5rifRNooNDt8qrc,14093
|
|
94
97
|
lsst/pipe/base/quantum_graph/aggregator/_progress.py,sha256=jiz9Np73uUQ03CtH7pI6TXxXrwFUChh5hSj_gbMGHr0,7207
|
|
95
|
-
lsst/pipe/base/quantum_graph/aggregator/_scanner.py,sha256=
|
|
96
|
-
lsst/pipe/base/quantum_graph/aggregator/_structs.py,sha256=
|
|
97
|
-
lsst/pipe/base/quantum_graph/aggregator/_supervisor.py,sha256=
|
|
98
|
-
lsst/pipe/base/quantum_graph/aggregator/_writer.py,sha256=
|
|
98
|
+
lsst/pipe/base/quantum_graph/aggregator/_scanner.py,sha256=v109MsWDvQfZGSejtCTKiBeqC168lkzku4aoLoJtfCM,13398
|
|
99
|
+
lsst/pipe/base/quantum_graph/aggregator/_structs.py,sha256=MUBk8wrThFz4CuoIFUlm4t5K3QOBbye9uI1CAAdUIoA,2374
|
|
100
|
+
lsst/pipe/base/quantum_graph/aggregator/_supervisor.py,sha256=7rnxTamY7oC0HwX1tPHxRo0jk-MPwPWcAIbKlzxNXSo,9587
|
|
101
|
+
lsst/pipe/base/quantum_graph/aggregator/_writer.py,sha256=GK7WYYwQ6fB-UGdXK1Y_vMar4NBogP5QkSEZE2ujJMo,7959
|
|
99
102
|
lsst/pipe/base/script/__init__.py,sha256=cLEXE7aq5UZ0juL_ScmRw0weFgp4tDgwEX_ts-NEYic,1522
|
|
100
103
|
lsst/pipe/base/script/register_instrument.py,sha256=neQ2MTPtAiV_Hl2yatQ8-vQC24xHjhpI7VJUHf5kPX4,2445
|
|
101
104
|
lsst/pipe/base/script/retrieve_artifacts_for_quanta.py,sha256=Cr0HpzXm_C3LnIOQg5tNJht02O6xoqtWWIphjugasMA,3957
|
|
@@ -113,13 +116,13 @@ lsst/pipe/base/tests/mocks/_data_id_match.py,sha256=jVekStcrItC0tqOCc01VjYaiE9ex
|
|
|
113
116
|
lsst/pipe/base/tests/mocks/_pipeline_task.py,sha256=N3fC4OMAMWWnYtyLkVdMfb9ZiFse39HniRDvlAOofOY,30691
|
|
114
117
|
lsst/pipe/base/tests/mocks/_repo.py,sha256=SH-jzynS-H2xc_3GLjF7ln-kHdRoSeVVaal5qLd2hXI,28359
|
|
115
118
|
lsst/pipe/base/tests/mocks/_storage_class.py,sha256=12IFfJMbZ5GkYlMX6ZMWiG8pMZc2Jlxke3qQW-bljdU,27434
|
|
116
|
-
lsst_pipe_base-30.2026.
|
|
117
|
-
lsst_pipe_base-30.2026.
|
|
118
|
-
lsst_pipe_base-30.2026.
|
|
119
|
-
lsst_pipe_base-30.2026.
|
|
120
|
-
lsst_pipe_base-30.2026.
|
|
121
|
-
lsst_pipe_base-30.2026.
|
|
122
|
-
lsst_pipe_base-30.2026.
|
|
123
|
-
lsst_pipe_base-30.2026.
|
|
124
|
-
lsst_pipe_base-30.2026.
|
|
125
|
-
lsst_pipe_base-30.2026.
|
|
119
|
+
lsst_pipe_base-30.2026.400.dist-info/licenses/COPYRIGHT,sha256=kB3Z9_f6a6uFLGpEmNJT_n186CE65H6wHu4F6BNt_zA,368
|
|
120
|
+
lsst_pipe_base-30.2026.400.dist-info/licenses/LICENSE,sha256=pRExkS03v0MQW-neNfIcaSL6aiAnoLxYgtZoFzQ6zkM,232
|
|
121
|
+
lsst_pipe_base-30.2026.400.dist-info/licenses/bsd_license.txt,sha256=7MIcv8QRX9guUtqPSBDMPz2SnZ5swI-xZMqm_VDSfxY,1606
|
|
122
|
+
lsst_pipe_base-30.2026.400.dist-info/licenses/gpl-v3.0.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
123
|
+
lsst_pipe_base-30.2026.400.dist-info/METADATA,sha256=hULhHW-APbX1JXauegJfvhoABggjeJK5IvrO0fTdTS8,2311
|
|
124
|
+
lsst_pipe_base-30.2026.400.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
125
|
+
lsst_pipe_base-30.2026.400.dist-info/entry_points.txt,sha256=bnmUhJBsChxMdqST9VmFBYYKxLQoToOfqW1wjW7khjk,64
|
|
126
|
+
lsst_pipe_base-30.2026.400.dist-info/top_level.txt,sha256=eUWiOuVVm9wwTrnAgiJT6tp6HQHXxIhj2QSZ7NYZH80,5
|
|
127
|
+
lsst_pipe_base-30.2026.400.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
128
|
+
lsst_pipe_base-30.2026.400.dist-info/RECORD,,
|
{lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/COPYRIGHT
RENAMED
|
File without changes
|
{lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_pipe_base-30.2026.200.dist-info → lsst_pipe_base-30.2026.400.dist-info}/licenses/gpl-v3.0.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|