dbt-common 0.1.4__tar.gz → 0.1.6__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 (101) hide show
  1. {dbt_common-0.1.4 → dbt_common-0.1.6}/PKG-INFO +2 -2
  2. dbt_common-0.1.6/dbt_common/__about__.py +1 -0
  3. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/context.py +3 -3
  4. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/contextvars.py +9 -9
  5. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/functions.py +0 -7
  6. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/executor.py +13 -1
  7. {dbt_common-0.1.4 → dbt_common-0.1.6}/pyproject.toml +1 -1
  8. dbt_common-0.1.4/dbt_common/__about__.py +0 -1
  9. {dbt_common-0.1.4 → dbt_common-0.1.6}/.gitignore +0 -0
  10. {dbt_common-0.1.4 → dbt_common-0.1.6}/CHANGELOG.md +0 -0
  11. {dbt_common-0.1.4 → dbt_common-0.1.6}/LICENSE +0 -0
  12. {dbt_common-0.1.4 → dbt_common-0.1.6}/README.md +0 -0
  13. {dbt_common-0.1.4 → dbt_common-0.1.6}/codecov.yml +0 -0
  14. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/__init__.py +0 -0
  15. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/clients/__init__.py +0 -0
  16. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/clients/_jinja_blocks.py +0 -0
  17. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/clients/agate_helper.py +0 -0
  18. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/clients/jinja.py +0 -0
  19. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/clients/system.py +0 -0
  20. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/constants.py +0 -0
  21. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/__init__.py +0 -0
  22. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/config/__init__.py +0 -0
  23. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/config/base.py +0 -0
  24. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/config/materialization.py +0 -0
  25. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/config/metadata.py +0 -0
  26. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/config/properties.py +0 -0
  27. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/constraints.py +0 -0
  28. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/contracts/util.py +0 -0
  29. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/dataclass_schema.py +0 -0
  30. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/README.md +0 -0
  31. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/__init__.py +0 -0
  32. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/base_types.py +0 -0
  33. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/event_handler.py +0 -0
  34. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/event_manager.py +0 -0
  35. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/event_manager_client.py +0 -0
  36. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/format.py +0 -0
  37. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/helpers.py +0 -0
  38. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/interfaces.py +0 -0
  39. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/logger.py +0 -0
  40. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/types.proto +0 -0
  41. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/types.py +0 -0
  42. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/events/types_pb2.py +0 -0
  43. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/__init__.py +0 -0
  44. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/base.py +0 -0
  45. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/cache.py +0 -0
  46. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/connection.py +0 -0
  47. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/contracts.py +0 -0
  48. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/events.py +0 -0
  49. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/jinja.py +0 -0
  50. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/macros.py +0 -0
  51. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/exceptions/system.py +0 -0
  52. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/helper_types.py +0 -0
  53. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/invocation.py +0 -0
  54. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/py.typed +0 -0
  55. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/semver.py +0 -0
  56. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/tests.py +0 -0
  57. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/ui.py +0 -0
  58. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/__init__.py +0 -0
  59. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/casting.py +0 -0
  60. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/connection.py +0 -0
  61. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/dict.py +0 -0
  62. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/encoding.py +0 -0
  63. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/formatting.py +0 -0
  64. {dbt_common-0.1.4 → dbt_common-0.1.6}/dbt_common/utils/jinja.py +0 -0
  65. {dbt_common-0.1.4 → dbt_common-0.1.6}/docs/arch/adr-0001-build-tooling.md +0 -0
  66. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/agate/__init__.pyi +0 -0
  67. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/agate/data_types.pyi +0 -0
  68. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/colorama/__init__.pyi +0 -0
  69. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/isodate/__init__.pyi +0 -0
  70. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/__init__.pyi +0 -0
  71. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/config.pyi +0 -0
  72. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/__init__.pyi +0 -0
  73. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/const.pyi +0 -0
  74. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/helpers.pyi +0 -0
  75. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/__init__.pyi +0 -0
  76. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/code/__init__.pyi +0 -0
  77. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/code/builder.pyi +0 -0
  78. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/code/lines.pyi +0 -0
  79. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/helpers.pyi +0 -0
  80. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/mixin.pyi +0 -0
  81. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/types/__init__.pyi +0 -0
  82. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/types/common.pyi +0 -0
  83. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/types/pack.pyi +0 -0
  84. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/core/meta/types/unpack.pyi +0 -0
  85. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/dialect.pyi +0 -0
  86. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/exceptions.pyi +0 -0
  87. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/helper.pyi +0 -0
  88. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/__init__.pyi +0 -0
  89. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/annotations.pyi +0 -0
  90. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/builder.pyi +0 -0
  91. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/dialects.pyi +0 -0
  92. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/models.pyi +0 -0
  93. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/jsonschema/schema.pyi +0 -0
  94. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/__init__.pyi +0 -0
  95. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/dict.pyi +0 -0
  96. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/json.pyi +0 -0
  97. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/msgpack.pyi +0 -0
  98. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/orjson.pyi +0 -0
  99. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/toml.pyi +0 -0
  100. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/mixins/yaml.pyi +0 -0
  101. {dbt_common-0.1.4 → dbt_common-0.1.6}/third-party-stubs/mashumaro/types.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbt-common
