lsst-ctrl-bps 30.0.0rc2__py3-none-any.whl → 30.0.1rc1__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.
@@ -87,7 +87,7 @@ class BpsConfig(Config):
87
87
  afterwards. WMS settings takes precedence over provided defaults.
88
88
  wms_service_class_fqn : `str`, optional
89
89
  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
91
91
  class provided by
92
92
 
93
93
  1. ``other`` config,
@@ -197,7 +197,7 @@ class BpsConfig(Config):
197
197
  ----------
198
198
  key : `str`
199
199
  Key to look for in config.
200
- default : Any, optional
200
+ default : `~typing.Any`, optional
201
201
  Default value to return if the key is not in the config.
202
202
 
203
203
  Returns
@@ -256,7 +256,7 @@ class BpsConfig(Config):
256
256
  ----------
257
257
  key : `str`
258
258
  Key to look for in config.
259
- opt : `dict` [`str`, `Any`], optional
259
+ opt : `dict` [`str`, `~typing.Any`], optional
260
260
  Options dictionary to use while searching. All are optional.
261
261
 
262
262
  ``"curvals"``
@@ -264,7 +264,7 @@ class BpsConfig(Config):
264
264
  (curr_<sectname>) or variable replacements.
265
265
  (`dict`, optional)
266
266
  ``"default"``
267
- Value to return if not found. (`Any`, optional)
267
+ Value to return if not found. (`~typing.Any`, optional)
268
268
  ``"replaceEnvVars"``
269
269
  If search result is string, whether to replace environment
270
270
  variables inside it with special placeholder (<ENV:name>).
@@ -61,7 +61,7 @@ class QuantaCluster:
61
61
  be unique within ClusteredQuantumGraph.
62
62
  label : `str`
63
63
  Value used to group clusters.
64
- tags : `dict` [`str`, `Any`], optional
64
+ tags : `dict` [`str`, `~typing.Any`], optional
65
65
  Arbitrary key/value pairs for the cluster.
66
66
 
67
67
  Raises
@@ -248,7 +248,8 @@ class ClusteredQuantumGraph:
248
248
 
249
249
  Parameters
250
250
  ----------
251
- clusters_for_adding : `QuantaCluster` or `Iterable` [`QuantaCluster`]
251
+ clusters_for_adding : `QuantaCluster` or \
252
+ `~collections.abc.Iterable` [`QuantaCluster`]
252
253
  The cluster to be added to the ClusteredQuantumGraph.
253
254
  """
254
255
  for cluster in ensure_iterable(clusters_for_adding):
@@ -311,7 +312,7 @@ class ClusteredQuantumGraph:
311
312
 
312
313
  Returns
313
314
  -------
314
- names : `Iterator` [`str`]
315
+ names : `~collections.abc.Iterator` [`str`]
315
316
  Iterator over names of clusters.
316
317
  """
317
318
  return self._cluster_graph.nodes()
@@ -321,7 +322,7 @@ class ClusteredQuantumGraph:
321
322
 
322
323
  Returns
323
324
  -------
324
- clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
325
+ clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
325
326
  Iterator over clusters in topological order.
326
327
  """
327
328
  return map(self.get_cluster, topological_sort(self._cluster_graph))
@@ -337,7 +338,7 @@ class ClusteredQuantumGraph:
337
338
 
338
339
  Returns
339
340
  -------
340
- clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
341
+ clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
341
342
  Iterator over successors of given cluster.
342
343
  """
343
344
  return map(self.get_cluster, self._cluster_graph.successors(name))
@@ -353,7 +354,7 @@ class ClusteredQuantumGraph:
353
354
 
354
355
  Returns
355
356
  -------
356
- clusters : `Iterator` [`lsst.ctrl.bps.QuantaCluster`]
357
+ clusters : `~collections.abc.Iterator` [`lsst.ctrl.bps.QuantaCluster`]
357
358
  Iterator over predecessors of given cluster.
