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.
Files changed (70) hide show
  1. {lsst_ctrl_mpexec-30.0.1rc1/python/lsst_ctrl_mpexec.egg-info → lsst_ctrl_mpexec-30.2026.400}/PKG-INFO +3 -3
  2. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/CHANGES.rst +2 -14
  3. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/pyproject.toml +4 -4
  4. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/butler_factory.py +1 -1
  5. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/cmd/commands.py +14 -15
  6. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/qgraph.py +1 -1
  7. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/report.py +23 -29
  8. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/mpGraphExecutor.py +4 -7
  9. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/preExecInit.py +2 -2
  10. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/singleQuantumExecutor.py +6 -9
  11. lsst_ctrl_mpexec-30.2026.400/python/lsst/ctrl/mpexec/version.py +2 -0
  12. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400/python/lsst_ctrl_mpexec.egg-info}/PKG-INFO +3 -3
  13. lsst_ctrl_mpexec-30.0.1rc1/python/lsst/ctrl/mpexec/version.py +0 -2
  14. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/COPYRIGHT +0 -0
  15. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/LICENSE +0 -0
  16. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/MANIFEST.in +0 -0
  17. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/README.rst +0 -0
  18. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/bsd_license.txt +0 -0
  19. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/configuring-pipetask-tasks.rst +0 -0
  20. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/index.rst +0 -0
  21. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/doc/lsst.ctrl.mpexec/pipetask.rst +0 -0
  22. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/gpl-v3.0.txt +0 -0
  23. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/__init__.py +0 -0
  24. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/__init__.py +0 -0
  25. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/__init__.py +0 -0
  26. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/_pipeline_graph_factory.py +0 -0
  27. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/__init__.py +0 -0
  28. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/cmd/__init__.py +0 -0
  29. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/__init__.py +0 -0
  30. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/arguments.py +0 -0
  31. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/optionGroups.py +0 -0
  32. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/opt/options.py +0 -0
  33. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/pipetask.py +0 -0
  34. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/__init__.py +0 -0
  35. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/build.py +0 -0
  36. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/cleanup.py +0 -0
  37. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/confirmable.py +0 -0
  38. {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
  39. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/purge.py +0 -0
  40. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/run.py +0 -0
  41. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/run_qbb.py +0 -0
  42. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/script/update_graph_run.py +0 -0
  43. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/cli/utils.py +0 -0
  44. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/execFixupDataId.py +0 -0
  45. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/executionGraphFixup.py +0 -0
  46. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/log_capture.py +0 -0
  47. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/py.typed +0 -0
  48. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/quantumGraphExecutor.py +0 -0
  49. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/reports.py +0 -0
  50. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/separablePipelineExecutor.py +0 -0
  51. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/showInfo.py +0 -0
  52. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/simple_pipeline_executor.py +0 -0
  53. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/taskFactory.py +0 -0
  54. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst/ctrl/mpexec/util.py +0 -0
  55. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/SOURCES.txt +0 -0
  56. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/dependency_links.txt +0 -0
  57. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/entry_points.txt +0 -0
  58. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/requires.txt +0 -0
  59. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/top_level.txt +0 -0
  60. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/python/lsst_ctrl_mpexec.egg-info/zip-safe +0 -0
  61. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/setup.cfg +0 -0
  62. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_build.py +0 -0
  63. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdCleanup.py +0 -0
  64. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdPurge.py +0 -0
  65. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdReport.py +0 -0
  66. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliCmdUpdateGraphRun.py +0 -0
  67. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_cliUtils.py +0 -0
  68. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_preExecInit.py +0 -0
  69. {lsst_ctrl_mpexec-30.0.1rc1 → lsst_ctrl_mpexec-30.2026.400}/tests/test_qgraph.py +0 -0
  70. {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.0.1rc1
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.12.0
17
+ Requires-Python: >=3.11.0
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: COPYRIGHT
20
20
  License-File: LICENSE
@@ -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.PipelineTask.runQuantum` method. (`DM-39661 <https://rubinobs.atlassian.net/browse/DM-39661>`_)
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 ``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>`_)
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.12.0"
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 = ["py312"]
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 = "py312"
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 : `~collections.abc.Sequence` [ `str` ]
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 (``--full-output-filename``) or print it to
404
- stdout (default). If the terminal is overwhelmed with data_ids from
405
- failures try the ``--brief`` option.
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 ``collections`` and ``where`` options are for use in
408
- `lsst.daf.butler.Registry.queryDatasets` if paring down the collections
409
- would be useful. Pass collections in order of most to least recent. By
410
- default the collections and query will be taken from the graphs.
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 sequence of links to serialized Quantum Graphs which have
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 `~lsst.pipe.base.quantum_provenance_graph.QuantumProvenanceGraph`,
460
- so the reports must be run over multiple groups or with the ``--force-v2``
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 (``--full-output-filename``) or print it to
464
- stdout (default). If the terminal is overwhelmed with data_ids from
465
- failures try the ``--brief`` option.
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 ``qgraph`` should be `None`.
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
- `lsst.pipe.base.execution_reports.QuantumGraphExecutionReport`.
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 : `~collections.abc.Sequence` [`str`]
144
+ qgraph_uris : `Sequence` [`str`]
145
145
  One or more uris to the serialized Quantum Graph(s).
146
- collections : `~collections.abc.Sequence` [`str`] | `None`
146
+ collections : `Sequence` [`str`] | None`
147
147
  Collection(s) associated with said graphs/processing. For use in
148
- `lsst.daf.butler.Registry.queryDatasets` if paring down the query would
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
- `lsst.pipe.base.quantum_provenance_graph.QuantumProvenanceGraph` summaries
242
- on separate dataquery-identified groups into one wholistic report.
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 : `~collections.abc.Sequence` [`str`]
251
- The paths to the JSON files produced by ``pipetask report`` (note: this
252
- is only compatible with the multi-graph or ``--force-v2`` option).
253
- These files correspond to the
254
- `lsst.pipe.base.quantum_provenance_graph.Summary` objects
255
- which are produced for each group.
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`, optional
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 ``cursed`` datasets and ``wonky``
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 `lsst.pipe.base.quantum_provenance_graph.Summary` object and
276
- write it to a file and/or the screen.
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 : `lsst.pipe.base.quantum_provenance_graph.Summary`
274
+ summary : `QuantumProvenanceGraph.Summary`
281
275
  This `Pydantic` model contains all the information derived from the
282
- `lsst.pipe.base.quantum_provenance_graphQuantumProvenanceGraph`.
283
- full_output_filename : `str` | `None`
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__(
@@ -27,7 +27,7 @@
27
27
 
28
28
  from __future__ import annotations
29
29
 
30
- __all__ = ["PreExecInit", "PreExecInitBase"]
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
- lsst.daf.butler.registry.ConflictingDefinitionError
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 : `~collections.abc.Callable`, optional
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.AnnotatedPartialOutputsError` immediately, instead of
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__(
@@ -0,0 +1,2 @@
1
+ __all__ = ["__version__"]
2
+ __version__ = "30.2026.400"
@@ -1,20 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-mpexec
3
- Version: 30.0.1rc1
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.12.0
17
+ Requires-Python: >=3.11.0
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: COPYRIGHT
20
20
  License-File: LICENSE
@@ -1,2 +0,0 @@
1
- __all__ = ["__version__"]
2
- __version__ = "30.0.1rc1"