3
- Version: 0.1.4
3
+ Version: 0.1.6
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
@@ -30,7 +30,7 @@ Requires-Dist: jinja2~=3.0
30
30
  Requires-Dist: jsonschema~=4.0
31
31
  Requires-Dist: mashumaro[msgpack]~=3.9
32
32
  Requires-Dist: pathspec<0.12,>=0.9
33
- Requires-Dist: protobuf>=4.0.0
33
+ Requires-Dist: protobuf<5.0.0,>=4.0.0
34
34
  Requires-Dist: python-dateutil~=2.0
35
35
  Requires-Dist: requests<3.0.0
36
36
  Requires-Dist: typing-extensions~=4.4
@@ -0,0 +1 @@
1
+ version = "0.1.6"
@@ -26,7 +26,7 @@ class InvocationContext:
26
26
  _INVOCATION_CONTEXT_VAR: ContextVar[InvocationContext] = ContextVar("DBT_INVOCATION_CONTEXT_VAR")
27
27
 
28
28
 
29
- def _reliably_get_invocation_var() -> ContextVar:
29
+ def reliably_get_invocation_var() -> ContextVar:
30
30
  invocation_var: Optional[ContextVar] = next(
31
31
  (cv for cv in copy_context() if cv.name == _INVOCATION_CONTEXT_VAR.name), None
32
32
  )
@@ -38,11 +38,11 @@ def _reliably_get_invocation_var() -> ContextVar:
38
38
 
39
39
 
40
40
  def set_invocation_context(env: Mapping[str, str]) -> None:
41
- invocation_var = _reliably_get_invocation_var()
41
+ invocation_var = reliably_get_invocation_var()
42
42
  invocation_var.set(InvocationContext(env))
43
43
 
44
44
 
45
45
  def get_invocation_context() -> InvocationContext:
46
- invocation_var = _reliably_get_invocation_var()
46
+ invocation_var = reliably_get_invocation_var()
47
47
  ctx = invocation_var.get()
48
48
  return ctx
@@ -58,12 +58,12 @@ def set_task_contextvars(**kwargs: Any) -> Mapping[str, contextvars.Token]:
58
58
  def set_contextvars(prefix: str, **kwargs: Any) -> Mapping[str, contextvars.Token]:
59
59
  cvar_tokens = {}
60
60
  for k, v in kwargs.items():
61
- log_key = f"{prefix}{k}"
61
+ prefix_key = f"{prefix}{k}"
62
62
  try:
63
- var = _context_vars[log_key]
63
+ var = _context_vars[prefix_key]
64
64
  except KeyError:
