dbt-adapters 1.14.0__py3-none-any.whl → 1.14.1__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.

Potentially problematic release.


This version of dbt-adapters might be problematic. Click here for more details.

dbt/adapters/__about__.py CHANGED
@@ -1 +1 @@
1
- version = "1.14.0"
1
+ version = "1.14.1"
dbt/adapters/base/impl.py CHANGED
@@ -1224,7 +1224,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1224
1224
  kwargs = {"information_schema": information_schema, "schemas": schemas}
1225
1225
  table = self.execute_macro(GET_CATALOG_MACRO_NAME, kwargs=kwargs)
1226
1226
 
1227
- results = self._catalog_filter_table(table, used_schemas) # type: ignore[arg-type]
1227
+ results = self._catalog_filter_table(table, used_schemas)
1228
1228
  return results
1229
1229
 
1230
1230
  def _get_one_catalog_by_relations(
@@ -1239,7 +1239,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1239
1239
  }
1240
1240
  table = self.execute_macro(GET_CATALOG_RELATIONS_MACRO_NAME, kwargs=kwargs)
1241
1241
 
1242
- results = self._catalog_filter_table(table, used_schemas) # type: ignore[arg-type]
1242
+ results = self._catalog_filter_table(table, used_schemas)
1243
1243
  return results
1244
1244
 
1245
1245
  def get_filtered_catalog(
@@ -1435,7 +1435,7 @@ class BaseAdapter(metaclass=AdapterMeta):
1435
1435
  macro_resolver=macro_resolver,
1436
1436
  needs_conn=True,
1437
1437
  )
1438
- adapter_response, table = result.response, result.table # type: ignore[attr-defined]
1438
+ adapter_response, table = result.response, result.table
1439
1439
  adapter_responses.append(adapter_response)
1440
1440
 
1441
1441
  for row in table:
dbt/adapters/base/meta.py CHANGED
@@ -121,7 +121,7 @@ class AdapterMeta(abc.ABCMeta):
121
121
  # I'm not sure there is any benefit to it after poking around a bit,
122
122
  # but having it doesn't hurt on the python side (and omitting it could
123
123
  # hurt for obscure metaclass reasons, for all I know)
124
- cls = abc.ABCMeta.__new__(mcls, name, bases, namespace, **kwargs) # type: ignore
124
+ cls = abc.ABCMeta.__new__(mcls, name, bases, namespace, **kwargs)
125
125
 
126
126
  # this is very much inspired by ABCMeta's own implementation
127
127
 
@@ -135,7 +135,7 @@ class BaseRelation(FakeAPIObject, Hashable):
135
135
  if str(self.path.get_lowered_part(k)).strip(self.quote_character) != v.lower().strip(
136
136
  self.quote_character
137
137
  ):
138
- approximate_match = False # type: ignore[union-attr]
138
+ approximate_match = False
139
139
 
140
140
  if approximate_match and not exact_match:
141
141
  target = self.create(database=database, schema=schema, identifier=identifier)
@@ -124,7 +124,7 @@ class LazyHandle:
124
124
  # and https://github.com/python/mypy/issues/5374
125
125
  # for why we have type: ignore. Maybe someday dataclasses + abstract classes
126
126
  # will work.
127
- @dataclass # type: ignore
127
+ @dataclass
128
128
  class Credentials(ExtensibleDbtClassMixin, Replaceable, metaclass=abc.ABCMeta):
129
129
  database: str
130
130
  schema: str
dbt/adapters/protocol.py CHANGED
@@ -75,7 +75,7 @@ class MacroContextGeneratorCallable(Protocol):
75
75
 
76
76
 
77
77
  # TODO CT-211