358
359
  """
359
360
  return map(self.get_cluster, self._cluster_graph.predecessors(name))
@@ -181,7 +181,8 @@ def create_job_files(
181
181
  The mapping between file keys and file paths.
182
182
  prefix : `str` | `pathlib.Path`
183
183
  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`]
185
186
  File category that determines actions that need to be taken during
186
187
  file creation.
187
188
 
@@ -332,6 +332,18 @@ class GenericWorkflow(DiGraph):
332
332
  self.run_id = None
333
333
  self._final: GenericWorkflowJob | GenericWorkflow | None = None
334
334
 
335
+ # Starting from ver. 3.6 of NetworkX, the DiGraph class defines its custom
336
+ # __new__ method that explicitly defines arguments it accepts. As a result,
337
+ # we need to override it to let our subclass use different ones.
338
+ #
339
+ # Notes
340
+ # -----
341
+ # Most likely overriding __new__ in this manner will prevent us from using
342
+ # different graph backends with our subclass. However, since we are not
343
+ # using any backends, this should not be a problem at the moment.
344
+ def __new__(cls, *args, **kwargs) -> "GenericWorkflow":
345
+ return object.__new__(cls)
346
+
335
347
  @property
336
348
  def name(self) -> str:
337
349
  """Retrieve name of generic workflow.
@@ -416,7 +428,7 @@ class GenericWorkflow(DiGraph):
416
428
  ----------
417
429
  data : `bool`, optional
418
430
  Whether to return the file data as well as the file object name
419
- (The default is False).
431
+ (The default is `False`).
420
432
  transfer_only : `bool`, optional
421
433
  Whether to only return files for which a workflow management system
422
434
  would be responsible for transferring.
@@ -478,7 +490,7 @@ class GenericWorkflow(DiGraph):
478
490
  ----------
479
491
  node_for_adding : `lsst.ctrl.bps.GenericWorkflowJob`
480
492
  Job to be added to generic workflow.
481
- **attr
493
+ **attr : `~typing.Any`
482
494
  Needed to match original networkx function, but not used.
483
495
  """
484
496
  self.add_job(node_for_adding)
@@ -512,7 +524,7 @@ class GenericWorkflow(DiGraph):
512
524
  ebunch_to_add : Iterable [`tuple` [`str`, `str`]]
513
525
  Iterable of job name pairs between which a dependency should be
514
526
  saved.
515
- **attr : keyword arguments, optional
527
+ **attr : `~typing.Any`
516
528
  Data can be assigned using keyword arguments (not currently used).
517
529
  """
518
530
  for edge_to_add in ebunch_to_add:
@@ -527,7 +539,7 @@ class GenericWorkflow(DiGraph):
527
539
  Name of parent job.
528
540
  v_of_edge : `str`
529
541
  Name of child job.
530
- **attr : keyword arguments, optional
542
+ **attr
531
543
  Attributes to save with edge.
532
544
  """
533
545
  if u_of_edge not in self:
@@ -58,7 +58,8 @@ def init_submission(
58
58
  ----------
59
59
  config_file : `str`
60
60
  Name of the configuration file.
61
- validators : `Iterable[Callable[[BpsConfig], None]]`, optional
61
+ validators : `~collections.abc.Iterable` \
62
+ [`~collections.abc.Callable` [[`BpsConfig`], `None`]], optional
62
63
  A list of functions performing checks on the given configuration.
63
64
  Each function should take a single argument, a BpsConfig object, and
64
65
  raise if the check fails. By default, no checks are performed.
@@ -789,7 +789,7 @@ def get_cluster_name_from_info(
789
789
  -------
790
790
  cluster_name : `str`
791
791
  Name of the cluster in which to add the given node.
792
- info : dict [`str`, `Any`]
792
+ info : dict [`str`, `~typing.Any`]
793
793
  Information needed if creating a new node.
794
794
  """
795
795
  # Gather info for cluster name template into a dictionary.
@@ -210,7 +210,7 @@ def _enhance_command(config, generic_workflow, gwjob, cached_job_values):
210
210
  gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
211
211
  Generic workflow job to which the updated executable, arguments,
212
212
  and values should be saved.
213
- cached_job_values : `dict` [`str`, dict[`str`, `Any`]]
213
+ cached_job_values : `dict` [`str`, dict[`str`, `~typing.Any`]]
214
214
  Cached values common across jobs with same label. Updated if values
215
215
  aren't already saved for given gwjob's label.