65
- var = contextvars.ContextVar(log_key, default=Ellipsis)
66
- _context_vars[log_key] = var
65
+ var = contextvars.ContextVar(prefix_key, default=Ellipsis)
66
+ _context_vars[prefix_key] = var
67
67
 
68
68
  cvar_tokens[k] = var.set(v)
69
69
 
@@ -73,17 +73,17 @@ def set_contextvars(prefix: str, **kwargs: Any) -> Mapping[str, contextvars.Toke
73
73
  # reset by Tokens
74
74
  def reset_contextvars(prefix: str, **kwargs: contextvars.Token) -> None:
75
75
  for k, v in kwargs.items():
76
- log_key = f"{prefix}{k}"
77
- var = _context_vars[log_key]
76
+ prefix_key = f"{prefix}{k}"
77
+ var = _context_vars[prefix_key]
78
78
  var.reset(v)
79
79
 
80
80
 
81
81
  # remove from contextvars
82
82
  def unset_contextvars(prefix: str, *keys: str) -> None:
83
83
  for k in keys:
84
- if k in _context_vars:
85
- log_key = f"{prefix}{k}"
86
- _context_vars[log_key].set(Ellipsis)
84
+ prefix_key = f"{prefix}{k}"
85
+ if prefix_key in _context_vars:
86
+ _context_vars[prefix_key].set(Ellipsis)
87
87
 
88
88
 
89
89
  # Context manager or decorator to set and unset the context vars
@@ -132,13 +132,6 @@ def fire_event_if(
132
132
  fire_event(lazy_e(), level=level)
133
133
 
134
134
 
135
- # a special case of fire_event_if, to only fire events in our unit/functional tests
136
- def fire_event_if_test(
137
- lazy_e: Callable[[], BaseEvent], level: Optional[EventLevel] = None
138
- ) -> None:
139
- fire_event_if(conditional=("pytest" in sys.modules), lazy_e=lazy_e, level=level)
140
-
141
-
142
135
  # top-level method for accessing the new eventing system
143
136
  # this is where all the side effects happen branched by event type
144
137
  # (i.e. - mutating the event history, printing to stdout, logging
@@ -1,7 +1,10 @@
1
1
  import concurrent.futures
2
2
  from contextlib import contextmanager
3
+ from contextvars import ContextVar
3
4
  from typing import Protocol, Optional
4
5
 
6
+ from dbt_common.context import get_invocation_context, reliably_get_invocation_var
7
+
5
8
 
6
9
  class ConnectingExecutor(concurrent.futures.Executor):
7
10
  def submit_connected(self, adapter, conn_name, func, *args, **kwargs):
@@ -60,8 +63,17 @@ class HasThreadingConfig(Protocol):
60
63
  threads: Optional[int]
61
64
 
62
65
 
66
+ def _thread_initializer(invocation_context: ContextVar) -> None:
67
+ invocation_var = reliably_get_invocation_var()
68
+ invocation_var.set(invocation_context)
69
+
70
+
63
71
  def executor(config: HasThreadingConfig) -> ConnectingExecutor:
64
72
  if config.args.single_threaded:
65
73
  return SingleThreadedExecutor()
66
74
  else:
67
- return MultiThreadedExecutor(max_workers=config.threads)
75
+ return MultiThreadedExecutor(
76
+ max_workers=config.threads,
77
+ initializer=_thread_initializer,
78
+ initargs=(get_invocation_context(),),
79
+ )
@@ -34,7 +34,7 @@ dependencies = [
34
34
  "Jinja2~=3.0",
35
35
  "mashumaro[msgpack]~=3.9",
36
36
  "pathspec>=0.9,<0.12",
37
- "protobuf>=4.0.0",
37
+ "protobuf>=4.0.0,<5.0.0",
38
38
  "python-dateutil~=2.0",
39
39
  "requests<3.0.0",
40
40
  "typing-extensions~=4.4",
@@ -1 +0,0 @@
1
- version = "0.1.4"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes