dbt-common 1.7.0__py3-none-any.whl → 1.9.0__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.
dbt_common/record.py CHANGED
@@ -29,8 +29,14 @@ class Record:
29
29
 
30
30
  def to_dict(self) -> Dict[str, Any]:
31
31
  return {
32
- "params": self.params._to_dict() if hasattr(self.params, "_to_dict") else dataclasses.asdict(self.params), # type: ignore
33
- "result": self.result._to_dict() if hasattr(self.result, "_to_dict") else dataclasses.asdict(self.result) if self.result is not None else None, # type: ignore
32
+ "params": self.params._to_dict()
33
+ if hasattr(self.params, "_to_dict")
34
+ else dataclasses.asdict(self.params),
35
+ "result": self.result._to_dict()
36
+ if hasattr(self.result, "_to_dict")
37
+ else dataclasses.asdict(self.result)
38
+ if self.result is not None
39
+ else None,
34
40
  }
35
41
 
36
42
  @classmethod
dbt_common/semver.py CHANGED
@@ -1,6 +1,6 @@
1
1
  from dataclasses import dataclass
2
2
  import re
3
- from typing import List, Iterable
3
+ from typing import Any, Iterable, List, Union
4
4
 
5
5
  import dbt_common.exceptions.base
6
6
  from dbt_common.exceptions import VersionsNotCompatibleError
@@ -67,9 +67,9 @@ $
67
67
  _VERSION_REGEX = re.compile(_VERSION_REGEX_PAT_STR, re.VERBOSE)
68
68
 
69
69
 
70
- def _cmp(a, b):
70
+ def _cmp(a: Any, b: Any) -> int:
71
71
  """Return negative if a<b, zero if a==b, positive if a>b."""
72
- return (a > b) - (a < b)
72
+ return int((a > b) - (a < b))
73
73
 
74
74
 
75
75
  @dataclass
@@ -102,7 +102,9 @@ class VersionSpecifier(VersionSpecification):
102
102
 
103
103
  matched = {k: v for k, v in match.groupdict().items() if v is not None}
104
104
 
105
- return cls.from_dict(matched)
105
+ spec = cls.from_dict(matched)
106
+ assert isinstance(spec, VersionSpecifier)
107
+ return spec
106
108
 
107
109
  def __str__(self) -> str:
108
110
  return self.to_version_string()
@@ -123,7 +125,7 @@ class VersionSpecifier(VersionSpecification):
123
125
 
124
126
  return VersionRange(start=range_start, end=range_end)
125
127
 
126
- def compare(self, other):
128
+ def compare(self, other: "VersionSpecifier") -> int:
127
129
  if self.is_unbounded or other.is_unbounded:
128
130
  return 0
129
131
 
@@ -192,16 +194,17 @@ class VersionSpecifier(VersionSpecification):
192
194
 
193
195
  return 0
194
196
 
195
- def __lt__(self, other) -> bool:
197
+ def __lt__(self, other: "VersionSpecifier") -> bool:
196
198
  return self.compare(other) == -1
197
199
 
198
- def __gt__(self, other) -> bool:
200
+ def __gt__(self, other: "VersionSpecifier") -> bool:
199
201
  return self.compare(other) == 1
200
202
 
201
- def __eq___(self, other) -> bool:
203
+ def __eq__(self, other: object) -> bool:
204
+ assert isinstance(other, VersionSpecifier)
202
205
  return self.compare(other) == 0
203
206
 
204
- def __cmp___(self, other):
207
+ def __cmp__(self, other: "VersionSpecifier") -> int:
205
208
  return self.compare(other)
206
209
 
207
210
  @property
@@ -221,8 +224,8 @@ class VersionSpecifier(VersionSpecification):
221
224
  return self.matcher == Matchers.EXACT
222
225
 
223
226
  @classmethod
224
- def _nat_cmp(cls, a, b):
225
- def cmp_prerelease_tag(a, b):
227
+ def _nat_cmp(cls, a: str, b: str) -> int:
228
+ def cmp_prerelease_tag(a: Union[str, int], b: Union[str, int]) -> int:
226
229
  if isinstance(a, int) and isinstance(b, int):
227
230
  return _cmp(a, b)
