lsst-ctrl-mpexec 30.0.1rc1__tar.gz → 30.2026.400__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.
- {lsst_ctrl_mpexec-30.0.1rc1/python/lsst_ctrl_mpexec.egg-info → lsst_ctrl_mpexec-30.2026.400}/PKG-INFO +3 -3
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/CHANGES.rst +2 -14
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/pyproject.toml +4 -4
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/butler_factory.py +1 -1
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/cmd/commands.py +14 -15
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/qgraph.py +1 -1
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/report.py +23 -29
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/mpGraphExecutor.py +4 -7
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/preExecInit.py +2 -2
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/singleQuantumExecutor.py +6 -9
- lsst_ctrl_mpexec-30.2026.400/python/lsst/ctrl/mpexec/version.py +2 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400/python/lsst_ctrl_mpexec.egg-info}/PKG-INFO +3 -3
- lsst_ctrl_mpexec-30.0.1rc1/python/lsst/ctrl/mpexec/version.py +0 -2
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/COPYRIGHT +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/LICENSE +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/MANIFEST.in +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/README.rst +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/bsd_license.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/configuring-pipetask-tasks.rst +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/index.rst +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/pipetask.rst +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/gpl-v3.0.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/_pipeline_graph_factory.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/cmd/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/arguments.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/optionGroups.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/options.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/pipetask.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/__init__.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/build.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/cleanup.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/confirmable.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/pre_exec_init_qbb.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/purge.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/run.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/run_qbb.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/update_graph_run.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/utils.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/execFixupDataId.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/executionGraphFixup.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/log_capture.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/py.typed +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/quantumGraphExecutor.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/reports.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/separablePipelineExecutor.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/showInfo.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/simple_pipeline_executor.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/taskFactory.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/util.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/SOURCES.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/dependency_links.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/entry_points.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/requires.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/top_level.txt +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/zip-safe +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/setup.cfg +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_build.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdCleanup.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdPurge.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdReport.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdUpdateGraphRun.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliUtils.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_preExecInit.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_qgraph.py +0 -0
- {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_run.py +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-mpexec
|
|
3
|
-
Version: 30.
|
|
3
|
+
Version: 30.2026.400
|
|
4
4
|
Summary: Pipeline execution infrastructure for the Rubin Observatory LSST 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/ctrl_mpexec
|
|
8
|
-
Project-URL: Source, https://github.com/lsst/ctrl_mpexec
|
|
9
8
|
Keywords: lsst
|
|
10
9
|
Classifier: Intended Audience :: Science/Research
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.14
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.11.0
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: COPYRIGHT
|
|
20
20
|
License-File: LICENSE
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/CHANGES.rst
RENAMED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
lsst-ctrl-mpexec v30.0.1 (2026-02-03)
|
|
2
|
-
=====================================
|
|
3
|
-
|
|
4
|
-
Dropped support for Python 3.11.
|
|
5
|
-
Tested on Python 3.14.
|
|
6
|
-
|
|
7
|
-
New Features
|
|
8
|
-
------------
|
|
9
|
-
|
|
10
|
-
- Adds the ``--show inputs`` option to ``pipetask build``. (`DM-52738 <https://rubinobs.atlassian.net/browse/DM-52738>`_)
|
|
11
|
-
|
|
12
|
-
|
|
13
1
|
lsst-ctrl-mpexec v30.0.0 (2026-01-16)
|
|
14
2
|
=====================================
|
|
15
3
|
|
|
@@ -274,7 +262,7 @@ API Changes
|
|
|
274
262
|
* New class ``PreExecInitLimited`` which performs pre-exec-init in case of Quantum-backed butler.
|
|
275
263
|
The code that it shares with a regular ``PreExecInit`` class is now in their common base class ``PreExecInitBase``. (`DM-33497 <https://rubinobs.atlassian.net/browse/DM-33497>`_)
|
|
276
264
|
- Added new ``resources`` parameter to ``SingleQuantumExecutor``, ``SimplePipelineExecutor``, and ``SeparablePipelineExecutor`` constructors.
|
|
277
|
-
This optional parameter is a `~lsst.pipe.base.ExecutionResources` object and allows the execution context to be passed into the `~lsst.pipe.base.
|
|
265
|
+
This optional parameter is a `~lsst.pipe.base.ExecutionResources` object and allows the execution context to be passed into the `~lsst.pipe.base.PipelinesTask.runQuantum` method. (`DM-39661 <https://rubinobs.atlassian.net/browse/DM-39661>`_)
|
|
278
266
|
|
|
279
267
|
|
|
280
268
|
Bug Fixes
|
|
@@ -294,7 +282,7 @@ Other Changes and Additions
|
|
|
294
282
|
Previously this did not matter (the graph run was being ignored) but with the change to always use the ``DatasetRef`` from the graph it becomes critical that they match. (`DM-38779 <https://rubinobs.atlassian.net/browse/DM-38779>`_)
|
|
295
283
|
- Revive the previously-bitrotted pipeline mocking system.
|
|
296
284
|
|
|
297
|
-
Most of the implementation has been moved to
|
|
285
|
+
Most of the implementation has been moved to `pipe_base`, and the point at which mocking occurs has moved from execution to just before `QuantumGraph` generation, which changes which `pipetask` subcommands the `--mock` option is valid for. (`DM-38952 <https://rubinobs.atlassian.net/browse/DM-38952>`_)
|
|
298
286
|
- Updated the directed graph color scheme with an aim towards making node text easier to read.
|
|
299
287
|
The previous pipeline directed graph nodes used dark gray as their background color.
|
|
300
288
|
It had been reported that it is difficult to read the black text on the dark gray background.
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "lsst-ctrl-mpexec"
|
|
7
|
-
requires-python = ">=3.
|
|
7
|
+
requires-python = ">=3.11.0"
|
|
8
8
|
description = "Pipeline execution infrastructure for the Rubin Observatory LSST Science Pipelines."
|
|
9
9
|
license = "BSD-3-Clause OR GPL-3.0-or-later"
|
|
10
10
|
license-files = ["COPYRIGHT", "LICENSE", "bsd_license.txt", "gpl-v3.0.txt"]
|
|
@@ -16,6 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Intended Audience :: Science/Research",
|
|
17
17
|
"Operating System :: OS Independent",
|
|
18
18
|
"Programming Language :: Python :: 3",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
19
20
|
"Programming Language :: Python :: 3.12",
|
|
20
21
|
"Programming Language :: Python :: 3.13",
|
|
21
22
|
"Programming Language :: Python :: 3.14",
|
|
@@ -37,7 +38,6 @@ dynamic = ["version"]
|
|
|
37
38
|
|
|
38
39
|
[project.urls]
|
|
39
40
|
"Homepage" = "https://github.com/lsst/ctrl_mpexec"
|
|
40
|
-
"Source" = "https://github.com/lsst/ctrl_mpexec"
|
|
41
41
|
|
|
42
42
|
[project.optional-dependencies]
|
|
43
43
|
coverage = ["coverage"]
|
|
@@ -98,7 +98,7 @@ pipetask = "lsst.ctrl.mpexec.cli.pipetask:main"
|
|
|
98
98
|
|
|
99
99
|
[tool.black]
|
|
100
100
|
line-length = 110
|
|
101
|
-
target-version = ["
|
|
101
|
+
target-version = ["py311"]
|
|
102
102
|
|
|
103
103
|
[tool.isort]
|
|
104
104
|
profile = "black"
|
|
@@ -133,7 +133,7 @@ exclude_lines = [
|
|
|
133
133
|
|
|
134
134
|
[tool.ruff]
|
|
135
135
|
line-length = 110
|
|
136
|
-
target-version = "
|
|
136
|
+
target-version = "py311"
|
|
137
137
|
exclude = [
|
|
138
138
|
"__init__.py",
|
|
139
139
|
]
|
|
@@ -393,7 +393,7 @@ class ButlerFactory:
|
|
|
393
393
|
butler : `lsst.daf.butler.Butler`
|
|
394
394
|
A read-only butler that collections will be added to and/or queried
|
|
395
395
|
from.
|
|
396
|
-
inputs :
|
|
396
|
+
inputs : `Sequence` [ `str` ]
|
|
397
397
|
Collections to search for datasets.
|
|
398
398
|
run : `str` or `None`
|
|
399
399
|
Name of the output `~lsst.daf.butler.CollectionType.RUN` collection
|
|
@@ -357,7 +357,7 @@ def update_graph_run(
|
|
|
357
357
|
is_flag=True,
|
|
358
358
|
default=False,
|
|
359
359
|
help="Use the QuantumProvenanceGraph instead of the QuantumGraphExecutionReport, "
|
|
360
|
-
"even when there is only one qgraph. Otherwise, the QuantumGraphExecutionReport "
|
|
360
|
+
"even when there is only one qgraph. Otherwise, the `QuantumGraphExecutionReport` "
|
|
361
361
|
"will run on one graph by default.",
|
|
362
362
|
)
|
|
363
363
|
@click.option(
|
|
@@ -400,18 +400,18 @@ def report(
|
|
|
400
400
|
recoveries and persistent failures. Identify mismatch errors between
|
|
401
401
|
attempts.
|
|
402
402
|
|
|
403
|
-
Save the report as a file (
|
|
404
|
-
|
|
405
|
-
|
|
403
|
+
Save the report as a file (`--full-output-filename`) or print it to stdout
|
|
404
|
+
(default). If the terminal is overwhelmed with data_ids from failures try
|
|
405
|
+
the `--brief` option.
|
|
406
406
|
|
|
407
|
-
Butler
|
|
408
|
-
`lsst.daf.butler.
|
|
409
|
-
|
|
410
|
-
|
|
407
|
+
Butler `collections` and `where` options are for use in
|
|
408
|
+
`lsst.daf.butler.queryDatasets` if paring down the collections would be
|
|
409
|
+
useful. Pass collections in order of most to least recent. By default the
|
|
410
|
+
collections and query will be taken from the graphs.
|
|
411
411
|
|
|
412
412
|
REPO is the location of the butler/registry config file.
|
|
413
413
|
|
|
414
|
-
QGRAPHS is a
|
|
414
|
+
QGRAPHS is a `Sequence` of links to serialized Quantum Graphs which have
|
|
415
415
|
been executed and are to be analyzed. Pass the graphs in order of first to
|
|
416
416
|
last executed.
|
|
417
417
|
"""
|
|
@@ -456,13 +456,12 @@ def aggregate_reports(
|
|
|
456
456
|
Summary over common tasks and datasets. Intended for use when the same
|
|
457
457
|
pipeline has been run over all groups (i.e., to aggregate all reports
|
|
458
458
|
for a given step). This functionality is only compatible with reports
|
|
459
|
-
from the
|
|
460
|
-
|
|
461
|
-
option.
|
|
459
|
+
from the `QuantumProvenanceGraph`, so the reports must be run over multiple
|
|
460
|
+
groups or with the `--force-v2` option.
|
|
462
461
|
|
|
463
|
-
Save the report as a file (
|
|
464
|
-
|
|
465
|
-
|
|
462
|
+
Save the report as a file (`--full-output-filename`) or print it to stdout
|
|
463
|
+
(default). If the terminal is overwhelmed with data_ids from failures try
|
|
464
|
+
the `--brief` option.
|
|
466
465
|
|
|
467
466
|
FILENAMES are the space-separated paths to json file output created by
|
|
468
467
|
pipetask report.
|
|
@@ -100,7 +100,7 @@ def qgraph(
|
|
|
100
100
|
----------
|
|
101
101
|
pipeline_graph_factory : `..PipelineGraphFactory` or `None`
|
|
102
102
|
A factory that holds the pipeline and can produce a pipeline graph.
|
|
103
|
-
If this is not `None` then
|
|
103
|
+
If this is not `None` then `qgraph` should be `None`.
|
|
104
104
|
qgraph : convertible to `lsst.resources.ResourcePath`, or `None`
|
|
105
105
|
URI location for a serialized quantum graph definition. If this option
|
|
106
106
|
is not `None` then ``pipeline_graph_factory`` should be `None`.
|
|
@@ -45,7 +45,7 @@ def report(
|
|
|
45
45
|
) -> None:
|
|
46
46
|
"""Summarize the produced, missing and expected quanta and
|
|
47
47
|
datasets belonging to an executed quantum graph using the
|
|
48
|
-
`
|
|
48
|
+
`QuantumGraphExecutionReport`.
|
|
49
49
|
|
|
50
50
|
Parameters
|
|
51
51
|
----------
|
|
@@ -141,17 +141,16 @@ def report_v2(
|
|
|
141
141
|
butler_config : `str`
|
|
142
142
|
The Butler used for this report. This should match the Butler used for
|
|
143
143
|
the run associated with the executed quantum graph.
|
|
144
|
-
qgraph_uris :
|
|
144
|
+
qgraph_uris : `Sequence` [`str`]
|
|
145
145
|
One or more uris to the serialized Quantum Graph(s).
|
|
146
|
-
collections :
|
|
146
|
+
collections : `Sequence` [`str`] | None`
|
|
147
147
|
Collection(s) associated with said graphs/processing. For use in
|
|
148
|
-
`lsst.daf.butler.
|
|
148
|
+
`lsst.daf.butler.registry.queryDatasets` if paring down the query would
|
|
149
149
|
be useful.
|
|
150
150
|
where : `str`
|
|
151
151
|
A "where" string to use to constrain the collections, if passed.
|
|
152
152
|
full_output_filename : `str`
|
|
153
|
-
Output the full pydantic model
|
|
154
|
-
`lsst.pipe.base.quantum_provenance_graph.Summary` object
|
|
153
|
+
Output the full pydantic model `QuantumProvenanceGraph.Summary` object
|
|
155
154
|
into a JSON file. This is ideal for error-matching and cataloguing
|
|
156
155
|
tools such as the ones used by Campaign Management software and pilots,
|
|
157
156
|
and for searching and counting specific kinds or instances of failures.
|
|
@@ -185,8 +184,7 @@ def report_v2(
|
|
|
185
184
|
n_cores : `int`, optional
|
|
186
185
|
Number of cores for metadata and log reads.
|
|
187
186
|
view_graph : `bool`
|
|
188
|
-
Display a graph representation of
|
|
189
|
-
`lsst.pipe.base.quantum_provenance_graph.Summary` on
|
|
187
|
+
Display a graph representation of `QuantumProvenanceGraph.Summary` on
|
|
190
188
|
stdout instead of the default plain-text summary. Pipeline graph nodes
|
|
191
189
|
are then annotated with their status. This is a useful way to visualize
|
|
192
190
|
the flow of quanta and datasets through the graph and to identify where
|
|
@@ -237,29 +235,25 @@ def report_v2(
|
|
|
237
235
|
def aggregate_reports(
|
|
238
236
|
filenames: Sequence[str], full_output_filename: str | None, brief: bool = False
|
|
239
237
|
) -> None:
|
|
240
|
-
"""Aggregrate multiple
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
This is intended for reports over the same tasks in the same pipeline,
|
|
245
|
-
after ``pipetask report`` has been resolved over all graphs associated with
|
|
246
|
-
each group.
|
|
238
|
+
"""Aggregrate multiple `QuantumProvenanceGraph` summaries on separate
|
|
239
|
+
dataquery-identified groups into one wholistic report. This is intended for
|
|
240
|
+
reports over the same tasks in the same pipeline, after `pipetask report`
|
|
241
|
+
has been resolved over all graphs associated with each group.
|
|
247
242
|
|
|
248
243
|
Parameters
|
|
249
244
|
----------
|
|
250
|
-
filenames :
|
|
251
|
-
The paths to the JSON files produced by
|
|
252
|
-
is only compatible with the multi-graph or
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
full_output_filename : `str` | `None`
|
|
245
|
+
filenames : `Sequence[str]`
|
|
246
|
+
The paths to the JSON files produced by `pipetask report` (note: this
|
|
247
|
+
is only compatible with the multi-graph or `--force-v2` option). These
|
|
248
|
+
files correspond to the `QuantumProvenanceGraph.Summary` objects which
|
|
249
|
+
are produced for each group.
|
|
250
|
+
full_output_filename : `str | None`
|
|
257
251
|
The name of the JSON file in which to store the aggregate report, if
|
|
258
252
|
passed. This is passed to `print_summary` at the end of this function.
|
|
259
|
-
brief : `bool
|
|
253
|
+
brief : `bool = False`
|
|
260
254
|
Only display short (counts-only) summary on stdout. This includes
|
|
261
255
|
counts and not error messages or data_ids (similar to BPS report).
|
|
262
|
-
This option will still report all
|
|
256
|
+
This option will still report all `cursed` datasets and `wonky`
|
|
263
257
|
quanta. This is passed to `print_summary` at the end of this function.
|
|
264
258
|
"""
|
|
265
259
|
summaries: list[Summary] = []
|
|
@@ -272,15 +266,15 @@ def aggregate_reports(
|
|
|
272
266
|
|
|
273
267
|
|
|
274
268
|
def print_summary(summary: Summary, full_output_filename: str | None, brief: bool = False) -> None:
|
|
275
|
-
"""Take a `
|
|
276
|
-
|
|
269
|
+
"""Take a `QuantumProvenanceGraph.Summary` object and write it to a file
|
|
270
|
+
and/or the screen.
|
|
277
271
|
|
|
278
272
|
Parameters
|
|
279
273
|
----------
|
|
280
|
-
summary : `
|
|
274
|
+
summary : `QuantumProvenanceGraph.Summary`
|
|
281
275
|
This `Pydantic` model contains all the information derived from the
|
|
282
|
-
`
|
|
283
|
-
full_output_filename : `str
|
|
276
|
+
`QuantumProvenanceGraph`.
|
|
277
|
+
full_output_filename : `str | None`
|
|
284
278
|
Name of the JSON file in which to store summary information, if
|
|
285
279
|
passed.
|
|
286
280
|
brief : `bool`
|
|
@@ -49,6 +49,10 @@ class MPGraphExecutor(lsst.pipe.base.mp_graph_executor.MPGraphExecutor):
|
|
|
49
49
|
"""Implementation of QuantumGraphExecutor using same-host multiprocess
|
|
50
50
|
execution of Quanta.
|
|
51
51
|
|
|
52
|
+
This is a deprecated backwards-compatibility shim for
|
|
53
|
+
`lsst.pipe.base.mp_graph_executor.MPGraphExecutor`, which has
|
|
54
|
+
the same functionality with very minor interface changes.
|
|
55
|
+
|
|
52
56
|
Parameters
|
|
53
57
|
----------
|
|
54
58
|
numProc : `int`
|
|
@@ -70,13 +74,6 @@ class MPGraphExecutor(lsst.pipe.base.mp_graph_executor.MPGraphExecutor):
|
|
|
70
74
|
`lsst.pipe.base.execution_graph_fixup.ExecutionGraphFixup`, \
|
|
71
75
|
optional
|
|
72
76
|
Instance used for modification of execution graph.
|
|
73
|
-
|
|
74
|
-
Notes
|
|
75
|
-
-----
|
|
76
|
-
This is a deprecated backwards-compatibility shim for
|
|
77
|
-
`lsst.pipe.base.mp_graph_executor.MPGraphExecutor`, which has
|
|
78
|
-
the same functionality with very minor interface changes.
|
|
79
|
-
|
|
80
77
|
"""
|
|
81
78
|
|
|
82
79
|
def __init__(
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/preExecInit.py
RENAMED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
from __future__ import annotations
|
|
29
29
|
|
|
30
|
-
__all__ = ["PreExecInit"
|
|
30
|
+
__all__ = ["PreExecInit"]
|
|
31
31
|
|
|
32
32
|
# -------------------------------
|
|
33
33
|
# Imports of standard modules --
|
|
@@ -157,7 +157,7 @@ class PreExecInitBase(abc.ABC):
|
|
|
157
157
|
|
|
158
158
|
Raises
|
|
159
159
|
------
|
|
160
|
-
|
|
160
|
+
ConflictingDefinitionError
|
|
161
161
|
Raised if existing object in butler is different from new data, or
|
|
162
162
|
if ``extendRun`` is `False` and datasets already exists.
|
|
163
163
|
Content of a butler collection should not be changed if this
|
|
@@ -54,6 +54,10 @@ if TYPE_CHECKING:
|
|
|
54
54
|
class SingleQuantumExecutor(lsst.pipe.base.single_quantum_executor.SingleQuantumExecutor):
|
|
55
55
|
"""Executor class which runs one Quantum at a time.
|
|
56
56
|
|
|
57
|
+
This is a deprecated backwards-compatibility shim for
|
|
58
|
+
`lsst.pipe.base.single_quantum_executor.SingleQuantumExecutor`, which has
|
|
59
|
+
the same functionality with very minor interface changes.
|
|
60
|
+
|
|
57
61
|
Parameters
|
|
58
62
|
----------
|
|
59
63
|
butler : `~lsst.daf.butler.Butler` or `None`
|
|
@@ -75,7 +79,7 @@ class SingleQuantumExecutor(lsst.pipe.base.single_quantum_executor.SingleQuantum
|
|
|
75
79
|
a quantum will be removed. Only used when ``butler`` is not `None`.
|
|
76
80
|
enableLsstDebug : `bool`, optional
|
|
77
81
|
Enable debugging with ``lsstDebug`` facility for a task.
|
|
78
|
-
limited_butler_factory :
|
|
82
|
+
limited_butler_factory : `Callable`, optional
|
|
79
83
|
A method that creates a `~lsst.daf.butler.LimitedButler` instance for a
|
|
80
84
|
given Quantum. This parameter must be defined if ``butler`` is `None`.
|
|
81
85
|
If ``butler`` is not `None` then this parameter is ignored.
|
|
@@ -94,7 +98,7 @@ class SingleQuantumExecutor(lsst.pipe.base.single_quantum_executor.SingleQuantum
|
|
|
94
98
|
of those to `False`, it also avoids all dataset existence checks.
|
|
95
99
|
raise_on_partial_outputs : `bool`, optional
|
|
96
100
|
If `True` raise exceptions chained by
|
|
97
|
-
`lsst.pipe.base.
|
|
101
|
+
`lsst.pipe.base.AnnotatedPartialOutputError` immediately, instead of
|
|
98
102
|
considering the partial result a success and continuing to run
|
|
99
103
|
downstream tasks.
|
|
100
104
|
job_metadata : `~collections.abc.Mapping`
|
|
@@ -102,13 +106,6 @@ class SingleQuantumExecutor(lsst.pipe.base.single_quantum_executor.SingleQuantum
|
|
|
102
106
|
the "job" key. This is intended to correspond to information common
|
|
103
107
|
to all quanta being executed in a single process, such as the time
|
|
104
108
|
taken to load the quantum graph in a BPS job.
|
|
105
|
-
|
|
106
|
-
Notes
|
|
107
|
-
-----
|
|
108
|
-
This is a deprecated backwards-compatibility shim for
|
|
109
|
-
`lsst.pipe.base.single_quantum_executor.SingleQuantumExecutor`, which has
|
|
110
|
-
the same functionality with very minor interface changes.
|
|
111
|
-
|
|
112
109
|
"""
|
|
113
110
|
|
|
114
111
|
def __init__(
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: lsst-ctrl-mpexec
|
|
3
|
-
Version: 30.
|
|
3
|
+
Version: 30.2026.400
|
|
4
4
|
Summary: Pipeline execution infrastructure for the Rubin Observatory LSST 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/ctrl_mpexec
|
|
8
|
-
Project-URL: Source, https://github.com/lsst/ctrl_mpexec
|
|
9
8
|
Keywords: lsst
|
|
10
9
|
Classifier: Intended Audience :: Science/Research
|
|
11
10
|
Classifier: Operating System :: OS Independent
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.14
|
|
16
16
|
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.11.0
|
|
18
18
|
Description-Content-Type: text/x-rst
|
|
19
19
|
License-File: COPYRIGHT
|
|
20
20
|
License-File: LICENSE
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/pipetask.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/pipetask.py
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
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/log_capture.py
RENAMED
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/reports.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/showInfo.py
RENAMED
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/taskFactory.py
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdUpdateGraphRun.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|