lsst-ctrl-bps-htcondor 30.0.0rc3__tar.gz → 30.0.1__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 (41) hide show
  1. {lsst_ctrl_bps_htcondor-30.0.0rc3/python/lsst_ctrl_bps_htcondor.egg-info → lsst_ctrl_bps_htcondor-30.0.1}/PKG-INFO +3 -3
  2. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/doc/lsst.ctrl.bps.htcondor/CHANGES.rst +17 -3
  3. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/doc/lsst.ctrl.bps.htcondor/userguide.rst +10 -7
  4. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/pyproject.toml +4 -12
  5. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/dagman_configurator.py +1 -1
  6. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/htcondor_service.py +2 -2
  7. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/lssthtc.py +12 -11
  8. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/version.py +1 -1
  9. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1/python/lsst_ctrl_bps_htcondor.egg-info}/PKG-INFO +3 -3
  10. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/COPYRIGHT +0 -0
  11. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/LICENSE +0 -0
  12. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/MANIFEST.in +0 -0
  13. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/README.rst +0 -0
  14. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/bsd_license.txt +0 -0
  15. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/doc/lsst.ctrl.bps.htcondor/index.rst +0 -0
  16. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/gpl-v3.0.txt +0 -0
  17. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/__init__.py +0 -0
  18. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/common_utils.py +0 -0
  19. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/etc/__init__.py +0 -0
  20. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/etc/htcondor_defaults.yaml +0 -0
  21. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/final_post.sh +0 -0
  22. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/handlers.py +0 -0
  23. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/htcondor_config.py +0 -0
  24. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/htcondor_workflow.py +0 -0
  25. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/prepare_utils.py +0 -0
  26. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/provisioner.py +0 -0
  27. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst/ctrl/bps/htcondor/report_utils.py +0 -0
  28. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst_ctrl_bps_htcondor.egg-info/SOURCES.txt +0 -0
  29. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst_ctrl_bps_htcondor.egg-info/dependency_links.txt +0 -0
  30. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst_ctrl_bps_htcondor.egg-info/requires.txt +0 -0
  31. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst_ctrl_bps_htcondor.egg-info/top_level.txt +0 -0
  32. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/python/lsst_ctrl_bps_htcondor.egg-info/zip-safe +0 -0
  33. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/setup.cfg +0 -0
  34. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_common_utils.py +0 -0
  35. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_dagman_configurator.py +0 -0
  36. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_handlers.py +0 -0
  37. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_htcondor_service.py +0 -0
  38. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_lssthtc.py +0 -0
  39. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_prepare_utils.py +0 -0
  40. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_provisioner.py +0 -0
  41. {lsst_ctrl_bps_htcondor-30.0.0rc3 → lsst_ctrl_bps_htcondor-30.0.1}/tests/test_report_utils.py +0 -0
@@ -1,20 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-bps-htcondor
3
- Version: 30.0.0rc3
3
+ Version: 30.0.1
4
4
  Summary: HTCondor plugin for lsst-ctrl-bps.
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_bps_htcondor
8
+ Project-URL: Source, https://github.com/lsst/ctrl_bps_htcondor
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Science/Research
10
11
  Classifier: Operating System :: OS Independent
11
12
  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.11.0
17
+ Requires-Python: >=3.12.0
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: COPYRIGHT
20
20
  License-File: LICENSE
@@ -1,3 +1,17 @@
1
+ lsst-ctrl-bps-htcondor v30.0.1 (2026-02-03)
2
+ ===========================================
3
+
4
+ Dropped support for Python 3.11.
5
+ Tested with Python 3.14.
6
+
7
+ Other Changes and Additions
8
+ ---------------------------
9
+
10
+ - - Switched docs action to use ``sphinxutils``.
11
+ - Bumped minimum Python version to 3.12.
12
+ - Dropped ``black`` and ``isort`` sections from ``pyproject.toml``. (`DM-54005 <https://rubinobs.atlassian.net/browse/DM-54005>`_)
13
+
14
+
1
15
  lsst-ctrl-bps-htcondor v30.0.0 (2026-01-16)
2
16
  ===========================================
3
17
 
@@ -5,7 +19,7 @@ New Features
5
19
  ------------
6
20
 
7
21
  - Added ability to bring the output files produced during job's execution back to the submit site. (`DM-48479 <https://rubinobs.atlassian.net/browse/DM-48479>`_)
8
- - Added ability to save job stdout/stderr across job retries by setting ``overwriteJobFiles`` to `False`` in the submit yaml. (`DM-51905 <https://rubinobs.atlassian.net/browse/DM-51905>`_)
22
+ - Added ability to save job stdout/stderr across job retries by setting ``overwriteJobFiles`` to ``false`` in the submit yaml. (`DM-51905 <https://rubinobs.atlassian.net/browse/DM-51905>`_)
9
23
  - Added a mechanism that lets the user configure DAGMan via submit YAML. (`DM-52778 <https://rubinobs.atlassian.net/browse/DM-52778>`_)
10
24
  - Added using the given priority as the DAG node priority in addition to the HTCondor job priority. (`DM-53753 <https://rubinobs.atlassian.net/browse/DM-53753>`_)
11
25
 
@@ -164,8 +178,8 @@ Other Changes and Additions
164
178
  - Make HTCondor treat all jobs exiting with a signal as if they ran out of memory. (`DM-32968 <https://rubinobs.atlassian.net/browse/DM-32968>`_)
165
179
  - Make HTCondor plugin pass a group and user attribute to any batch systems that require such attributes for accounting purposes. (`DM-33887 <https://rubinobs.atlassian.net/browse/DM-33887>`_)
166
180
 
167
- ctrl_bps v23.0.0 (2021-12-10)
168
- =============================
181
+ lsst-ctrl-bps-htcondor v23.0.0 (2021-12-10)
182
+ ===========================================
169
183
 
170
184
  New Features
171
185
  ------------
@@ -1,3 +1,6 @@
1
+ User Guide
2
+ ==========
3
+
1
4
  .. _htc-plugin-overview:
2
5
 
3
6
  Overview
@@ -6,7 +9,7 @@ Overview
6
9
  LSST Batch Processing Service (BPS) allows large-scale workflows to execute in
7
10
  well-managed fashion, potentially in multiple environments. The service is
8
11
  provided by the `ctrl_bps`_ package. ``ctrl_bps_htcondor`` is a plugin
9
- allowing `ctrl_bps` to execute workflows on computational resources managed by
12
+ allowing ``ctrl_bps`` to execute workflows on computational resources managed by
10
13
  `HTCondor`_.
11
14
 
12
15
  .. _htc-plugin-preqs:
@@ -89,8 +92,8 @@ Job Environment
89
92
  ^^^^^^^^^^^^^^^
90
93
 
91
94
  By default, the htcondor jobs copy the environment from the shell in which
92
- `bps submit` was executed. To set or override an environment variable via
93
- submission yaml, use an `environment` section. Other yaml values and pre-existing
95
+ ``bps submit`` was executed. To set or override an environment variable via
96
+ submission yaml, use an ``environment`` section. Other yaml values and pre-existing
94
97
  environment variables can be used. Some examples:
95
98
 
96
99
  .. code-block:: YAML
@@ -104,7 +107,7 @@ environment variables can be used. Some examples:
104
107
 
105
108
  .. note::
106
109
 
107
- The `environment` section has to be at the root level. There is no
110
+ The ``environment`` section has to be at the root level. There is no
108
111
  way to change the environment inside another level (e.g., per site,
109
112
  per cluster, per pipeline task)
110
113
 
@@ -397,11 +400,11 @@ by ``provisioningMaxIdleTime`` (default value: 15 min., see below) or maximum
397
400
  wall time is reached.
398
401
 
399
402
  The provisioning job is expected to run as long as the workflow. If the job