216
216
  """
@@ -286,7 +286,7 @@ def _fill_arguments(use_shared, generic_workflow, arguments, cmdvals):
286
286
  Generic workflow containing the job.
287
287
  arguments : `str`
288
288
  String containing placeholders.
289
- cmdvals : `dict` [`str`, `Any`]
289
+ cmdvals : `dict` [`str`, `~typing.Any`]
290
290
  Any command line values that can be used to replace placeholders.
291
291
 
292
292
  Returns
@@ -365,14 +365,14 @@ def _get_job_values(config, search_opt, cmd_line_key):
365
365
  ----------
366
366
  config : `lsst.ctrl.bps.BpsConfig`
367
367
  Bps configuration.
368
- search_opt : `dict` [`str`, `Any`]
368
+ search_opt : `dict` [`str`, `~typing.Any`]
369
369
  Search options to be used when searching config.
370
370
  cmd_line_key : `str` or None
371
371
  Which command line key to search for (e.g., "runQuantumCommand").
372
372
 
373
373
  Returns
374
374
  -------
375
- job_values : `dict` [ `str`, `Any` ]`
375
+ job_values : `dict` [ `str`, `~typing.Any` ]`
376
376
  A mapping between job attributes and their values.
377
377
  """
378
378
  _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):
443
443
  Job values for running single Quantum.
444
444
  gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
445
445
  Generic workflow job in which to store the universal values.
446
- attributes : `Iterable` [`str`], optional
446
+ attributes : `~collections.abc.Iterable` [`str`], optional
447
447
  Job attributes to be set in the job following different rules.
448
448
  The default value is _ATTRS_ALL.
449
449
  """
@@ -463,7 +463,7 @@ def _handle_job_values_universal(quantum_job_values, gwjob, attributes=_ATTRS_UN
463
463
  Job values for running single Quantum.
464
464
  gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
465
465
  Generic workflow job in which to store the universal values.
466
- attributes : `Iterable` [`str`], optional
466
+ attributes : `~collections.abc.Iterable` [`str`], optional
467
467
  Job attributes to be set in the job following different rules.
468
468
  The default value is _ATTRS_UNIVERSAL.
469
469
  """
@@ -502,11 +502,11 @@ def _handle_job_values_max(quantum_job_values, gwjob, attributes=_ATTRS_MAX):
502
502
 
503
503
  Parameters
504
504
  ----------
505
- quantum_job_values : `dict` [`str`, `Any`]
505
+ quantum_job_values : `dict` [`str`, `~typing.Any`]
506
506
  Job values for running single Quantum.
507
507
  gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
508
508
  Generic workflow job in which to store the aggregate values.
509
- attributes : `Iterable` [`str`], optional
509
+ attributes : `~collections.abc.Iterable` [`str`], optional
510
510
  Job attributes to be set in the job following different rules.
511
511
  The default value is _ATTR_MAX.
512
512
  """
@@ -547,11 +547,11 @@ def _handle_job_values_sum(quantum_job_values, gwjob, attributes=_ATTRS_SUM):
547
547
 
548
548
  Parameters
549
549
  ----------
550
- quantum_job_values : `dict` [`str`, `Any`]
550
+ quantum_job_values : `dict` [`str`, `~typing.Any`]
551
551
  Job values for running single Quantum.
552
552
  gwjob : `lsst.ctrl.bps.GenericWorkflowJob`
553
553
  Generic workflow job in which to store the aggregate values.
554
- attributes : `Iterable` [`str`], optional
554
+ attributes : `~collections.abc.Iterable` [`str`], optional
555
555
  Job attributes to be set in the job following different rules.
556
556
  The default value is _ATTRS_SUM.
557
557
  """
lsst/ctrl/bps/version.py CHANGED
@@ -1,2 +1,2 @@
1
1
  __all__ = ["__version__"]
2
- __version__ = "30.0.0rc2"
2
+ __version__ = "30.0.1rc1"
@@ -121,14 +121,14 @@ class WmsSpecificInfo:
121
121
 
122
122
  Returns
123
123
  -------
124
- context : `dict` [`str`, `Any`]
124
+ context : `dict` [`str`, `~typing.Any`]
125
125
  A copy of the dictionary representing the mapping between
126
126
  *every* template variable and its value.
127
127
 
128
128
  Notes
129
129
  -----
130
130
  The property returns a *shallow* copy of the dictionary representing
131
- the context as the intended purpose of the ``WmsSpecificInfo`` is to
131
+ the context as the intended purpose of the `WmsSpecificInfo` is to
132
132
  pass a small number of brief messages from WMS to BPS reporting
