Skip to content

Commit 47d12e1

Browse files
authored
Merge pull request #230 from lsst/tickets/DM-54014
DM-54014: v30.0.1 release notes
2 parents 1519763 + f0cd544 commit 47d12e1

12 files changed

Lines changed: 52 additions & 36 deletions

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ repos:
1010
- id: check-toml
1111
- repo: https://github.com/astral-sh/ruff-pre-commit
1212
# Ruff version.
13-
rev: v0.13.0
13+
rev: v0.14.5
1414
hooks:
1515
- id: ruff-check
1616
args: [--fix]
1717
- id: ruff-format
1818
- repo: https://github.com/numpy/numpydoc
19-
rev: "v1.9.0"
19+
rev: "v1.10.0"
2020
hooks:
2121
- id: numpydoc-validation

doc/changes/DM-54006.misc.rst

Lines changed: 0 additions & 1 deletion
This file was deleted.

doc/lsst.ctrl.bps/CHANGES.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
lsst-ctrl-bps v30.0.1 (2026-02-03)
2+
==================================
3+
4+
Dropped Python 3.11.
5+
Tested with Python 3.14.
6+
7+
Other Changes and Additions
8+
---------------------------
9+
10+
- - Bumped minimum Python version to 3.12.
11+
- Dropped ``black`` and ``isort`` sections from ``pyproject.toml``.
12+
- Switched documentation build to use ``sphinxutils``. (`DM-54006 <https://rubinobs.atlassian.net/browse/DM-54006>`_)
13+
14+
115
lsst-ctrl-bps v30.0.0 (2026-01-16)
216
==================================
317

python/lsst/ctrl/bps/bps_config.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class BpsConfig(Config):
8787
afterwards. WMS settings takes precedence over provided defaults.
8888
wms_service_class_fqn : `str`, optional
8989
Fully qualified name of the WMS service class to use to get plugin's
90-
specific default settings. If ``None`` (default), the WMS service
90+
specific default settings. If `None` (default), the WMS service
9191
class provided by
9292
9393
1. ``other`` config,
@@ -256,15 +256,15 @@ def search(self, key, opt=None):
256256
----------
257257
key : `str`
258258
Key to look for in config.
259-
opt : `dict` [`str`, `Any`], optional
259+
opt : `dict` [`str`, `~typing.Any`], optional
260260
Options dictionary to use while searching. All are optional.
261261
262262
``"curvals"``
263263
Means to pass in values for search order key
264264
(curr_<sectname>) or variable replacements.
265265
(`dict`, optional)
266266
``"default"``
267-
Value to return if not found. (`Any`, optional)
267+
Value to return if not found. (`~typing.Any`, optional)
268268
``"replaceEnvVars"``
269269
If search result is string, whether to replace environment
270270
variables inside it with special placeholder (<ENV:name>).

python/lsst/ctrl/bps/clustered_quantum_graph.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class QuantaCluster:
6161
be unique within ClusteredQuantumGraph.
6262
label : `str`
6363
Value used to group clusters.
64-
tags : `dict` [`str`, `Any`], optional
64+
tags : `dict` [`str`, `~typing.Any`], optional
6565
Arbitrary key/value pairs for the cluster.
6666
6767
Raises
@@ -248,7 +248,8 @@ def add_cluster(self, clusters_for_adding):
248248
249249
Parameters
250250
----------
251-
clusters_for_adding : `QuantaCluster` or `Iterable` [`QuantaCluster`]
251+
clusters_for_adding : `QuantaCluster` or \
252+
`~collections.abc.Iterable` [`QuantaCluster`]
252253
The cluster to be added to the ClusteredQuantumGraph.
253254
"""
254255
for cluster in ensure_iterable(clusters_for_adding):
@@ -311,7 +312,7 @@ def __iter__(self):
311312
312313
Returns
313314
-------
314-
names : `Iterator` [`str`]
315+
names : `~collections.abc.Iterator` [`str`]
315316
Iterator over names of clusters.
316317
"""
317318
return self._cluster_graph.nodes()
@@ -321,7 +322,7 @@ def clusters(self):
321322
322323
Returns
323324
-------
324-
clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
325+
clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
325326
Iterator over clusters in topological order.
326327
"""
327328
return map(self.get_cluster, topological_sort(self._cluster_graph))
@@ -337,7 +338,7 @@ def successors(self, name):
337338
338339
Returns
339340
-------
340-
clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
341+
clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
341342
Iterator over successors of given cluster.
342343
"""
343344
return map(self.get_cluster, self._cluster_graph.successors(name))
@@ -353,7 +354,7 @@ def predecessors(self, name):
353354
354355
Returns
355356
-------
356-
clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
357+
clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
357358
Iterator over predecessors of given cluster.
358359
"""
359360
return map(self.get_cluster, self._cluster_graph.predecessors(name))

python/lsst/ctrl/bps/construct.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ def create_job_files(
181181
The mapping between file keys and file paths.
182182
prefix : `str` | `pathlib.Path`
183183
The root directory to which the files will be written.
184-
path_creator : `Callable` [[`Path`, `Path`], `Path`]
184+
path_creator : `~collections.abc.Callable` \
185+
[[`pathlib.Path`, `pathlib.Path`], `pathlib.Path`]
185186
File category that determines actions that need to be taken during
186187
file creation.
187188

python/lsst/ctrl/bps/generic_workflow.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ def get_files(
428428
----------
429429
data : `bool`, optional
430430
Whether to return the file data as well as the file object name
431-
(The default is False).
431+
(The default is `False`).
432432
transfer_only : `bool`, optional
433433
Whether to only return files for which a workflow management system
434434
would be responsible for transferring.

python/lsst/ctrl/bps/initialize.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ def init_submission(
5858
----------
5959
config_file : `str`
6060
Name of the configuration file.
61-
validators : `Iterable[Callable[[BpsConfig], None]]`, optional
61+
validators : `~collections.abc.Iterable` \
62+
[`~collections.abc.Callable` [[`BpsConfig`], `None`]], optional
6263
A list of functions performing checks on the given configuration.
6364
Each function should take a single argument, a BpsConfig object, and
6465
raise if the check fails. By default, no checks are performed.

python/lsst/ctrl/bps/quantum_clustering_funcs.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ def get_cluster_name_from_info(
789789
-------
790790
cluster_name : `str`
791791
Name of the cluster in which to add the given node.
792-
info : dict [`str`, `Any`]
792+
info : dict [`str`, `~typing.Any`]
793793
Information needed if creating a new node.
794794
"""
795795
# Gather info for cluster name template into a dictionary.