228
231
  elif isinstance(a, int):
@@ -234,10 +237,10 @@ class VersionSpecifier(VersionSpecification):
234
237
 
235
238
  a, b = a or "", b or ""
236
239
  a_parts, b_parts = a.split("."), b.split(".")
237
- a_parts = [int(x) if re.match(r"^\d+$", x) else x for x in a_parts]
238
- b_parts = [int(x) if re.match(r"^\d+$", x) else x for x in b_parts]
239
- for sub_a, sub_b in zip(a_parts, b_parts):
240
- cmp_result = cmp_prerelease_tag(sub_a, sub_b)
240
+ a_parts_2 = [int(x) if re.match(r"^\d+$", x) else x for x in a_parts]
241
+ b_parts_2 = [int(x) if re.match(r"^\d+$", x) else x for x in b_parts]
242
+ for sub_a, sub_b in zip(a_parts_2, b_parts_2):
243
+ cmp_result = cmp_prerelease_tag(sub_a, sub_b) # type: ignore
241
244
  if cmp_result != 0:
242
245
  return cmp_result
243
246
  else:
@@ -249,13 +252,15 @@ class VersionRange:
249
252
  start: VersionSpecifier
250
253
  end: VersionSpecifier
251
254
 
252
- def _try_combine_exact(self, a, b):
255
+ def _try_combine_exact(self, a: VersionSpecifier, b: VersionSpecifier) -> VersionSpecifier:
253
256
  if a.compare(b) == 0:
254
257
  return a
255
258
  else:
256
259
  raise VersionsNotCompatibleError()
257
260
 
258
- def _try_combine_lower_bound_with_exact(self, lower, exact):
261
+ def _try_combine_lower_bound_with_exact(
262
+ self, lower: VersionSpecifier, exact: VersionSpecifier
263
+ ) -> VersionSpecifier:
259
264
  comparison = lower.compare(exact)
260
265
 
261
266
  if comparison < 0 or (comparison == 0 and lower.matcher == Matchers.GREATER_THAN_OR_EQUAL):
@@ -263,7 +268,9 @@ class VersionRange:
263
268
 
264
269
  raise VersionsNotCompatibleError()
265
270
 
266
- def _try_combine_lower_bound(self, a, b):
271
+ def _try_combine_lower_bound(
272
+ self, a: VersionSpecifier, b: VersionSpecifier
273
+ ) -> VersionSpecifier:
267
274
  if b.is_unbounded:
268
275
  return a
269
276
  elif a.is_unbounded:
@@ -280,10 +287,12 @@ class VersionRange:
280
287
  elif a.is_exact:
281
288
  return self._try_combine_lower_bound_with_exact(b, a)
282
289
 
283
- elif b.is_exact:
290
+ else:
284
291
  return self._try_combine_lower_bound_with_exact(a, b)
285
292
 
286
- def _try_combine_upper_bound_with_exact(self, upper, exact):
293
+ def _try_combine_upper_bound_with_exact(
294
+ self, upper: VersionSpecifier, exact: VersionSpecifier
295
+ ) -> VersionSpecifier:
287
296
  comparison = upper.compare(exact)
288
297
 
289
298
  if comparison > 0 or (comparison == 0 and upper.matcher == Matchers.LESS_THAN_OR_EQUAL):
@@ -291,7 +300,9 @@ class VersionRange:
291
300
 
292
301
  raise VersionsNotCompatibleError()
293
302
 
294
- def _try_combine_upper_bound(self, a, b):
303
+ def _try_combine_upper_bound(
304
+ self, a: VersionSpecifier, b: VersionSpecifier
305
+ ) -> VersionSpecifier:
295
306
  if b.is_unbounded:
296
307
  return a
297
308
  elif a.is_unbounded:
@@ -308,15 +319,14 @@ class VersionRange:
308
319
  elif a.is_exact:
309
320
  return self._try_combine_upper_bound_with_exact(b, a)
310
321
 
311
- elif b.is_exact:
322
+ else:
312
323
  return self._try_combine_upper_bound_with_exact(a, b)
313
324
 
314
- def reduce(self, other):
325
+ def reduce(self, other: "VersionRange") -> "VersionRange":
315
326
  start = None
316
327
 