133
133
  subsystem. Hence, it is assumed that the dictionary will only contain
134
134
  immutable objects (e.g. strings, numbers).
@@ -157,7 +157,7 @@ class WmsSpecificInfo:
157
157
  ----------
158
158
  template : `str`
159
159
  A message template.
160
- context : `dict` [`str`, `Any`], optional
160
+ context : `dict` [`str`, `~typing.Any`], optional
161
161
  A mapping between template variables and their values.
162
162
  **kwargs
163
163
  Additional keyword arguments.
@@ -296,7 +296,7 @@ class BaseWmsService:
296
296
  -----
297
297
  This property is currently being used in ``BpsConfig.__init__()``.
298
298
  As long as that's the case it cannot be changed to return
299
- a ``BpsConfig`` instance.
299
+ a `BpsConfig` instance.
300
300
  """
301
301
  return None
302
302
 
@@ -386,7 +386,7 @@ class BaseWmsService:
386
386
 
387
387
  Returns
388
388
  -------
389
- job_ids : `list` [`Any`]
389
+ job_ids : `list` [`~typing.Any`]
390
390
  Only job ids to be used by cancel and other functions. Typically
391
391
  this means top-level jobs (i.e., not children jobs).
392
392
  """
@@ -1,20 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-ctrl-bps
3
- Version: 30.0.0rc2
3
+ Version: 30.0.1rc1
4
4
  Summary: Pluggable execution of workflow graphs from Rubin 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_bps
8
+ Project-URL: Source, https://github.com/lsst/ctrl_bps
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/markdown
19
19
  License-File: COPYRIGHT
20
20
  License-File: LICENSE
@@ -23,7 +23,7 @@ License-File: gpl-v3.0.txt
23
23
  Requires-Dist: astropy>=4.0
24
24
  Requires-Dist: pyyaml>=5.1
25
25
  Requires-Dist: click>=7.0
26
- Requires-Dist: networkx<3.6
26
+ Requires-Dist: networkx
27
27
  Requires-Dist: lsst-daf-butler
28
28
  Requires-Dist: lsst-pipe-base
29
29
  Requires-Dist: lsst-ctrl-mpexec
@@ -2,28 +2,28 @@ lsst/__init__.py,sha256=Gk14M2Z1rlkmKNnIVprTMAua6WiShDHrlt32AkqTfj0,1366
2
2
  lsst/ctrl/__init__.py,sha256=Gk14M2Z1rlkmKNnIVprTMAua6WiShDHrlt32AkqTfj0,1366
3
3
  lsst/ctrl/bps/__init__.py,sha256=qNei3h4EwqUnyyCsBUkYXcRNNlSvzUzbM6Zdkd4eklE,1663
4
4
  lsst/ctrl/bps/_exceptions.py,sha256=qNftFVE8yhiRD8yvACKEf5iHhi1o2eaa69ZCBvw6lDo,1974
5
- lsst/ctrl/bps/bps_config.py,sha256=4t1jyIBiw9leAySjkcksCaZ3CPJMOt8afxGxTEWRSyQ,18460
5
+ lsst/ctrl/bps/bps_config.py,sha256=Po4Ov9hOXrB9xepRAKmsQk4wgbvlZFnJS95un9k2a6U,18484
6
6
  lsst/ctrl/bps/bps_draw.py,sha256=Sl04jpbm6jB_5lBzfJprqnDes9t_aqQQhr0Ag5RSv-Y,1984
7
7
  lsst/ctrl/bps/bps_reports.py,sha256=73l5Gz00VQq8NgoBrGkvCaUQJE5kw2emhQxxzthMQzs,15574
8
8
  lsst/ctrl/bps/bps_utils.py,sha256=7SpzRjqpPNw_hVCyDRxoQ-cDvPnlzZ8k4epawAksM0Q,12202
9
9
  lsst/ctrl/bps/cancel.py,sha256=mAdBi-oUpepyo-1MCqx_I34dbm6cqT0VJu3d2-y9T2Y,3317
10
- lsst/ctrl/bps/clustered_quantum_graph.py,sha256=vpsjyzIr6e5as6rkRphrleY8q2I_8xXE3BawLGCtTlo,18167
10
+ lsst/ctrl/bps/clustered_quantum_graph.py,sha256=t6W5oFTifWPADW2UhJWnqKH-HRvnDfGxZ2W-b-QM0AY,18278
11
11
  lsst/ctrl/bps/constants.py,sha256=dsnsNMqwU6Xl_ln6nQ0PmxsghlbBY9mLJWf2rlzYayQ,1733