400
- dies, the job status will be `FAILED`. If the job just completed successfully,
401
- the job status will be `SUCCEEDED` with a message saying it ended early (which
403
+ dies, the job status will be ``FAILED``. If the job just completed successfully,
404
+ the job status will be ``SUCCEEDED`` with a message saying it ended early (which
402
405
  may or may not cause a problem since existing glideins could remain running).
403
406
  To get more information about either of these cases, check the job output
404
- and error files in the `jobs/provisioningJob` subdirectory.
407
+ and error files in the ``jobs/provisioningJob`` subdirectory.
405
408
 
406
409
 
407
410
  If the automatic provisioning of the resources is enabled, the script that the
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "lsst-ctrl-bps-htcondor"
7
- requires-python = ">=3.11.0"
7
+ requires-python = ">=3.12.0"
8
8
  description = "HTCondor plugin for lsst-ctrl-bps."
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,7 +16,6 @@ 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",
20
19
  "Programming Language :: Python :: 3.12",
21
20
  "Programming Language :: Python :: 3.13",
22
21
  "Programming Language :: Python :: 3.14",
@@ -36,6 +35,7 @@ dynamic = ["version"]
36
35
 
37
36
  [project.urls]
38
37
  "Homepage" = "https://github.com/lsst/ctrl_bps_htcondor"
38
+ "Source" = "https://github.com/lsst/ctrl_bps_htcondor"
39
39
 
40
40
  [project.optional-dependencies]
41
41
  test = [
@@ -93,15 +93,6 @@ version = { attr = "lsst_versions.get_lsst_version" }
93
93
  name = "An API Removal or Deprecation"
94
94
  showcontent = true
95
95
 
96
- [tool.black]
97
- line-length = 110
98
- target-version = ["py311"]
99
-
100
- [tool.isort]
101
- profile = "black"
102
- line_length = 110
103
- known_first_party = ["lsst"]
104
-
105
96
  [tool.lsst_versions]
106
97
  write_to = "python/lsst/ctrl/bps/htcondor/version.py"
107
98
 
@@ -127,7 +118,7 @@ exclude_lines = [
127
118
  ]
128
119
 
129
120
  [tool.ruff]
130
- target-version = "py311"
121
+ target-version = "py312"
131
122
  line-length = 110
132
123
  exclude = [
133
124
  "__init__.py",
@@ -194,6 +185,7 @@ checks = [
194
185
  "RT01", # Unfortunately our @property trigger this.
195
186
  "RT02", # Does not want named return value. DM style says we do.
196
187
  "SS05", # pydocstyle is better at finding infinitive verb.
188
+ "RT03", # Temporarily disable for sphinx empty returns.
197
189
  ]
198
190
  exclude = [
199
191
  '^__init__$',
@@ -91,7 +91,7 @@ class DagmanConfigurator:
91
91
  ----------
92
92
  config : `lsst.ctrl.bps.BpsConfig`
93
93
  BPS configuration.
94
- search_opts : `dict` [`str`, `Any`], optional
94
+ search_opts : `dict` [`str`, `~typing.Any`], optional
95
95
  Options to use while searching the BPS configuration for values.
96
96
 
97
97
  Raises
@@ -100,7 +100,7 @@ class HTCondorService(BaseWmsService):
100
100
 
101
101
  Returns
102
102
  -------
103
- workflow : `lsst.ctrl.bps.wms.htcondor.HTCondorWorkflow`
103
+ workflow : `lsst.ctrl.bps.htcondor.HTCondorWorkflow`
104
104
  HTCondor workflow ready to be run.
105
105
  """
106
106
  _LOG.debug("out_prefix = '%s'", out_prefix)
@@ -141,7 +141,7 @@ class HTCondorService(BaseWmsService):
141
141
 
142
142
  Parameters
143
143
  ----------
144
- workflow : `lsst.ctrl.bps.BaseWorkflow`
144
+ workflow : `lsst.ctrl.bps.htcondor.HTCondorWorkflow`
145
145
  A single HTCondor workflow to submit. run_id is updated after
146
146
  successful submission to WMS.
147
147
  **kwargs : `~typing.Any`
@@ -244,7 +244,7 @@ class RestrictedDict(MutableMapping):
244
244
 
245
245
  Parameters
246
246
  ----------
247
- valid_keys : `Container`
247
+ valid_keys : `~collections.abc.Container`
248
248
  Strings that are valid keys.
249
249
  init_data : `dict` or `RestrictedDict`, optional
250
250
  Initial data.
@@ -491,7 +491,7 @@ def htc_write_attribs(stream, attrs):
491
491
 
492
492
  Parameters
493
493
  ----------
494
- stream : `~io.TextIOBase`
494
+ stream : `~typing.TextIO`
495
495
  Output text stream (typically an open file).
496
496
  attrs : `dict`
497
497
  HTCondor job attributes (dictionary of attribute key, value).
@@ -513,7 +513,7 @@ def htc_write_condor_file(
513
513
 
514
514
  Parameters
515
515
  ----------
516
- filename : `str` or os.PathLike
516
+ filename : `str` or `os.PathLike`
517
517
  Filename for the HTCondor submit file.
518
518
  job_name : `str`
519
519
  Job name to use in submit file.
@@ -824,7 +824,7 @@ def _htc_write_job_commands(stream, name, commands):
824
824
 
825
825
  Parameters
826
826
  ----------
827
- stream : `~io.TextIOBase`
827
+ stream : `~typing.TextIO`
828
828
  Writeable text stream (typically an opened file).
829
829
  name : `str`
830
830
  Job name.
@@ -981,7 +981,7 @@ class HTCJob:
981
981
 
982
982
  Parameters
983
983
  ----------
984
- stream : `IO` or `str`
984
+ stream : `~typing.TextIO`
985
985
  Output Stream.
986
986
  dag_rel_path : `str`
987
987
  Relative path of dag to submit directory.
@@ -1009,7 +1009,7 @@ class HTCJob:
1009
1009
 
1010
1010
  Parameters
1011
1011
  ----------
1012
- fh : `~io.TextIOBase`
1012
+ fh : `~typing.TextIO`
1013
1013
  Output stream.
1014
1014
  """
1015
1015
  printer = pprint.PrettyPrinter(indent=4, stream=fh)
@@ -1023,8 +1023,9 @@ class HTCDag(networkx.DiGraph):
1023
1023
 
1024
1024
  Parameters
1025
1025
  ----------
1026
- data : networkx.DiGraph.data
1027
- Initial graph.
1026
+ data : `~typing.Any`
1027
+ Initial graph data of any format that is supported
1028
+ by the to_network_graph() function.
1028
1029
  name : `str`
1029
1030
  Name for DAG.
1030
1031
  """
@@ -1216,7 +1217,7 @@ class HTCDag(networkx.DiGraph):
1216
1217
 
1217
1218
  Parameters
1218
1219
  ----------
1219
- fh : `io.IO` or `str`
1220
+ fh : `typing.IO`
1220
1221
  Where to dump DAG info as text.
1221
1222
  """
1222
1223
  for key, value in self.graph:
@@ -1303,7 +1304,7 @@ def condor_query(constraint=None, schedds=None, query_func=htc_query_present, **
1303
1304
  HTCondor schedulers which to query for job information. If None
1304
1305
  (default), the query will be run against the history file of
1305
1306
  the local scheduler only.
1306
- query_func : callable
1307
+ query_func : `~collections.abc.Callable`
1307
1308
  An query function which takes following arguments:
1308
1309
 
1309
1310
  - ``schedds``: Schedulers to query (`list` [`htcondor.Schedd`]).
@@ -1660,7 +1661,7 @@ def read_dag_status(wms_path: str | os.PathLike) -> dict[str, Any]:
1660
1661
 
1661
1662
  Parameters
1662
1663
  ----------
1663
- wms_path : `str` or `os.PathLike
1664
+ wms_path : `str` or `os.PathLike`
1664
1665
  Path that includes node status file for a run.
1665
1666
 
1666
1667
  Returns
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "30.0.0rc3"
2
+ __version__ = "30.0.1"
@@ -1,20 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-bps-htcondor
3
- Version: 30.0.0rc3
3
+ Version: 30.0.1
4
4
  Summary: HTCondor plugin for lsst-ctrl-bps.
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_bps_htcondor
8
+ Project-URL: Source, https://github.com/lsst/ctrl_bps_htcondor
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Science/Research
10
11
  Classifier: Operating System :: OS Independent
11
12
  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.11.0
17
+ Requires-Python: >=3.12.0
18
18
  Description-Content-Type: text/x-rst
19
19
  License-File: COPYRIGHT
20
20
  License-File: LICENSE