317
328
  if self.start.is_exact and other.start.is_exact:
318
329
  start = end = self._try_combine_exact(self.start, other.start)
319
-
320
330
  else:
321
331
  start = self._try_combine_lower_bound(self.start, other.start)
322
332
  end = self._try_combine_upper_bound(self.end, other.end)
@@ -326,7 +336,7 @@ class VersionRange:
326
336
 
327
337
  return VersionRange(start=start, end=end)
328
338
 
329
- def __str__(self):
339
+ def __str__(self) -> str:
330
340
  result = []
331
341
 
332
342
  if self.start.is_unbounded and self.end.is_unbounded:
@@ -340,7 +350,7 @@ class VersionRange:
340
350
 
341
351
  return ", ".join(result)
342
352
 
343
- def to_version_string_pair(self):
353
+ def to_version_string_pair(self) -> List[str]:
344
354
  to_return = []
345
355
 
346
356
  if not self.start.is_unbounded:
@@ -353,32 +363,32 @@ class VersionRange:
353
363
 
354
364
 
355
365
  class UnboundedVersionSpecifier(VersionSpecifier):
356
- def __init__(self, *args, **kwargs) -> None:
366
+ def __init__(self, *args: Any, **kwargs: Any) -> None:
357
367
  super().__init__(
358
368
  matcher=Matchers.EXACT, major=None, minor=None, patch=None, prerelease=None, build=None
359
369
  )
360
370
 
361
- def __str__(self):
371
+ def __str__(self) -> str:
362
372
  return "*"
363
373
 
364
374
  @property
365
- def is_unbounded(self):
375
+ def is_unbounded(self) -> bool:
366
376
  return True
367
377
 
368
378
  @property
369
- def is_lower_bound(self):
379
+ def is_lower_bound(self) -> bool:
370
380
  return False
371
381
 
372
382
  @property
373
- def is_upper_bound(self):
383
+ def is_upper_bound(self) -> bool:
374
384
  return False
375
385
 
376
386
  @property
377
- def is_exact(self):
387
+ def is_exact(self) -> bool:
378
388
  return False
379
389
 
380
390
 
381
- def reduce_versions(*args):
391
+ def reduce_versions(*args: Union[VersionSpecifier, VersionRange, str]) -> VersionRange:
382
392
  version_specifiers = []
383
393
 
384
394
  for version in args:
@@ -418,7 +428,7 @@ def reduce_versions(*args):
418
428
  return to_return
419
429
 
420
430
 
421
- def versions_compatible(*args) -> bool:
431
+ def versions_compatible(*args: Union[VersionSpecifier, VersionRange, str]) -> bool:
422
432
  if len(args) == 1:
423
433
  return True
424
434
 
@@ -429,7 +439,9 @@ def versions_compatible(*args) -> bool:
429
439
  return False
430
440
 
431
441
 
432
- def find_possible_versions(requested_range, available_versions: Iterable[str]):
442
+ def find_possible_versions(
443
+ requested_range: VersionRange, available_versions: Iterable[str]
444
+ ) -> List[str]:
433
445
  possible_versions = []
434
446
 
435
447
  for version_string in available_versions:
@@ -443,7 +455,7 @@ def find_possible_versions(requested_range, available_versions: Iterable[str]):
443
455
 
444
456
 
445
457
  def resolve_to_specific_version(
446
- requested_range, available_versions: Iterable[str]
458
+ requested_range: VersionRange, available_versions: Iterable[str]
447
459
  ) -> Optional[str]:
448
460
  max_version = None
449
461
  max_version_string = None
@@ -1,7 +1,7 @@
1
1
  # This is useful for proto generated classes in particular, since
2
2
  # the default for protobuf for strings is the empty string, so
3
3
  # Optional[str] types don't work for generated Python classes.
4
- from typing import Any, Dict, Optional
4
+ from typing import Any, Dict, Mapping, Optional
5
5
 
6
6
 
7
7
  def cast_to_str(string: Optional[str]) -> str:
@@ -18,8 +18,9 @@ def cast_to_int(integer: Optional[int]) -> int:
18
18
  return integer
19
19
 
20
20
 