12
- lsst/ctrl/bps/construct.py,sha256=o-JhTF_eehRiIxy3xe2UgBISyKNBg-kduthGiqfa50g,8100
12
+ lsst/ctrl/bps/construct.py,sha256=FnRVlSFzt74bnk8wAbFPy7rBK6_8Sv67zmoZEQL4c28,8155
13
13
  lsst/ctrl/bps/drivers.py,sha256=TKFEzg00ju7E_XeaXKtQWLVyZWzfwr-g5qu5twix5fI,23212
14
- lsst/ctrl/bps/generic_workflow.py,sha256=BwEFBudncziHTZaTTknOQroY_a-33mGf-mq9PzxH8G0,53720
15
- lsst/ctrl/bps/initialize.py,sha256=DCQwB9ZSo_36Ncs8jMJwxKZcYCu46jjww6rzyiuMFKY,7554
14
+ lsst/ctrl/bps/generic_workflow.py,sha256=cg8DJ5FncLkqzlh8lUrWwsbGEPPOX9DiCQUlhLE6Z84,54273
15
+ lsst/ctrl/bps/initialize.py,sha256=WIb_-TdeylljN3A7F4Rg-fdPDasXrT0KOs16KD25aSY,7610
16
16
  lsst/ctrl/bps/ping.py,sha256=orwTZUNFtlexMYFcNWW_48jaa7Jo1oK4_eb_HuC-p5E,2235
17
17
  lsst/ctrl/bps/pre_transform.py,sha256=uxhSiG-_NyX175nL7d1dvOmLprdbN_gxaWr7X7nzhXE,10931
18
18
  lsst/ctrl/bps/prepare.py,sha256=Fa2OEQIo4Pa8R5WmRo0PvJgXWNjynRijATvu1x80qlw,3129
19
- lsst/ctrl/bps/quantum_clustering_funcs.py,sha256=UuVHtwsoSIUJnAPyoIGX46TzoZRD6gIzgNrPFPaq3G8,32143
19
+ lsst/ctrl/bps/quantum_clustering_funcs.py,sha256=gYm9j9BWSiYlieONQ3ZVJIsfnRx2laK42lvXu0JO_wQ,32151
20
20
  lsst/ctrl/bps/report.py,sha256=h6LuOUdsqGiKRzge-oPX3RUD32Pen2IpmQRU9EsXuYY,8763
21
21
  lsst/ctrl/bps/restart.py,sha256=yVwxeviLiehyIfPmwU-H3tJ9ou7OWZZcrNf8PMxjr8o,2298
22
22
  lsst/ctrl/bps/status.py,sha256=Lrt0cAqROv77B8UvYXGimCa4cDHBD1N0K2Xx7oS6fXk,3362
23
23
  lsst/ctrl/bps/submit.py,sha256=Ev-yhcoZwtBPIo5bRt_4XFJRtgQBd8JHUurEfn01HpU,2880
24
- lsst/ctrl/bps/transform.py,sha256=y_78yBO17T4oBJ-3tCKtMwcgaT45XrLxwtEEr1vUIMQ,34687
25
- lsst/ctrl/bps/version.py,sha256=CrAQNQjb1NNXqaNvScI53U2GvkmrnpRtyOiy0bIrcl4,52
26
- lsst/ctrl/bps/wms_service.py,sha256=l3T6i1MG72dhHY0KXMUlBjWUpCLOfaySs7o2W8oCwhs,18891
24
+ lsst/ctrl/bps/transform.py,sha256=U3ykrYOe2HmWYPiQEqMl2kaJANG68xwgukuTep608TI,34803
25
+ lsst/ctrl/bps/version.py,sha256=-auEgPcWk4qAWrWVMJY7Of7dAJ0dNQHoqQraCNdAEN4,52
26
+ lsst/ctrl/bps/wms_service.py,sha256=1nrv_uDJ1ImFAMZtanpCDJOImBUE8rZeSQ6LQaFq6MY,18911
27
27
  lsst/ctrl/bps/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  lsst/ctrl/bps/cli/bps.py,sha256=CHfAL-U4mSi-FqeGKtmkX5nI5H9gkRre4XEWNVdeMRk,2559
