lsst-utils 30.0.0rc3__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 (64) hide show
  1. {lsst_utils-30.0.0rc3/python/lsst_utils.egg-info → lsst_utils-30.2026.400}/PKG-INFO +2 -1
  2. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/pyproject.toml +1 -0
  3. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/deprecated.py +4 -4
  4. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/inheritDoc.py +2 -2
  5. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/iteration.py +32 -29
  6. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/logging.py +2 -2
  7. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/timer.py +2 -2
  8. lsst_utils-30.2026.400/python/lsst/utils/version.py +2 -0
  9. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/wrappers.py +4 -4
  10. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400/python/lsst_utils.egg-info}/PKG-INFO +2 -1
  11. lsst_utils-30.0.0rc3/python/lsst/utils/version.py +0 -2
  12. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/COPYRIGHT +0 -0
  13. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/LICENSE +0 -0
  14. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/MANIFEST.in +0 -0
  15. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/README.rst +0 -0
  16. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/doc/lsst.utils/CHANGES.rst +0 -0
  17. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/doc/lsst.utils/index.rst +0 -0
  18. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/__init__.py +0 -0
  19. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/__init__.py +0 -0
  20. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/_packaging.py +0 -0
  21. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/argparsing.py +0 -0
  22. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/classes.py +0 -0
  23. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/db_auth.py +0 -0
  24. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/doImport.py +0 -0
  25. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/introspection.py +0 -0
  26. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/packages.py +0 -0
  27. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/plotting/__init__.py +0 -0
  28. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/plotting/figures.py +0 -0
  29. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/plotting/limits.py +0 -0
  30. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/plotting/publication_plots.py +0 -0
  31. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/plotting/rubin.mplstyle +0 -0
  32. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/py.typed +0 -0
  33. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/tests.py +0 -0
  34. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/threads.py +0 -0
  35. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst/utils/usage.py +0 -0
  36. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst_utils.egg-info/SOURCES.txt +0 -0
  37. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst_utils.egg-info/dependency_links.txt +0 -0
  38. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst_utils.egg-info/requires.txt +0 -0
  39. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst_utils.egg-info/top_level.txt +0 -0
  40. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/python/lsst_utils.egg-info/zip-safe +0 -0
  41. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/setup.cfg +0 -0
  42. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_argparsing.py +0 -0
  43. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_classes.py +0 -0
  44. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_db_auth.py +0 -0
  45. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_decorators.py +0 -0
  46. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_deprecated.py +0 -0
  47. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_doImport.py +0 -0
  48. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_executables.py +0 -0
  49. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_getPackageDir.py +0 -0
  50. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_getTempFilePath.py +0 -0
  51. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_import.py +0 -0
  52. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_inheritDoc.py +0 -0
  53. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_introspection.py +0 -0
  54. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_iteration.py +0 -0
  55. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_logging.py +0 -0
  56. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_matplotlib_figures.py +0 -0
  57. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_ordering.py +0 -0
  58. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_packages.py +0 -0
  59. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_plotting_limits.py +0 -0
  60. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_threads.py +0 -0
  61. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_timer.py +0 -0
  62. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_usage.py +0 -0
  63. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_utils.py +0 -0
  64. {lsst_utils-30.0.0rc3 → lsst_utils-30.2026.400}/tests/test_wrappers.py +0 -0
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-utils
3
- Version: 30.0.0rc3
3
+ Version: 30.2026.400
4
4
  Summary: Utility functions from Rubin Observatory Data Management for the Legacy Survey of Space and Time (LSST).
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause
7
7
  Project-URL: Homepage, https://github.com/lsst/utils
8
+ Project-URL: Source, https://github.com/lsst/utils
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Developers
10
11
  Classifier: Operating System :: OS Independent