78
- class AdapterProtocol( # type: ignore[misc]
78
+ class AdapterProtocol(
79
79
  Protocol,
80
80
  Generic[
81
81
  AdapterConfig_T,
@@ -37,7 +37,7 @@ class RelationConfigBase:
37
37
 
38
38
  Returns: the `RelationConfigBase` representation associated with the provided dict
39
39
  """
40
- return cls(**filter_null_values(kwargs_dict)) # type: ignore
40
+ return cls(**filter_null_values(kwargs_dict))
41
41
 
42
42
  @classmethod
43
43
  def _not_implemented_error(cls) -> NotImplementedError:
@@ -102,7 +102,7 @@ class SQLConnectionManager(BaseConnectionManager):
102
102
 
103
103
  fire_event(
104
104
  AdapterEventDebug(
105
- message=f"Got a retryable error {type(e)}. {retry_limit-attempt} retries left. Retrying in 1 second.\nError:\n{e}"
105
+ message=f"Got a retryable error {type(e)}. {retry_limit - attempt} retries left. Retrying in 1 second.\nError:\n{e}"
106
106
  )
107
107
  )
108
108
  time.sleep(1)
dbt/adapters/sql/impl.py CHANGED
@@ -75,7 +75,7 @@ class SQLAdapter(BaseAdapter):
75
75
  import agate
76
76
 
77
77
  # TODO CT-211
78
- decimals = agate_table.aggregate(agate.MaxPrecision(col_idx)) # type: ignore[attr-defined]
78
+ decimals = agate_table.aggregate(agate.MaxPrecision(col_idx))
79
79
  return "float8" if decimals else "integer"
80
80
 
81
81
  @classmethod
@@ -247,7 +247,7 @@ class SQLAdapter(BaseAdapter):
247
247
  # return fetched output for engines where explain plans are emitted as columnar
248
248
  # results. Any macro override that deviates from this behavior may encounter an
249
249
  # assertion error in the runtime.
250
- adapter_response = result.response # type: ignore[attr-defined]
250
+ adapter_response = result.response
251
251
  assert isinstance(adapter_response, AdapterResponse), (
252
252
  f"Expected AdapterResponse from validate_sql macro execution, "
253
253
  f"got {type(adapter_response)}."
@@ -61,36 +61,23 @@
61
61
  {%- set dest_cols_csv = get_quoted_csv(dest_columns | map(attribute="name")) -%}
62
62
 
63
63
  {% if unique_key %}
64
- {% if unique_key is sequence and unique_key is not string %}
65
- delete from {{ target }}
66
- using {{ source }}
67
- where (
68
- {% for key in unique_key %}
69
- {% set source_unique_key = (source ~ "." ~ key) | trim %}
70
- {% set target_unique_key = (target ~ "." ~ key) | trim %}
71
- {{ equals(source_unique_key, target_unique_key) }}
72
- {{ "and " if not loop.last}}
73
- {% endfor %}
74
- {% if incremental_predicates %}
75
- {% for predicate in incremental_predicates %}
76
- and {{ predicate }}
77
- {% endfor %}
78
- {% endif %}
79
- );
80
- {% else %}
81
- delete from {{ target }}
82
- where (
83
- {{ unique_key }}) in (
84
- select ({{ unique_key }})
85
- from {{ source }}
86
- )
87
- {%- if incremental_predicates %}
88
- {% for predicate in incremental_predicates %}
89
- and {{ predicate }}
90
- {% endfor %}
91
- {%- endif -%};
92
-
64
+ {% if unique_key is string %}
65
+ {% set unique_key = [unique_key] %}
93
66
  {% endif %}
67
+
68
+ {%- set unique_key_str = unique_key|join(', ') -%}
69
+
70
+ delete from {{ target }}
71
+ where ({{ unique_key_str }}) in (
72
+ select distinct {{ unique_key_str }}
73
+ from {{ source }}
74
+ )
75
+ {%- if incremental_predicates %}
76
+ {% for predicate in incremental_predicates %}
77
+ and {{ predicate }}
78
+ {% endfor %}
79
+ {%- endif -%};
80
+
94
81
  {% endif %}
95
82
 
96
83
  insert into {{ target }} ({{ dest_cols_csv }})
@@ -0,0 +1,123 @@
1
+ Metadata-Version: 2.4
2
+ Name: dbt-adapters
3
+ Version: 1.14.1
4
+ Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
5
+ Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters/tree/main/dbt-adapters
6
+ Project-URL: Documentation, https://docs.getdbt.com
7
+ Project-URL: Repository, https://github.com/dbt-labs/dbt-adapters.git#subdirectory=dbt-adapters
8
+ Project-URL: Issues, https://github.com/dbt-labs/dbt-adapters/issues
9
+ Project-URL: Changelog, https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-adapters/CHANGELOG.md
10
+ Author-email: dbt Labs <info@dbtlabs.com>
11
+ Maintainer-email: dbt Labs <info@dbtlabs.com>
12
+ License-File: LICENSE
13
+ Keywords: adapter,adapters,database,dbt,dbt Cloud,dbt Core,dbt Labs,dbt-core,elt
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: License :: OSI Approved :: Apache Software License
16
+ Classifier: Operating System :: MacOS :: MacOS X
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Programming Language :: Python :: 3.9
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Requires-Python: >=3.9.0
24
+ Requires-Dist: agate<2.0,>=1.0
25
+ Requires-Dist: dbt-common<2.0,>=1.13
26
+ Requires-Dist: mashumaro[msgpack]<3.15,>=3.9
27
+ Requires-Dist: protobuf<6.0,>=5.0
28
+ Requires-Dist: pytz>=2015.7
29
+ Requires-Dist: typing-extensions<5.0,>=4.0
30
+ Description-Content-Type: text/markdown
31
+
32
+ <p align="center">
33
+ <img
34
+ src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg"
35
+ alt="dbt logo"
36
+ width="500"
37
+ />
38
+ </p>
39
+
40
+ <p align="center">
41
+ <a href="https://pypi.org/project/dbt-adapters/">
42
+ <img src="https://badge.fury.io/py/dbt-adapters.svg" />
43
+ </a>
44
+ <a target="_blank" href="https://pypi.org/project/dbt-adapters/" style="background:none">
45
+ <img src="https://img.shields.io/pypi/pyversions/dbt-adapters">
46
+ </a>
47
+ <a href="https://github.com/psf/black">
48
+ <img src="https://img.shields.io/badge/code%20style-black-000000.svg" />
49
+ </a>
50
+ <a href="https://github.com/python/mypy">
51
+ <img src="https://www.mypy-lang.org/static/mypy_badge.svg" />
52
+ </a>
53
+ <a href="https://pepy.tech/project/dbt-athena">
54
+ <img src="https://static.pepy.tech/badge/dbt-adapters/month" />
55
+ </a>
56
+ </p>
57
+
58
+ # Adapters
59
+
60
+ There are two major adapter types: [base](/dbt-adapters/src/dbt/adapters/base/impl.py) and [sql](/dbt-adapters/src/dbt/adapters/sql/impl.py).
61
+
62
+ ## `base`
63
+
64
+ `BaseAdapter` defines the base functionality an adapter is required to implement in order to function with `dbt-core`.
65
+ There are several methods which have default implementations as well as methods that require the concrete adapter to implement them.
66
+
67
+ ## `sql`
68
+
69
+ `SQLAdapter` inherits from `BaseAdapter`, updates default implementations to work with SQL-based platforms,
70
+ and defines additional required methods to support those defaults.
71
+
72
+ # Components
73
+
74
+ An adapter is composed of several components.
75
+
76
+ - connections
77
+ - dialect
78
+ - relation caching
79
+ - integration with `dbt-core`
80
+
81
+ The first two are platform-specific and require significant implementation in a concrete adapter.
82
+ The last two are largely implemented in `dbt-adapters` with minor adjustments in a concrete adapter.
83
+
84
+ ## Connections
85
+
86
+ This component is responsible for creating and managing connections to storage and compute.
87
+
88
+ #### Files
89
+ - `dbt/adapters/{base|sql}/connections.py`
90
+
91
+ ## Dialect
92
+
93
+ This component is responsible for translating a request from `dbt-core` into a specific set of actions on the platform.
94
+
95
+ #### Files
96
+ - `dbt/adapters/base/column.py`
97
+ - `dbt/adapters/base/query_headers.py`
98
+ - `dbt/adapters/base/relation.py`
99
+ - `dbt/adapters/relation_configs/*`
100
+ - `dbt/adapters/clients/jinja.py`
101
+ - `dbt/include/global_project/*`
102
+
103
+ ## Relation caching
104
+
105
+ This component is responsible for managing a local cache of relations, relation metadata, and dependencies between relations.
106
+
107
+ #### Files
108
+ - `dbt/adapters/cache.py`
109
+
110
+ ## Integration with `dbt-core`
111
+
112
+ This component is responsible for managing the interface between `dbt-core` and a concrete adapter.
113
+
114
+ #### Files
115
+ - `dbt/adapters/{base|sql}/impl.py`
116
+ - `dbt/adapters/base/meta.py`
117
+ - `dbt/adapters/base/plugin.py`
118
+ - `dbt/adapters/capability.py`
119
+ - `dbt/adapters/factory.py`
120
+ - `dbt/adapters/protocol.py`
121
+ - `dbt/adapters/contracts/*`
122
+ - `dbt/adapters/events/*`
123
+ - `dbt/adapters/exceptions/*`
@@ -1,9 +1,9 @@
1
- dbt/adapters/__about__.py,sha256=jgA5fU_XZ5Gv-NyYGvOeyOvgy8rP58A_XiIlWHtvbZo,19
1
+ dbt/adapters/__about__.py,sha256=26nkdQZKefPNAbIF7Yze47tJRP5s4mUkOm3Lsjdi2Sk,19
2
2
  dbt/adapters/__init__.py,sha256=3noHsg-64qI0_Pw6OR9F7l1vU2_qrJvinq8POTtuaZM,252
3
3
  dbt/adapters/cache.py,sha256=WGy4ewnz-J13LverTACBW2iFhGswrWLgm-wiBrQnMzo,20084
4
4
  dbt/adapters/capability.py,sha256=M3FkC9veKnNB7a7uQyl7EHX_AGNXPChbHAkcY4cgXCY,2534
5
5
  dbt/adapters/factory.py,sha256=9N-LjTnyqBKqK7KARjJdAPdQIRXQbVRfd2cBNDtU4Dc,9378
6
- dbt/adapters/protocol.py,sha256=qRsEFAKjUMVnoBspAiCUTICez1ckson-dFS04dTXSco,3818
6
+ dbt/adapters/protocol.py,sha256=4Em-TrGOlA7r8vcrKe7BtdIHKjVowWvZQRNisTu9Z8I,3796
7
7
  dbt/adapters/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  dbt/adapters/reference_keys.py,sha256=lRN3gPdQD6Qciy-BAGx_rz3CFlbS7zMSZ43pZ_9ondE,1046
9
9
  dbt/adapters/utils.py,sha256=OtakbxPgxwrxN5Yd2vAO-cvLETSgzBwMWebhgegAVyA,2414
@@ -11,15 +11,15 @@ dbt/adapters/base/README.md,sha256=muHQntC07Lh6L1XfVgwKhV5RltOPBLYPdQqd8_7l34c,5
11
11
  dbt/adapters/base/__init__.py,sha256=Nc8lQVkOzAqdcxk4cw4E_raxN9CAWMwhQx4STdiicxg,456
12
12
  dbt/adapters/base/column.py,sha256=Uj20UixoxCn2rlv4QDNONyys6CDkDFyG3anCXKf0T2c,5350
13
13
  dbt/adapters/base/connections.py,sha256=-C5dOwGgMKH8n_v6wjwOxV7chBdS0GjOGwNQCUbhhWc,16951
14
- dbt/adapters/base/impl.py,sha256=bzwmhB_M5SaYNKjUuS6ELzIjIxFNwOdmM85t7_V1B0Y,74919
15
- dbt/adapters/base/meta.py,sha256=IKqviGf7gK_qGtrn0t8NaSdUaw8g_M8SjICacMvNwGY,5702
14
+ dbt/adapters/base/impl.py,sha256=92zwLFAFe7DJH-raacInT78KIiOM6Mp1h7Ptr9X-sj4,74837
15
+ dbt/adapters/base/meta.py,sha256=c5j0qeGec1cAi-IlVV_JkhMk01p5XqbtGj02uxGP1S4,5686
16
16
  dbt/adapters/base/plugin.py,sha256=rm0GjNHnWM2mn0GJOjciZLwn-02xlzWCoMT9u-epwP0,1076
17
17
  dbt/adapters/base/query_headers.py,sha256=UluGd9IYCYkoMiDi5Yx_lnrCOSjWppjwRro4SIGgx8I,3496
18
- dbt/adapters/base/relation.py,sha256=LgluQrBxbkd3OvLCxFxds3UspuOMkBn6INv5FUlxGjQ,18924
18
+ dbt/adapters/base/relation.py,sha256=keN8E2gBbe6rKbguKYmFuLxCrc1qye-lpOeENt9Jeho,18896
19
19
  dbt/adapters/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  dbt/adapters/clients/jinja.py,sha256=NsZOiBpOLunS46hRL5OcX1MpY3Ih6_87Vgz4qd_PNbc,768
21
21
  dbt/adapters/contracts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- dbt/adapters/contracts/connection.py,sha256=CAKHn6zb5LJCxbtPoGJYOC0s2iV9_wX6RDO3mxL98jM,6933
22
+ dbt/adapters/contracts/connection.py,sha256=35mErirojY6Au63wjFgQokk_x7JWHjPUa6hiXjDEs0k,6917
23
23
  dbt/adapters/contracts/macros.py,sha256=NYVDi5ww7v4ksKBwF836TXE-2xU4IBaUINqvxMY-ieU,366
24
24
  dbt/adapters/contracts/relation.py,sha256=H_IYxRtg9LV8kYAfAiWeQAf-2ByMRN-EkfxHim-7AJE,4731
25
25
  dbt/adapters/events/README.md,sha256=kVUFIsDQrHTUmk9Mmu-yXYkWh4pA5MJK_H6739rQr5I,3521
@@ -46,12 +46,12 @@ dbt/adapters/record/cursor/fetchone.py,sha256=IKtzTMQjSeK3g0svtWMXLx_7OGx6HpbPh1
46
46
  dbt/adapters/record/cursor/rowcount.py,sha256=BuiRd_JpQTPN3YaGACfsXe1vmsvO4c49kCpIBZoG6hE,515
47
47
  dbt/adapters/relation_configs/README.md,sha256=VVeqMLbBWsBVNXHa9GLKLBN25Ivc8y78GR-6OB2tf4U,1809
48
48
  dbt/adapters/relation_configs/__init__.py,sha256=Il1HHEI8HJGHEi2B8qsgv_CoNA2STO7SULDi78fQwZg,354
49
- dbt/adapters/relation_configs/config_base.py,sha256=IK9oKf9TuOTLIiKX8ms_X-p4yxZvPAlM7qg94mozvrA,1756
49
+ dbt/adapters/relation_configs/config_base.py,sha256=CAsnpbNSlwMgy47oQ_Iv-hRu6mObsMZY-l6T3DG-VIo,1740
50
50
  dbt/adapters/relation_configs/config_change.py,sha256=hf6fDWbZpKvZdM6z-OtY-GveipzfLRR_dsUZmYmXkdk,713
51
51
  dbt/adapters/relation_configs/config_validation.py,sha256=wlJUMwOEPhYFch-LRtEWfLNJMq8jL1tRhOUHmNX8nFw,1978
52
52
  dbt/adapters/sql/__init__.py,sha256=WLWZJfqc8pr1N1BMVe9gM-KQ4URJIeKfLqTuJBD1VN0,107
53
- dbt/adapters/sql/connections.py,sha256=XDmzgQ6uoTIdQNJrEsdjmaOuAZYTvaMzH03ZJueKMy8,8422
54
- dbt/adapters/sql/impl.py,sha256=HmH3eC-qVeCAAukjEOnUNZbH-UK32X-NL4kwb_EHzs0,10763
53
+ dbt/adapters/sql/connections.py,sha256=JEMvgOW167je6J33Xj_Q605cB-9gDNOmCo3zdAnWiI8,8424
54
+ dbt/adapters/sql/impl.py,sha256=mZ0yuvH4ee2CQm-Kt-2qt3ANMgIP8nQKdIYD0xTToU8,10703
55
55
  dbt/include/__init__.py,sha256=qEFeq3yuf3lQKVseALmL8aPM8fpCS54B_5pry00M3hk,76
56
56
  dbt/include/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  dbt/include/global_project/__init__.py,sha256=-0HL5OkeJSrxglm1Y-UltTiBPY2BbWx8ZpTiJ7ypSvw,73
@@ -88,7 +88,7 @@ dbt/include/global_project/macros/materializations/models/clone/create_or_replac
88
88
  dbt/include/global_project/macros/materializations/models/incremental/column_helpers.sql,sha256=hslQlGKW0oW97srfugsFVRR-L6RrzRcnwr3uLhzI0X4,2577
89
89
  dbt/include/global_project/macros/materializations/models/incremental/incremental.sql,sha256=8gyBXan-saJ9GTSa8d05vMa-RSwyZ7pStOeHJpHU4BI,4374
90
90
  dbt/include/global_project/macros/materializations/models/incremental/is_incremental.sql,sha256=Sm1TqOeqcCQofj3REFcA97yukPB1J_mClDd55r5GewE,478
91
- dbt/include/global_project/macros/materializations/models/incremental/merge.sql,sha256=STmUSjqR253tq5FcDvFeCPPch4oN2UVi4dxoyFFAq5c,5426
91
+ dbt/include/global_project/macros/materializations/models/incremental/merge.sql,sha256=slUOJSR6FzbQa3S6qbyxg-2OqyhI-SHZoT6a1T90dAk,4796
92
92
  dbt/include/global_project/macros/materializations/models/incremental/on_schema_change.sql,sha256=EOgcrYhwOGVPnyaBu7kIfe8LTOYVOu-AhxMtBs8ETpQ,4927
93
93
  dbt/include/global_project/macros/materializations/models/incremental/strategies.sql,sha256=ORGWiYfj-b3_VIps9FDlyx-Q4A2hZzX2aYLocW8b6pU,2613
94
94
  dbt/include/global_project/macros/materializations/seeds/helpers.sql,sha256=Y15ej-D3gm1ExIOMNT208q43gRk8d985WQBuGSooNL0,3920
@@ -157,7 +157,7 @@ dbt/include/global_project/macros/utils/right.sql,sha256=EwNG98CAFIwNDmarwopf7Rk
157
157
  dbt/include/global_project/macros/utils/safe_cast.sql,sha256=1mswwkDACmIi1I99JKb_-vq3kjMe4HhMRV70mW8Bt4Y,298
158
158
  dbt/include/global_project/macros/utils/split_part.sql,sha256=fXEIS0oIiYR7-4lYbb0QbZdG-q2TpV63AFd1ky4I5UM,714
159
159
  dbt/include/global_project/tests/generic/builtin.sql,sha256=p94xdyPwb2TlxgLBqCfrcRfJ1QNgsjPvBm8f0Q5eqZM,1022
160
- dbt_adapters-1.14.0.dist-info/METADATA,sha256=ejgZ1h7Wc-mKL7ytZ-a1HWUlFG5rDLAxnuwDEftrikA,2638
161
- dbt_adapters-1.14.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
162
- dbt_adapters-1.14.0.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
163
- dbt_adapters-1.14.0.dist-info/RECORD,,
160
+ dbt_adapters-1.14.1.dist-info/METADATA,sha256=SG9otq8IHTaawNtOAJwWLi72QMWGWbtRq5hP67q0T18,4494
161
+ dbt_adapters-1.14.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
162
+ dbt_adapters-1.14.1.dist-info/licenses/LICENSE,sha256=9yjigiJhWcCZvQjdagGKDwrRph58QWc5P2bVSQwXo6s,11344
163
+ dbt_adapters-1.14.1.dist-info/RECORD,,
@@ -1,76 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: dbt-adapters
3
- Version: 1.14.0
4
- Summary: The set of adapter protocols and base functionality that supports integration with dbt-core
5
- Project-URL: Homepage, https://github.com/dbt-labs/dbt-adapters/tree/main/dbt-adapters
6
- Project-URL: Documentation, https://docs.getdbt.com
7
- Project-URL: Repository, https://github.com/dbt-labs/dbt-adapters.git#subdirectory=dbt-adapters
8
- Project-URL: Issues, https://github.com/dbt-labs/dbt-adapters/issues
9
- Project-URL: Changelog, https://github.com/dbt-labs/dbt-adapters/blob/main/dbt-adapters/CHANGELOG.md
10
- Author-email: dbt Labs <info@dbtlabs.com>
11
- Maintainer-email: dbt Labs <info@dbtlabs.com>
12
- License-File: LICENSE
13
- Keywords: adapter,adapters,database,dbt,dbt Cloud,dbt Core,dbt Labs,dbt-core,elt
14
- Classifier: Development Status :: 5 - Production/Stable
15
- Classifier: License :: OSI Approved :: Apache Software License
16
- Classifier: Operating System :: MacOS :: MacOS X
17
- Classifier: Operating System :: Microsoft :: Windows
18
- Classifier: Operating System :: POSIX :: Linux
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
- Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Programming Language :: Python :: 3.12
23
- Requires-Python: >=3.9.0
24
- Requires-Dist: agate<2.0,>=1.0
25
- Requires-Dist: dbt-common<2.0,>=1.13
26
- Requires-Dist: mashumaro[msgpack]<3.15,>=3.9
27
- Requires-Dist: protobuf<6.0,>=5.0
28
- Requires-Dist: pytz>=2015.7
29
- Requires-Dist: typing-extensions<5.0,>=4.0
30
- Description-Content-Type: text/markdown
31
-
32
- <p align="center">
33
- <img src="https://raw.githubusercontent.com/dbt-labs/dbt/ec7dee39f793aa4f7dd3dae37282cc87664813e4/etc/dbt-logo-full.svg" alt="dbt logo" width="500"/>
34
- </p>
35
-
36
- # dbt-adapters
37
-
38
- This package is responsible for:
39
-
40
- - defining database connection methods
41
- - caching information from databases
42
- - determining how relations are defined
43
-
44
- In this repo there is also our testing suite used for tesing adapter functionality
45
-
46
- # Adapters
47
-
48
- There are two major adapter types: base and sql
49
-
50
- ## `base`
51
-
52
- Defines the base implementation Adapters can use to build out full functionality.
53
-
54
- ## `sql`
55
-
56
- Defines a sql implementation for adapters that initially inherits the base implementation
57
- and comes with some pre-made methods and macros that can be overwritten as needed per adapter.
58
- (most common type of adapter.)
59
-
60
- # Files
61
-
62
- ## `cache.py`
63
-
64
- Cached information from the database.
65
-
66
- ## `factory.py`
67
-
68
- Defines how we generate adapter objects
69
-
70
- ## `protocol.py`
71
-
72
- Defines various interfaces for various adapter objects. Helps mypy correctly resolve methods.
73
-
74
- ## `reference_keys.py`
75
-
76
- Configures naming scheme for cache elements to be universal.