dbt-common 1.0.0b2__tar.gz → 1.0.2__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 (103) hide show
  1. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/PKG-INFO +1 -1
  2. dbt_common-1.0.2/dbt_common/__about__.py +1 -0
  3. dbt_common-1.0.2/dbt_common/constants.py +6 -0
  4. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/context.py +7 -2
  5. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/functions.py +4 -5
  6. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/helper_types.py +13 -1
  7. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/ui.py +4 -0
  8. dbt_common-1.0.0b2/dbt_common/__about__.py +0 -1
  9. dbt_common-1.0.0b2/dbt_common/constants.py +0 -1
  10. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/.gitignore +0 -0
  11. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/CHANGELOG.md +0 -0
  12. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/LICENSE +0 -0
  13. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/README.md +0 -0
  14. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/codecov.yml +0 -0
  15. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/__init__.py +0 -0
  16. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/clients/__init__.py +0 -0
  17. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/clients/_jinja_blocks.py +0 -0
  18. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/clients/agate_helper.py +0 -0
  19. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/clients/jinja.py +0 -0
  20. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/clients/system.py +0 -0
  21. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/__init__.py +0 -0
  22. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/config/__init__.py +0 -0
  23. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/config/base.py +0 -0
  24. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/config/materialization.py +0 -0
  25. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/config/metadata.py +0 -0
  26. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/config/properties.py +0 -0
  27. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/constraints.py +0 -0
  28. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/contracts/util.py +0 -0
  29. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/dataclass_schema.py +0 -0
  30. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/README.md +0 -0
  31. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/__init__.py +0 -0
  32. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/base_types.py +0 -0
  33. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/contextvars.py +0 -0
  34. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/event_handler.py +0 -0
  35. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/event_manager.py +0 -0
  36. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/event_manager_client.py +0 -0
  37. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/format.py +0 -0
  38. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/helpers.py +0 -0
  39. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/interfaces.py +0 -0
  40. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/logger.py +0 -0
  41. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/types.proto +0 -0
  42. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/types.py +0 -0
  43. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/events/types_pb2.py +0 -0
  44. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/__init__.py +0 -0
  45. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/base.py +0 -0
  46. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/cache.py +0 -0
  47. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/connection.py +0 -0
  48. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/contracts.py +0 -0
  49. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/events.py +0 -0
  50. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/jinja.py +0 -0
  51. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/macros.py +0 -0
  52. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/exceptions/system.py +0 -0
  53. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/invocation.py +0 -0
  54. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/py.typed +0 -0
  55. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/record.py +0 -0
  56. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/semver.py +0 -0
  57. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/tests.py +0 -0
  58. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/__init__.py +0 -0
  59. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/casting.py +0 -0
  60. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/connection.py +0 -0
  61. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/dict.py +0 -0
  62. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/encoding.py +0 -0
  63. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/executor.py +0 -0
  64. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/formatting.py +0 -0
  65. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/dbt_common/utils/jinja.py +0 -0
  66. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/docs/arch/adr-0001-build-tooling.md +0 -0
  67. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/pyproject.toml +0 -0
  68. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/agate/__init__.pyi +0 -0
  69. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/agate/data_types.pyi +0 -0
  70. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/colorama/__init__.pyi +0 -0
  71. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/isodate/__init__.pyi +0 -0
  72. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/__init__.pyi +0 -0
  73. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/config.pyi +0 -0
  74. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/__init__.pyi +0 -0
  75. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/const.pyi +0 -0
  76. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/helpers.pyi +0 -0
  77. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/__init__.pyi +0 -0
  78. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/code/__init__.pyi +0 -0
  79. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/code/builder.pyi +0 -0
  80. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/code/lines.pyi +0 -0
  81. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/helpers.pyi +0 -0
  82. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/mixin.pyi +0 -0
  83. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/types/__init__.pyi +0 -0
  84. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/types/common.pyi +0 -0
  85. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/types/pack.pyi +0 -0
  86. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/core/meta/types/unpack.pyi +0 -0
  87. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/dialect.pyi +0 -0
  88. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/exceptions.pyi +0 -0
  89. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/helper.pyi +0 -0
  90. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/__init__.pyi +0 -0
  91. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/annotations.pyi +0 -0
  92. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/builder.pyi +0 -0
  93. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/dialects.pyi +0 -0
  94. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/models.pyi +0 -0
  95. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/jsonschema/schema.pyi +0 -0
  96. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/__init__.pyi +0 -0
  97. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/dict.pyi +0 -0
  98. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/json.pyi +0 -0
  99. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/msgpack.pyi +0 -0
  100. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/orjson.pyi +0 -0
  101. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/toml.pyi +0 -0
  102. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/mixins/yaml.pyi +0 -0
  103. {dbt_common-1.0.0b2 → dbt_common-1.0.2}/third-party-stubs/mashumaro/types.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dbt-common