@@ -35,6 +35,7 @@ dependencies = [
35
35
  dynamic = ["version"]
36
36
  [project.urls]
37
37
  "Homepage" = "https://github.com/lsst/utils"
38
+ "Source" = "https://github.com/lsst/utils"
38
39
  [project.optional-dependencies]
39
40
  test = [
40
41
  "pytest >= 3.2",
@@ -35,11 +35,11 @@ def deprecate_pybind11(obj: Any, reason: str, version: str, category: type[Warni
35
35
 
36
36
  Parameters
37
37
  ----------
38
- obj : function, method, or class
38
+ obj : `~collections.abc.Callable`
39
39
  The function, method, or class to deprecate.
40
40
  reason : `str`
41
41
  Reason for deprecation, passed to `~deprecated.sphinx.deprecated`.
42
- version : 'str'
42
+ version : `str`
43
43
  Next major version in which the interface will be deprecated,
44
44
  passed to `~deprecated.sphinx.deprecated`.
45
45
  category : `Warning`
@@ -47,7 +47,7 @@ def deprecate_pybind11(obj: Any, reason: str, version: str, category: type[Warni
47
47
 
48
48
  Returns
49
49
  -------
50
- obj : function, method, or class
50
+ obj : `~collections.abc.Callable`
51
51
  Wrapped function, method, or class.
52
52
 
53
53
  Examples
@@ -88,7 +88,7 @@ def suppress_deprecations(category: type[Warning] = FutureWarning) -> Iterator[N
88
88
 
89
89
  Parameters
90
90
  ----------
91
- category : `Warning` or subclass
91
+ category : `Warning`
92
92
  The category of warning to suppress.
93
93
  """
94
94
  with warnings.catch_warnings():
@@ -28,12 +28,12 @@ def inheritDoc(klass: type) -> Callable:
28
28
 
29
29
  Parameters
30
30
  ----------
31
- klass : object
31
+ klass : `type`
32
32
  The class to inherit documentation from.
33
33
 
34
34
  Returns
35
35
  -------
36
- decorator : callable
36
+ decorator : `~collections.abc.Callable`
37
37
  Intermediate decorator used in the documentation process.
38
38
 
39
39
  Notes
@@ -26,10 +26,10 @@ def chunk_iterable(data: Iterable[Any], chunk_size: int = 1_000) -> Iterator[tup
26
26
 
27
27
  Parameters
28
28
  ----------
29
- data : iterable of anything
29
+ data : `~collections.abc.Iterable` [ `typing.Any` ] of anything
30
30
  The iterable to be chunked. Can be a mapping, in which case
31
31
  the keys are returned in chunks.
32
- chunk_size : int, optional
32
+ chunk_size : `int`, optional
33
33
  The largest chunk to return. Can be smaller and depends on the
34
34
  number of elements in the iterator. Defaults to 1_000.
35
35
 
@@ -58,7 +58,7 @@ def ensure_iterable(a: Any) -> Iterable[Any]:
58
58
 
59
59
  Parameters
60
60
  ----------
61
- a : iterable or `str` or not iterable
61
+ a : `~collections.abc.Iterable` or `str` or not iterable
62
62
  Argument to be converted to an iterable.
63
63
 
64
64
  Returns
@@ -115,18 +115,19 @@ def _extract_numeric_suffix(s: str) -> tuple[str, int | None]:
115
115
  Returns the prefix and the numeric suffix as an integer, if present.
116
116
 
117
117
  For example:
118
- 'node1' -> ('node', 1)
119
- 'node' -> ('node', None)
120
- 'node123abc' -> ('node123abc', None)
118
+
119
+ 'node1' -> ('node', 1)
120
+ 'node' -> ('node', None)
121
+ 'node123abc' -> ('node123abc', None)
121
122
 
122
123
  Parameters
123
124
  ----------
124
- s : str
125
+ s : `str`
125
126
  The string to extract the numeric suffix from.
126
127
 
127
128
  Returns
128
129
  -------
129
- suffix : str
130
+ suffix : `str`
130
131
  The numeric suffix of the string, if any.
131
132
  """
132
133
  index = len(s)
@@ -151,13 +152,13 @@ def _add_pair_to_name(val_name: list[str], val0: int | str, val1: int | str, str
151
152
 
152
153
  Parameters
153
154
  ----------
154
- val_name : List[str]
155
+ val_name : `list` [ `str` ]
155
156
  The list to append the formatted string to.
156
- val0 : [int, str]
157
+ val0 : `int` or `str`
157
158
  The starting value of the sequence.
158
- val1 : [int, str]
159
+ val1 : `int` or `str`
159
160
  The ending value of the sequence.
160
- stride : int, optional
161
+ stride : `int`, optional
161
162
  The stride or difference between consecutive numbers in the
162
163
  sequence. Defaults to 1.
163
164
  """
@@ -195,12 +196,12 @@ def _is_list_of_ints(values: list[int | str]) -> TypeGuard[list[int]]:
195
196
 
196
197
  Parameters
197
198
  ----------
198
- values : List[int, str]:
199
+ values : `list` [`int` or `str`]:
199
200
  The list of values to check.
200
201
 
201
202
  Returns
202
203
  -------
203
- is_ints : bool
204
+ is_ints : `bool`
204
205
  True if all values are integers, False otherwise.
205
206
  """
206
207
  return all(isinstance(v, int) for v in values)
@@ -217,31 +218,33 @@ def sequence_to_string(values: list[int | str]) -> str:
217
218
  strings with common prefixes are handled to produce a concise
218
219
  representation.
219
220
 
220
- >>> getNameOfSet([1, 2, 3, 5, 7, 8, 9])
221
- '1..3^5^7..9'
222
- >>> getNameOfSet(["node1", "node2", "node3"])
223
- 'node1..node3'
224
- >>> getNameOfSet([10, 20, 30, 40])
225
- '10..40:10'
226
-
227
221
  Parameters
228
222
  ----------
229
- values : list[int, str]:
223
+ values : `list` [ `int` or `str` ]
230
224
  A list of items to be compacted. Must all be of the same type.
231
225
 
232
226
  Returns
233
227
  -------
234
- sequence_as_string : str
228
+ sequence_as_string : `str`
235
229
  A compact string representation of the input list.
236
230
 
237
231
  Notes
238
232
  -----
239
- - The function handles both integers and strings.
240
- - For strings with common prefixes, only the differing suffixes are
241
- considered.
242
- - The stride is determined as the minimum difference between
243
- consecutive numbers.
244
- - Strings without common prefixes are listed individually.
233
+ - The function handles both integers and strings.
234
+ - For strings with common prefixes, only the differing suffixes are
235
+ considered.
236
+ - The stride is determined as the minimum difference between
237
+ consecutive numbers.
238
+ - Strings without common prefixes are listed individually.
239
+
240
+ Examples
241
+ --------
242
+ >>> getNameOfSet([1, 2, 3, 5, 7, 8, 9])
243
+ '1..3^5^7..9'
244
+ >>> getNameOfSet(["node1", "node2", "node3"])
245
+ 'node1..node3'
246
+ >>> getNameOfSet([10, 20, 30, 40])
247
+ '10..40:10'
245
248
  """
246
249
  if not values:
247
250
  return ""
@@ -273,7 +273,7 @@ class LsstLogAdapter(LoggerAdapter):
273
273
  *args : `~typing.Any`
274
274
  Parameters references by log message.
275
275
  **kwargs : `~typing.Any`
276
- Parameters forwarded to `log`.
276
+ Parameters forwarded to underlying logger.
277
277
  """
278
278
  # There is no other way to achieve this other than a special logger
279
279
  # method.
@@ -294,7 +294,7 @@ class LsstLogAdapter(LoggerAdapter):
294
294
  *args : `~typing.Any`
295
295
  Parameters references by log message.
296
296
  **kwargs : `~typing.Any`
297
- Parameters forwarded to `log`.
297
+ Parameters forwarded to underlying logger.
298
298
  """
299
299
  # There is no other way to achieve this other than a special logger
300
300
  # method.
@@ -165,7 +165,7 @@ def logInfo(
165
165
  Name prefix, the resulting entries are ``CpuTime``, etc.. For example
166
166
  `timeMethod` uses ``prefix = Start`` when the method begins and
167
167
  ``prefix = End`` when the method ends.
168
- logLevel : optional
168
+ logLevel : `int`, optional
169
169
  Log level (a `logging` level constant, such as `logging.DEBUG`).
170
170
  metadata : `collections.abc.MutableMapping`, optional
171
171
  Metadata object to write entries to, overriding ``obj.metadata``.
@@ -399,7 +399,7 @@ def time_this(
399
399
  Prefix to use to prepend to the supplied logger to
400
400
  create a new logger to use instead. No prefix is used if the value
401
401
  is set to `None`. Defaults to "timer".
402
- args : iterable of any
402
+ args : `~collections.abc.Iterable` [ `typing.Any` ]
403
403
  Additional parameters passed to the log command that should be
404
404
  written to ``msg``.
405
405
  kwargs : `dict`, optional
@@ -0,0 +1,2 @@
1
+ __all__ = ["__version__"]
2
+ __version__ = "30.2026.400"
@@ -186,7 +186,7 @@ class TemplateMeta(type):
186
186
  classes with multiple template parameters) are good choices. Alternate
187
187
  type keys for existing classes can be added by calling ``alias``, but only
188
188
  after a subclass already been registered with a "primary" type key. For
189
- example::
189
+ example:
190
190
 
191
191
  .. code-block:: python
192
192
 
@@ -210,7 +210,7 @@ class TemplateMeta(type):
210
210
 
211
211
  This allows user code to construct objects directly using ``Image``, as
212
212
  long as an extra ``dtype`` keyword argument is passed that matches one of
213
- the type keys::
213
+ the type keys:
214
214
 
215
215
  .. code-block:: python
216
216
 
@@ -233,7 +233,7 @@ class TemplateMeta(type):
233
233
  As an aid for those writing the Python wrappers for C++ classes,
234
234
  ``TemplateMeta`` also provides a way to add pure-Python methods and other
235
235
  attributes to the wrapped template classes. To add a ``sum`` method to
236
- all registered types, for example, we can just do::
236
+ all registered types, for example, we can just do:
237
237
 
238
238
  .. code-block:: python
239
239
 
@@ -259,7 +259,7 @@ class TemplateMeta(type):
259
259
 
260
260
  Finally, abstract base classes that use ``TemplateMeta`` define a dict-
261
261
  like interface for accessing their registered subclasses, providing
262
- something like the C++ syntax for templates::
262
+ something like the C++ syntax for templates:
263
263
 
264
264
  .. code-block:: python
265
265
 
@@ -1,10 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lsst-utils
3
- Version: 30.0.0rc3
3
+ Version: 30.2026.400
4
4
  Summary: Utility functions from Rubin Observatory Data Management for the Legacy Survey of Space and Time (LSST).
5
5
  Author-email: Rubin Observatory Data Management <dm-admin@lists.lsst.org>
6
6
  License-Expression: BSD-3-Clause
7
7
  Project-URL: Homepage, https://github.com/lsst/utils
8
+ Project-URL: Source, https://github.com/lsst/utils
8
9
  Keywords: lsst
9
10
  Classifier: Intended Audience :: Developers
10
11
  Classifier: Operating System :: OS Independent
@@ -1,2 +0,0 @@
1
- __all__ = ["__version__"]
2
- __version__ = "30.0.0rc3"
File without changes