21
- def cast_dict_to_dict_of_strings(dct: Dict[Any, Any]) -> Dict[str, str]:
21
+ def cast_dict_to_dict_of_strings(dct: Mapping[Any, Any]) -> Dict[str, str]:
22
22
  new_dct: Dict[str, str] = {}
23
+
23
24
  for k, v in dct.items():
24
25
  new_dct[str(k)] = str(v)
25
26
  return new_dct
@@ -1,4 +1,5 @@
1
1
  import time
2
+ from typing import Callable
2
3
 
3
4
  from dbt_common.events.types import RecordRetryException, RetryExternalCall
4
5
  from dbt_common.exceptions import ConnectionError
@@ -7,7 +8,7 @@ from tarfile import ReadError
7
8
  import requests
8
9
 
9
10
 
10
- def connection_exception_retry(fn, max_attempts: int, attempt: int = 0):
11
+ def connection_exception_retry(fn: Callable, max_attempts: int, attempt: int = 0):
11
12
  """Handle connection retries gracefully.
12
13
 
13
14
  Attempts to run a function that makes an external call, if the call fails
dbt_common/utils/jinja.py CHANGED
@@ -1,3 +1,5 @@
1
+ from typing import Optional
2
+
1
3
  from dbt_common.exceptions import DbtInternalError
2
4
 
3
5
 
@@ -5,20 +7,20 @@ MACRO_PREFIX = "dbt_macro__"
5
7
  DOCS_PREFIX = "dbt_docs__"
6
8
 
7
9
 
8
- def get_dbt_macro_name(name) -> str:
10
+ def get_dbt_macro_name(name: str) -> str:
9
11
  if name is None:
10
12
  raise DbtInternalError("Got None for a macro name!")
11
13
  return f"{MACRO_PREFIX}{name}"
12
14
 
13
15
 
14
- def get_dbt_docs_name(name) -> str:
16
+ def get_dbt_docs_name(name: str) -> str:
15
17
  if name is None:
16
18
  raise DbtInternalError("Got None for a doc name!")
17
19
  return f"{DOCS_PREFIX}{name}"
18
20
 
19
21
 
20
22
  def get_materialization_macro_name(
21
- materialization_name, adapter_type=None, with_prefix=True
23
+ materialization_name: str, adapter_type: Optional[str] = None, with_prefix: bool = True
22
24
  ) -> str:
23
25
  if adapter_type is None:
24
26
  adapter_type = "default"
@@ -26,10 +28,10 @@ def get_materialization_macro_name(
26
28
  return get_dbt_macro_name(name) if with_prefix else name
27
29
 
28
30
 
29
- def get_docs_macro_name(docs_name, with_prefix=True):
31
+ def get_docs_macro_name(docs_name: str, with_prefix: bool = True) -> str:
30
32
  return get_dbt_docs_name(docs_name) if with_prefix else docs_name
31
33
 
32
34
 
33
- def get_test_macro_name(test_name, with_prefix=True):
35
+ def get_test_macro_name(test_name: str, with_prefix: bool = True) -> str:
34
36
  name = f"test_{test_name}"
35
37
  return get_dbt_macro_name(name) if with_prefix else name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-common
3
- Version: 1.7.0
3
+ Version: 1.9.0
4
4
  Summary: The shared common utilities that dbt-core and adapter implementations use
5
5
  Project-URL: Homepage, https://github.com/dbt-labs/dbt-common
6
6
  Project-URL: Repository, https://github.com/dbt-labs/dbt-common.git
@@ -1,33 +1,34 @@
1
- dbt_common/__about__.py,sha256=9UsQLZYw3LX7NO0PsCa8nGInSg0LC4sQ67EJUs50ljU,18
1
+ dbt_common/__about__.py,sha256=cXjavBUobbggOyp9SOIeDA3iCRdu2Hzw1qBttGe-RYs,18
2
2
  dbt_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ dbt_common/behavior_flags.py,sha256=GkrXvJ-Q7P73O0XcsIxyYeyiUAOe5E5DdNKIh6x3unE,4809
3
4
  dbt_common/constants.py,sha256=-Y5DIL1SDPQWtlCNizXRYxFgbx1D7LaLs1ysamvGMRk,278
4
- dbt_common/context.py,sha256=mNYvTF5hWGM-x19CgOT5L35s_GcPoGIAbrzxbmz9DX4,2520
5
- dbt_common/dataclass_schema.py,sha256=yFq1P5qkEwOJylSKe69Edirubpzgdcbvj6ThbPUH8dA,5553
5
+ dbt_common/context.py,sha256=rk4EYBU4SpDXRhqbSvDTJwojilxPSoaiEdOxkXow_BU,2549
6
+ dbt_common/dataclass_schema.py,sha256=u2S0dxwxIghv8RMqC91HlWZJVxmsC_844yZQaGyOwdY,5563
6
7
  dbt_common/helper_types.py,sha256=FWJGPmp7Qp2iToHyI4uvhkBbu_d1tl2_oF-obi98_N4,3917
7
- dbt_common/invocation.py,sha256=Zw8jRPn75oi2VrUD6qGvaCDtSyIfqm5pJlPpRjs3s1E,202
8
+ dbt_common/invocation.py,sha256=2ZchIr4Wq7NwtAjjB-mxHP9ITD6-r45jEq4Zooso0gc,210
8
9
  dbt_common/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- dbt_common/record.py,sha256=og-9SZhRINqW6jnqLdf3CTVKvUPdKldi52oFaa2-QRE,12658
10
- dbt_common/semver.py,sha256=M6J5IHi04yn8R6FTwdOweD6gFFrl7KxVMc-x5WOYV9E,14130
10
+ dbt_common/record.py,sha256=vItvHEF2yl_NbvuaIXYHo-q6v0LUpCxR2twcTMVCeQ0,12698
11
+ dbt_common/semver.py,sha256=Znewz6tc_NBpXr4mZf20bK_RayPL4ODrnxDbkUZrrRo,15034
11
12
  dbt_common/tests.py,sha256=6lC_JuRtoYO6cbAF8-R5aTM4HtQiM_EH8X5m_97duGY,315
12
13
  dbt_common/ui.py,sha256=rc2TEM29raBFc_LXcg901pMDD07C2ohwp9qzkE-7pBY,2567
13
14
  dbt_common/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
15
  dbt_common/clients/_jinja_blocks.py,sha256=xoJK9Y0F93U2PKfT_3SJbBopCGYCtl7LiwKuylXnrEE,12947
15
- dbt_common/clients/agate_helper.py,sha256=n5Q0_gJPbBhFvjd286NGYGlcTtdEExYmIT3968lppyg,9124
16
- dbt_common/clients/jinja.py,sha256=i6VQ94FU4F6ZCQLHTxNSeGHmvyYSIe34nDhNkH6wO08,18502
17
- dbt_common/clients/system.py,sha256=ICFy-s-IQCbXNCmL0LTplyRvnNK8YTn7BL1_vDMffrI,22969
16
+ dbt_common/clients/agate_helper.py,sha256=anKKgKV5PSnFRuFeBwRMdHK3JCaQoUqB2ZXHD0su0Wo,9123
17
+ dbt_common/clients/jinja.py,sha256=-eDrUnhH3nxOD0xu81jlweJ_iJqIWdJpYSHZBB27xXo,19682
18
+ dbt_common/clients/system.py,sha256=aoUBtOuXVmkOyj6IhhJ3Y4a7JFzPO2F_zKyOtz3xy44,23932
18
19
  dbt_common/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
20
  dbt_common/contracts/constraints.py,sha256=_f1q3Rkcg2UwA7zI5XBbUMXnPUg6pw17UC7l1HyhyQM,1352
20
21
  dbt_common/contracts/metadata.py,sha256=K_M06Rue0wmrQhFP_mq3uvQszq10CIt93oGiAVgbRfE,1293
21
- dbt_common/contracts/util.py,sha256=RZpeEExSKdyFwTq7MM3rd1ZkAf11C7I-bgppUJ6SXOg,741
22
+ dbt_common/contracts/util.py,sha256=_-vtcI6ZGmYVgrlxOw4M3YuH34Ncx-oKdKg7TV0pV78,916
22
23
  dbt_common/contracts/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- dbt_common/contracts/config/base.py,sha256=jWLf6SBUy7wngYs0Z5Zmx1O1v86XRueYaABlZ0W2Bxc,8356
24
+ dbt_common/contracts/config/base.py,sha256=vLkmnwWUGazIpUuUYqdnTrpBmFLJQ9hantsIv7T0GoU,12315
24
25
  dbt_common/contracts/config/materialization.py,sha256=rahC72qZ0-jB8oPwxyPooZXc5NJ-smg74g2HnGOMj34,256
25
26
  dbt_common/contracts/config/metadata.py,sha256=X47-tEA8q2ZfSMcYv0godUwTSVjt8NI77tD4NqdgM0c,1877
26
27
  dbt_common/contracts/config/properties.py,sha256=gWt6xsP4rVOqRKhmagiUhWnDynzD9mykfMYMTviwpEU,2281
27
28
  dbt_common/events/README.md,sha256=CSwVajoxCAqOug2UCnXldH1EUK7Kjf3rcq7z9ACjrss,3023
28
29
  dbt_common/events/__init__.py,sha256=av08vfpxo0ek7PqZNtMxY8FODJ3xwph4ehRxgInx4LA,383
29
30
  dbt_common/events/base_types.py,sha256=1l4Yx8zuma7jABB1fcPvL20ltpQ46w0mlYxn48kHykY,5415
30
- dbt_common/events/contextvars.py,sha256=Jx2J_Nkx0DH8EE1Sno_mbv7PMLBfCzm7byeFlUeflLA,3079
31
+ dbt_common/events/contextvars.py,sha256=EIs1P6NrJzx_IAV17x5cVqOAS4Lqbu6oc0etHtWCJOo,3097
31
32
  dbt_common/events/event_handler.py,sha256=jfi0PyqIOGnXCG9HEa0VIVULqNvXs1RYmAg0b50ChQs,1385
32
33
  dbt_common/events/event_manager.py,sha256=IIUwSyt_RcBbUI_iE5mnpmZt2uW7lG49RXOWz2VlUv0,2300
33
34
  dbt_common/events/event_manager_client.py,sha256=VKlIYJPcexmDKnidkyrs8BIuNZ1_CwDFGz-gBM2SAvo,1193
@@ -36,27 +37,27 @@ dbt_common/events/functions.py,sha256=K-R-FBTeO03U51gtMBu1EUcNsIAsgw_e5spWxLJ44V
36
37
  dbt_common/events/helpers.py,sha256=CfsWwNDjsLJkPIgOtAfuLEnZ3rGUKeYsH8aDtCW12OA,410
37
38
  dbt_common/events/interfaces.py,sha256=hEDeDoB0FW2RYHVZBG7gebEt_mUVBzkn1yPubpaxs-s,147
38
39
  dbt_common/events/logger.py,sha256=mAUNLZlIIOl3T2u7KOe8FF_deTNNe1CRJqmkPw4YH1U,6728
39
- dbt_common/events/types.proto,sha256=nsOE3XFYBPovT9Th8WMkDWxBXa-adqiL23zCYfOdVk0,2013
40
- dbt_common/events/types.py,sha256=quE22Kp78J51_8f1Si_K-xg0gA2Sg-fw9XDjNrcy81M,3905
41
- dbt_common/events/types_pb2.py,sha256=Gn3exMla0FjoA-5OQTjOeKCT_DLxzvcA3YHPfbFjAck,6563
40
+ dbt_common/events/types.proto,sha256=Ujl0O-X-pat8vlo2C0TMH1LZqa8EP_9f8k2TjbFuCV8,2276
41
+ dbt_common/events/types.py,sha256=MXCmG7qaj7hLbDZjjazjWftPTfoLjhNPATPMirO0DvU,4475
42
+ dbt_common/events/types_pb2.py,sha256=oFjR6pFqz3_Nk8wWIrVB9y6inNTxnj-CSGr2g8dnFz4,7167
42
43
  dbt_common/exceptions/__init__.py,sha256=X_Uw7BxOzXev_9JMYfs5Cm-_i_Qf2PJim8_-dDJI7Y8,361
43
- dbt_common/exceptions/base.py,sha256=9FVfeMn2zSZyevynwuVqKTgHBXyQ1HLZZRsubiU2FiE,7597
44
+ dbt_common/exceptions/base.py,sha256=d6lsA8sLqR6_BERowm91Mrs1ZwrEOeT8WQKWg4nPSPA,7750
44
45
  dbt_common/exceptions/cache.py,sha256=0z4fBcdNZMAR41YbPRo2GN0__xAMaYs8Uc-t3hjmVio,2532
45
46
  dbt_common/exceptions/connection.py,sha256=rXLJXUdLhyXP3CUUyiqWN2DDO5-0Pn1ChX3OIR7pxKk,176
46
47
  dbt_common/exceptions/contracts.py,sha256=i2PKRqda1Pq_Sro9FA22W7FTGklhBAGl6__nimR5_qI,527
47
48
  dbt_common/exceptions/events.py,sha256=j83szhbqmK3ITZR_xwA2dYTNaPcGF_lN_kQar6dQgjQ,317
48
- dbt_common/exceptions/jinja.py,sha256=PzVUB1MFf8x81bQHTwFIGw3PyrGZzWYw04eotI4CqtI,3124
49
+ dbt_common/exceptions/jinja.py,sha256=EfqWKLePqPIfzFjn1-Sn_lEp3fttzhzwogo0I-McAdc,3321
49
50
  dbt_common/exceptions/macros.py,sha256=2nujJrtpWHnhBwcyhcOmeVaEzILh3W9gtyP6vVpkA0o,3301
50
- dbt_common/exceptions/system.py,sha256=w7zCilpKTiKwj0BwqVgJZy6SqiCpH61ZzvOfGnYaeoI,1549
51
+ dbt_common/exceptions/system.py,sha256=scoKnSx2frTFCrfk2cH0g-z3MuzE-SEBXFC9P-jzB2s,1603
51
52
  dbt_common/utils/__init__.py,sha256=8PNb_A9zm2YfYMa0GsM-pAyJy3Iu0FUtWKvCs8kFhD0,549
52
- dbt_common/utils/casting.py,sha256=lcGLvASRRQ4q195wkQoP0BMA_AojK6Zu1yqxxjRktjo,666
53
- dbt_common/utils/connection.py,sha256=J5zxWFpGHpUbe-F04S9bVLLO3HLvHB6INOkAey0k76c,1373
53
+ dbt_common/utils/casting.py,sha256=xMulzzTrIQvw65UC9wr9oUWw5xp-BcUKtHaE8dldfII,679
54
+ dbt_common/utils/connection.py,sha256=gyEdWPG7NauZqMX9ZzbglaaB8itEpdwtn-0s_Zw79rk,1411
54
55
  dbt_common/utils/dict.py,sha256=unI-kJs2yvw7ic2U71-6H8koVRknkb0jCk7W_FCq6_I,4014
55
56
  dbt_common/utils/encoding.py,sha256=6_kSY2FvGNYMg7oX7PrbvVioieydih3Kl7Ii802LaHI,1705
56
57
  dbt_common/utils/executor.py,sha256=pNY0UbPlwQmTE69Vt_Rj91YGCIOEaqeYU3CjAds0T70,2454
57
58
  dbt_common/utils/formatting.py,sha256=JUn5rzJ-uajs9wPCN0-f2iRFY1pOJF5YjTD9dERuLoc,165
58
- dbt_common/utils/jinja.py,sha256=7s1-LbFBWIXZAeXMny6TpCmyd7uKrdDkCOklJ5W08qs,992
59
- dbt_common-1.7.0.dist-info/METADATA,sha256=ZjCx7aXFL7b-lRUJ87A06wzS7F9CBQJK2hEfcpZumvA,5298
60
- dbt_common-1.7.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
61
- dbt_common-1.7.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
62
- dbt_common-1.7.0.dist-info/RECORD,,
59
+ dbt_common/utils/jinja.py,sha256=JXgNmJArGGy0h7qkbNLA3zaEQmoF1CxsNBYTlIwFXDw,1101
60
+ dbt_common-1.9.0.dist-info/METADATA,sha256=gJ4sX5mtKWkJP66WbImh-5UrFsb5Mo3KQkoGkzbbsAQ,5298
61
+ dbt_common-1.9.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
62
+ dbt_common-1.9.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
63
+ dbt_common-1.9.0.dist-info/RECORD,,