python/lsst/ctrl/bps/transform.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def _enhance_command(config, generic_workflow, gwjob, cached_job_values):
210210
gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
211211
Generic workflow job to which the updated executable, arguments,
212212
and values should be saved.
213-
cached_job_values : `dict` [`str`, dict[`str`, `Any`]]
213+
cached_job_values : `dict` [`str`, dict[`str`, `~typing.Any`]]
214214
Cached values common across jobs with same label. Updated if values
215215
aren't already saved for given gwjob's label.
216216
"""
@@ -286,7 +286,7 @@ def _fill_arguments(use_shared, generic_workflow, arguments, cmdvals):
286286
Generic workflow containing the job.
287287
arguments : `str`
288288
String containing placeholders.
289-
cmdvals : `dict` [`str`, `Any`]
289+
cmdvals : `dict` [`str`, `~typing.Any`]
290290
Any command line values that can be used to replace placeholders.
291291
292292
Returns
@@ -365,14 +365,14 @@ def _get_job_values(config, search_opt, cmd_line_key):
365365
----------
366366
config : `lsst.ctrl.bps.BpsConfig`
367367
Bps configuration.
368-
search_opt : `dict` [`str`, `Any`]
368+
search_opt : `dict` [`str`, `~typing.Any`]
369369
Search options to be used when searching config.
370370
cmd_line_key : `str` or None
371371
Which command line key to search for (e.g., "runQuantumCommand").
372372
373373
Returns
374374
-------
375-
job_values : `dict` [ `str`, `Any` ]`
375+
job_values : `dict` [ `str`, `~typing.Any` ]`
376376
A mapping between job attributes and their values.
377377
"""
378378
_LOG.debug("cmd_line_key=%s, search_opt=%s", cmd_line_key, search_opt)
@@ -443,7 +443,7 @@ def _handle_job_values(quantum_job_values, gwjob, attributes=_ATTRS_ALL):
443443
Job values for running single Quantum.
444444
gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
445445
Generic workflow job in which to store the universal values.
446-
attributes : `Iterable` [`str`], optional
446+
attributes : `~collections.abc.Iterable` [`str`], optional
447447
Job attributes to be set in the job following different rules.
448448
The default value is _ATTRS_ALL.
449449
"""
@@ -463,7 +463,7 @@ def _handle_job_values_universal(quantum_job_values, gwjob, attributes=_ATTRS_UN
463463
Job values for running single Quantum.
464464
gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
465465
Generic workflow job in which to store the universal values.
466-
attributes : `Iterable` [`str`], optional
466+
attributes : `~collections.abc.Iterable` [`str`], optional
467467
Job attributes to be set in the job following different rules.
468468
The default value is _ATTRS_UNIVERSAL.
469469
"""
@@ -502,11 +502,11 @@ def _handle_job_values_max(quantum_job_values, gwjob, attributes=_ATTRS_MAX):
502502
503503
Parameters
504504
----------
505-
quantum_job_values : `dict` [`str`, `Any`]
505+
quantum_job_values : `dict` [`str`, `~typing.Any`]
506506
Job values for running single Quantum.
507507
gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
508508
Generic workflow job in which to store the aggregate values.
509-
attributes : `Iterable` [`str`], optional
509+
attributes : `~collections.abc.Iterable` [`str`], optional
510510
Job attributes to be set in the job following different rules.
511511
The default value is _ATTR_MAX.
512512
"""
@@ -547,11 +547,11 @@ def _handle_job_values_sum(quantum_job_values, gwjob, attributes=_ATTRS_SUM):
547547
548548
Parameters
549549
----------
550-
quantum_job_values : `dict` [`str`, `Any`]
550+
quantum_job_values : `dict` [`str`, `~typing.Any`]
551551
Job values for running single Quantum.
552552
gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
553553
Generic workflow job in which to store the aggregate values.
554-
attributes : `Iterable` [`str`], optional
554+
attributes : `~collections.abc.Iterable` [`str`], optional
555555
Job attributes to be set in the job following different rules.
556556
The default value is _ATTRS_SUM.
557557
"""

0 commit comments

Comments
 (0)