29
29
  lsst/ctrl/bps/cli/cmd/__init__.py,sha256=NX2TF0b3kQ423F1us66h-rdjA29WRVvIF9PN75jXwVA,1642
@@ -35,13 +35,13 @@ lsst/ctrl/bps/cli/opt/options.py,sha256=pZQpjJ2Vrx6kYJGs5vVERBMFstPocwBXHffxkWkm
35
35
  lsst/ctrl/bps/etc/bps_defaults.yaml,sha256=6NNym1z1lF3FhVE2y6e0bixHPA6OISuPpaBVd83Va1A,4932
36
36
  lsst/ctrl/bps/tests/config_test_utils.py,sha256=WM8Vrigk4OO0TBoL1A73a6hLhf2a6-ACD20fROJ0U7A,3537
37
37
  lsst/ctrl/bps/tests/gw_test_utils.py,sha256=zVVQqzwSiQgPgk9TnqDzgR7uDnaTMeuBLYKA8vOp5RI,22452
38
- lsst_ctrl_bps-30.0.0rc2.dist-info/licenses/COPYRIGHT,sha256=Lc6NoAEFQ65v_SmtS9NwfHTOuSUtC2Umbjv5zyowiQM,61
39
- lsst_ctrl_bps-30.0.0rc2.dist-info/licenses/LICENSE,sha256=pRExkS03v0MQW-neNfIcaSL6aiAnoLxYgtZoFzQ6zkM,232
40
- lsst_ctrl_bps-30.0.0rc2.dist-info/licenses/bsd_license.txt,sha256=7MIcv8QRX9guUtqPSBDMPz2SnZ5swI-xZMqm_VDSfxY,1606
41
- lsst_ctrl_bps-30.0.0rc2.dist-info/licenses/gpl-v3.0.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
42
- lsst_ctrl_bps-30.0.0rc2.dist-info/METADATA,sha256=r10VOkN5IQmKh5JnjTVdquOHkTo3M8Es1K1D1apYzsg,2214
43
- lsst_ctrl_bps-30.0.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
- lsst_ctrl_bps-30.0.0rc2.dist-info/entry_points.txt,sha256=d6FhN79h7s9frdBI7YkScsGEInwpGGub49pAjXWbIbI,51
45
- lsst_ctrl_bps-30.0.0rc2.dist-info/top_level.txt,sha256=eUWiOuVVm9wwTrnAgiJT6tp6HQHXxIhj2QSZ7NYZH80,5
46
- lsst_ctrl_bps-30.0.0rc2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
47
- lsst_ctrl_bps-30.0.0rc2.dist-info/RECORD,,
38
+ lsst_ctrl_bps-30.0.1rc1.dist-info/licenses/COPYRIGHT,sha256=Lc6NoAEFQ65v_SmtS9NwfHTOuSUtC2Umbjv5zyowiQM,61
39
+ lsst_ctrl_bps-30.0.1rc1.dist-info/licenses/LICENSE,sha256=pRExkS03v0MQW-neNfIcaSL6aiAnoLxYgtZoFzQ6zkM,232
40
+ lsst_ctrl_bps-30.0.1rc1.dist-info/licenses/bsd_license.txt,sha256=7MIcv8QRX9guUtqPSBDMPz2SnZ5swI-xZMqm_VDSfxY,1606
41
+ lsst_ctrl_bps-30.0.1rc1.dist-info/licenses/gpl-v3.0.txt,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
42
+ lsst_ctrl_bps-30.0.1rc1.dist-info/METADATA,sha256=75Prwea74piuiXzOPrcGbT1a0JLcmjLQemsLG8NKAqg,2213
43
+ lsst_ctrl_bps-30.0.1rc1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
44
+ lsst_ctrl_bps-30.0.1rc1.dist-info/entry_points.txt,sha256=d6FhN79h7s9frdBI7YkScsGEInwpGGub49pAjXWbIbI,51
45
+ lsst_ctrl_bps-30.0.1rc1.dist-info/top_level.txt,sha256=eUWiOuVVm9wwTrnAgiJT6tp6HQHXxIhj2QSZ7NYZH80,5
46
+ lsst_ctrl_bps-30.0.1rc1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
47
+ lsst_ctrl_bps-30.0.1rc1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.9.0)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5