3
- Version: 1.0.0b2
3
+ Version: 1.0.2
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
@@ -0,0 +1 @@
1
+ version = "1.0.2"
@@ -0,0 +1,6 @@
1
+ # Prefix which identifies environment variables which contains secrets.
2
+ SECRET_ENV_PREFIX = "DBT_ENV_SECRET"
3
+
4
+ # Prefix which identifies environment variables that should not be visible
5
+ # via macros, flags, or other user-facing mechanisms.
6
+ PRIVATE_ENV_PREFIX = "DBT_ENV_PRIVATE"
@@ -1,13 +1,14 @@
1
1
  from contextvars import ContextVar, copy_context
2
2
  from typing import List, Mapping, Optional
3
3
 
4
- from dbt_common.constants import SECRET_ENV_PREFIX
4
+ from dbt_common.constants import PRIVATE_ENV_PREFIX, SECRET_ENV_PREFIX
5
5
 
6
6
 
7
7
  class InvocationContext:
8
8
  def __init__(self, env: Mapping[str, str]):
9
- self._env = env
9
+ self._env = {k: v for k, v in env.items() if not k.startswith(PRIVATE_ENV_PREFIX)}
10
10
  self._env_secrets: Optional[List[str]] = None
11
+ self._env_private = {k: v for k, v in env.items() if k.startswith(PRIVATE_ENV_PREFIX)}
11
12
  self.recorder = None
12
13
  # This class will also eventually manage the invocation_id, flags, event manager, etc.
13
14
 
@@ -15,6 +16,10 @@ class InvocationContext:
15
16
  def env(self) -> Mapping[str, str]:
16
17
  return self._env
17
18
 
19
+ @property
20
+ def env_private(self) -> Mapping[str, str]:
21
+ return self._env_private
22
+
18
23
  @property
19
24
  def env_secrets(self) -> List[str]:
20
25
  if self._env_secrets is None:
@@ -1,6 +1,7 @@
1
1
  from pathlib import Path
2
2
 
3
3
  from dbt_common.events.event_manager_client import get_event_manager
4
+ from dbt_common.exceptions import EventCompilationError
4
5
  from dbt_common.invocation import get_invocation_id
5
6
  from dbt_common.helper_types import WarnErrorOptions
6
7
  from dbt_common.utils.encoding import ForgivingJSONEncoder
@@ -114,12 +115,10 @@ def msg_to_dict(msg: EventMsg) -> dict:
114
115
 
115
116
 
116
117
  def warn_or_error(event, node=None) -> None:
117
- if WARN_ERROR or WARN_ERROR_OPTIONS.includes(type(event).__name__):
118
- # TODO: resolve this circular import when at top
119
- from dbt_common.exceptions import EventCompilationError
120
-
118
+ event_name = type(event).__name__
119
+ if WARN_ERROR or WARN_ERROR_OPTIONS.includes(event_name):
121
120
  raise EventCompilationError(event.message(), node)
122
- else:
121
+ elif not WARN_ERROR_OPTIONS.silenced(event_name):
123
122
  fire_event(event)
124
123
 
125
124
 
@@ -54,7 +54,7 @@ class IncludeExclude(dbtClassMixin):
54
54
  if isinstance(self.exclude, list):
55
55
  self._validate_items(self.exclude)
56
56
 
57
- def includes(self, item_name: str):
57
+ def includes(self, item_name: str) -> bool:
58
58
  return (
59
59
  item_name in self.include or self.include in self.INCLUDE_ALL
60
60
  ) and item_name not in self.exclude
@@ -69,10 +69,22 @@ class WarnErrorOptions(IncludeExclude):
69
69
  include: Union[str, List[str]],
70
70
  exclude: Optional[List[str]] = None,
71
71
  valid_error_names: Optional[Set[str]] = None,
72
+ silence: Optional[List[str]] = None,
72
73
  ):
74
+ self.silence = silence or []
73
75
  self._valid_error_names: Set[str] = valid_error_names or set()
74
76
  super().__init__(include=include, exclude=(exclude or []))
75
77
 
78
+ def __post_init__(self):
79
+ super().__post_init__()
80
+ self._validate_items(self.silence)
81
+
82
+ def includes(self, item_name: str) -> bool:
83
+ return super().includes(item_name) and not self.silenced(item_name)
84
+
85
+ def silenced(self, item_name: str) -> bool:
86
+ return item_name in self.silence
87
+
76
88
  def _validate_items(self, items: List[str]):
77
89
  for item in items:
78
90
  if item not in self._valid_error_names:
@@ -80,3 +80,7 @@ def line_wrap_message(msg: str, subtract: int = 0, dedent: bool = True, prefix:
80
80
 
81
81
  def warning_tag(msg: str) -> str:
82
82
  return f'[{yellow("WARNING")}]: {msg}'
83
+
84
+
85
+ def error_tag(msg: str) -> str:
86
+ return f'[{red("ERROR")}]: {msg}'
@@ -1 +0,0 @@
1
- version = "1.0.0b2"
@@ -1 +0,0 @@
1
- SECRET_ENV_PREFIX = "DBT_ENV_SECRET_"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes