sqlframe 3.17.0__py3-none-any.whl → 3.18.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.
- sqlframe/_version.py +2 -2
- sqlframe/base/dataframe.py +19 -7
- sqlframe/base/session.py +33 -9
- sqlframe/bigquery/session.py +1 -1
- sqlframe/databricks/session.py +1 -1
- sqlframe/duckdb/session.py +1 -1
- sqlframe/postgres/session.py +1 -1
- sqlframe/snowflake/session.py +1 -1
- sqlframe/spark/session.py +1 -1
- sqlframe/standalone/session.py +1 -1
- {sqlframe-3.17.0.dist-info → sqlframe-3.18.0.dist-info}/METADATA +3 -3
- {sqlframe-3.17.0.dist-info → sqlframe-3.18.0.dist-info}/RECORD +15 -15
- {sqlframe-3.17.0.dist-info → sqlframe-3.18.0.dist-info}/LICENSE +0 -0
- {sqlframe-3.17.0.dist-info → sqlframe-3.18.0.dist-info}/WHEEL +0 -0
- {sqlframe-3.17.0.dist-info → sqlframe-3.18.0.dist-info}/top_level.txt +0 -0
sqlframe/_version.py
CHANGED
sqlframe/base/dataframe.py
CHANGED
|
@@ -23,7 +23,6 @@ from sqlglot import lineage as sqlglot_lineage
|
|
|
23
23
|
from sqlglot.helper import ensure_list, flatten, object_to_dict, seq_get
|
|
24
24
|
from sqlglot.optimizer.pushdown_projections import pushdown_projections
|
|
25
25
|
from sqlglot.optimizer.qualify import qualify
|
|
26
|
-
from sqlglot.optimizer.qualify_columns import quote_identifiers
|
|
27
26
|
|
|
28
27
|
from sqlframe.base.catalog import Column as CatalogColumn
|
|
29
28
|
from sqlframe.base.operations import Operation, operation
|
|
@@ -616,6 +615,7 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
616
615
|
self,
|
|
617
616
|
optimize: bool = True,
|
|
618
617
|
openai_config: t.Optional[t.Union[t.Dict[str, t.Any], OpenAIConfig]] = None,
|
|
618
|
+
quote_identifiers: bool = True,
|
|
619
619
|
) -> t.List[exp.Expression]:
|
|
620
620
|
df = self._resolve_pending_hints()
|
|
621
621
|
select_expressions = df._get_select_expressions()
|
|
@@ -644,7 +644,7 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
644
644
|
if optimize:
|
|
645
645
|
select_expression = t.cast(
|
|
646
646
|
exp.Select,
|
|
647
|
-
self.session._optimize(select_expression),
|
|
647
|
+
self.session._optimize(select_expression, quote_identifiers=quote_identifiers),
|
|
648
648
|
)
|
|
649
649
|
elif openai_config:
|
|
650
650
|
qualify(
|
|
@@ -713,8 +713,9 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
713
713
|
dialect: DialectType = ...,
|
|
714
714
|
optimize: bool = ...,
|
|
715
715
|
pretty: bool = ...,
|
|
716
|
+
quote_identifiers: bool = ...,
|
|
716
717
|
*,
|
|
717
|
-
as_list: t.Literal[False],
|
|
718
|
+
as_list: t.Literal[False] = False,
|
|
718
719
|
**kwargs: t.Any,
|
|
719
720
|
) -> str: ...
|
|
720
721
|
|
|
@@ -724,6 +725,7 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
724
725
|
dialect: DialectType = ...,
|
|
725
726
|
optimize: bool = ...,
|
|
726
727
|
pretty: bool = ...,
|
|
728
|
+
quote_identifiers: bool = ...,
|
|
727
729
|
*,
|
|
728
730
|
as_list: t.Literal[True],
|
|
729
731
|
**kwargs: t.Any,
|
|
@@ -734,14 +736,23 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
734
736
|
dialect: DialectType = None,
|
|
735
737
|
optimize: bool = True,
|
|
736
738
|
pretty: bool = True,
|
|
739
|
+
quote_identifiers: bool = True,
|
|
737
740
|
openai_config: t.Optional[t.Union[t.Dict[str, t.Any], OpenAIConfig]] = None,
|
|
738
741
|
as_list: bool = False,
|
|
739
742
|
**kwargs,
|
|
740
743
|
) -> t.Union[str, t.List[str]]:
|
|
741
744
|
dialect = Dialect.get_or_raise(dialect) if dialect else self.session.output_dialect
|
|
742
745
|
results = []
|
|
743
|
-
for expression in self._get_expressions(
|
|
744
|
-
|
|
746
|
+
for expression in self._get_expressions(
|
|
747
|
+
optimize=optimize, openai_config=openai_config, quote_identifiers=quote_identifiers
|
|
748
|
+
):
|
|
749
|
+
sql = self.session._to_sql(
|
|
750
|
+
expression,
|
|
751
|
+
dialect=dialect,
|
|
752
|
+
pretty=pretty,
|
|
753
|
+
quote_identifiers=quote_identifiers,
|
|
754
|
+
**kwargs,
|
|
755
|
+
)
|
|
745
756
|
if openai_config:
|
|
746
757
|
assert isinstance(openai_config, OpenAIConfig)
|
|
747
758
|
verify_openai_installed()
|
|
@@ -822,8 +833,9 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
822
833
|
if cte:
|
|
823
834
|
resolved_column_position[ambiguous_col] += 1
|
|
824
835
|
else:
|
|
825
|
-
cte = ctes_with_column
|
|
826
|
-
|
|
836
|
+
cte = seq_get(ctes_with_column, resolved_column_position[ambiguous_col])
|
|
837
|
+
if cte:
|
|
838
|
+
ambiguous_col.set("table", exp.to_identifier(cte.alias_or_name))
|
|
827
839
|
|
|
828
840
|
@operation(Operation.SELECT)
|
|
829
841
|
def select(self, *cols, **kwargs) -> Self:
|
sqlframe/base/session.py
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import contextlib
|
|
5
6
|
import datetime
|
|
6
7
|
import logging
|
|
7
8
|
import sys
|
|
@@ -15,6 +16,7 @@ from sqlglot import Dialect, exp
|
|
|
15
16
|
from sqlglot.dialects.dialect import DialectType, NormalizationStrategy
|
|
16
17
|
from sqlglot.expressions import parse_identifier
|
|
17
18
|
from sqlglot.helper import ensure_list, seq_get
|
|
19
|
+
from sqlglot.optimizer import RULES as OPTIMIZER_RULES
|
|
18
20
|
from sqlglot.optimizer import optimize
|
|
19
21
|
from sqlglot.optimizer.normalize_identifiers import normalize_identifiers
|
|
20
22
|
from sqlglot.optimizer.qualify import qualify as qualify_func
|
|
@@ -213,13 +215,16 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
|
213
215
|
|
|
214
216
|
def createDataFrame(
|
|
215
217
|
self,
|
|
216
|
-
data: t.
|
|
217
|
-
t.
|
|
218
|
-
t.
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
218
|
+
data: t.Union[
|
|
219
|
+
t.Sequence[
|
|
220
|
+
t.Union[
|
|
221
|
+
t.Dict[str, ColumnLiterals],
|
|
222
|
+
t.List[ColumnLiterals],
|
|
223
|
+
t.Tuple[ColumnLiterals, ...],
|
|
224
|
+
ColumnLiterals,
|
|
225
|
+
],
|
|
226
|
+
],
|
|
227
|
+
pd.DataFrame,
|
|
223
228
|
],
|
|
224
229
|
schema: t.Optional[SchemaInput] = None,
|
|
225
230
|
samplingRatio: t.Optional[float] = None,
|
|
@@ -240,11 +245,18 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
|
240
245
|
):
|
|
241
246
|
raise NotImplementedError("Only schema of either list or string of list supported")
|
|
242
247
|
|
|
248
|
+
with contextlib.suppress(ImportError):
|
|
249
|
+
from pandas import DataFrame as pd_DataFrame
|
|
250
|
+
|
|
251
|
+
if isinstance(data, pd_DataFrame):
|
|
252
|
+
data = data.to_dict("records") # type: ignore
|
|
253
|
+
|
|
243
254
|
column_mapping: t.Mapping[str, t.Optional[exp.DataType]]
|
|
244
255
|
if schema is not None:
|
|
245
256
|
column_mapping = get_column_mapping_from_schema_input(
|
|
246
257
|
schema, dialect=self.input_dialect
|
|
247
258
|
)
|
|
259
|
+
|
|
248
260
|
elif data:
|
|
249
261
|
if isinstance(data[0], Row):
|
|
250
262
|
column_mapping = {col_name.strip(): None for col_name in data[0].__fields__}
|
|
@@ -386,7 +398,8 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
|
386
398
|
dialect = Dialect.get_or_raise(dialect or self.input_dialect)
|
|
387
399
|
expression = (
|
|
388
400
|
sqlglot.parse_one(
|
|
389
|
-
normalize_string(sqlQuery, from_dialect=dialect, is_query=True),
|
|
401
|
+
normalize_string(sqlQuery, from_dialect=dialect, is_query=True),
|
|
402
|
+
read=dialect,
|
|
390
403
|
)
|
|
391
404
|
if isinstance(sqlQuery, str)
|
|
392
405
|
else sqlQuery
|
|
@@ -544,6 +557,7 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
|
544
557
|
dialect: DialectType = None,
|
|
545
558
|
quote_identifiers: bool = True,
|
|
546
559
|
pretty: bool = False,
|
|
560
|
+
**kwargs,
|
|
547
561
|
) -> str:
|
|
548
562
|
return normalize_string(
|
|
549
563
|
sql,
|
|
@@ -562,9 +576,19 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
|
562
576
|
) -> exp.Expression:
|
|
563
577
|
dialect = dialect or self.input_dialect
|
|
564
578
|
normalize_identifiers(expression, dialect=dialect)
|
|
579
|
+
rules = list(OPTIMIZER_RULES)
|
|
565
580
|
if quote_identifiers:
|
|
566
581
|
quote_identifiers_func(expression, dialect=dialect)
|
|
567
|
-
|
|
582
|
+
else:
|
|
583
|
+
rules.remove(quote_identifiers_func)
|
|
584
|
+
return optimize(
|
|
585
|
+
expression,
|
|
586
|
+
dialect=dialect,
|
|
587
|
+
schema=self.catalog._schema,
|
|
588
|
+
infer_schema=True,
|
|
589
|
+
quote_identifiers=quote_identifiers,
|
|
590
|
+
rules=rules, # type: ignore
|
|
591
|
+
)
|
|
568
592
|
|
|
569
593
|
def _execute(self, sql: str) -> None:
|
|
570
594
|
self._cur.execute(sql)
|
sqlframe/bigquery/session.py
CHANGED
sqlframe/databricks/session.py
CHANGED
sqlframe/duckdb/session.py
CHANGED
sqlframe/postgres/session.py
CHANGED
sqlframe/snowflake/session.py
CHANGED
sqlframe/spark/session.py
CHANGED
sqlframe/standalone/session.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sqlframe
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.18.0
|
|
4
4
|
Summary: Turning PySpark Into a Universal DataFrame API
|
|
5
5
|
Home-page: https://github.com/eakmanrq/sqlframe
|
|
6
6
|
Author: Ryan Eakman
|
|
@@ -17,7 +17,7 @@ Requires-Python: >=3.9
|
|
|
17
17
|
Description-Content-Type: text/markdown
|
|
18
18
|
License-File: LICENSE
|
|
19
19
|
Requires-Dist: prettytable <4
|
|
20
|
-
Requires-Dist: sqlglot <26.
|
|
20
|
+
Requires-Dist: sqlglot <26.5,>=24.0.0
|
|
21
21
|
Requires-Dist: typing-extensions
|
|
22
22
|
Provides-Extra: bigquery
|
|
23
23
|
Requires-Dist: google-cloud-bigquery-storage <3,>=2 ; extra == 'bigquery'
|
|
@@ -27,7 +27,7 @@ Requires-Dist: databricks-sql-connector <5,>=3.6 ; extra == 'databricks'
|
|
|
27
27
|
Provides-Extra: dev
|
|
28
28
|
Requires-Dist: duckdb <1.2,>=0.9 ; extra == 'dev'
|
|
29
29
|
Requires-Dist: findspark <3,>=2 ; extra == 'dev'
|
|
30
|
-
Requires-Dist: mypy <1.
|
|
30
|
+
Requires-Dist: mypy <1.16,>=1.10.0 ; extra == 'dev'
|
|
31
31
|
Requires-Dist: openai <2,>=1.30 ; extra == 'dev'
|
|
32
32
|
Requires-Dist: pandas-stubs <3,>=2 ; extra == 'dev'
|
|
33
33
|
Requires-Dist: pandas <3,>=2 ; extra == 'dev'
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
sqlframe/__init__.py,sha256=wfqm98eLoLid9oV_FzzpG5loKC6LxOhj2lXpfN7SARo,3138
|
|
2
|
-
sqlframe/_version.py,sha256=
|
|
2
|
+
sqlframe/_version.py,sha256=sbqQ7wMrRCbK9h4-ahk9DoaetF-oPVAV49BG-2oJfiQ,413
|
|
3
3
|
sqlframe/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
sqlframe/base/_typing.py,sha256=b2clI5HI1zEZKB_3Msx3FeAJQyft44ubUifJwQRVXyQ,1298
|
|
5
5
|
sqlframe/base/catalog.py,sha256=SzFQalTWdhWzxUY-4ut1f9TfOECp_JmJEgNPfrRKCe0,38457
|
|
6
6
|
sqlframe/base/column.py,sha256=oHVwkSWABO3ZlAbgBShsxSSlgbI06BOup5XJrRhgqJI,18097
|
|
7
|
-
sqlframe/base/dataframe.py,sha256=
|
|
7
|
+
sqlframe/base/dataframe.py,sha256=5gF_zvafC60rZ1OdnB4klKALw35mmxllYTVgIIiZPY0,79340
|
|
8
8
|
sqlframe/base/decorators.py,sha256=ms-CvDOIW3T8IVB9VqDmLwAiaEsqXLYRXEqVQaxktiM,1890
|
|
9
9
|
sqlframe/base/exceptions.py,sha256=9Uwvqn2eAkDpqm4BrRgbL61qM-GMCbJEMAW8otxO46s,370
|
|
10
10
|
sqlframe/base/function_alternatives.py,sha256=NV31IaEhVYmfUSWetAEFISAvLzs2DxQ7bp-iMNgj0hQ,53786
|
|
@@ -13,7 +13,7 @@ sqlframe/base/group.py,sha256=fsyG5990_Pd7gFPjTFrH9IEoAquL_wEkVpIlBAIkZJU,4091
|
|
|
13
13
|
sqlframe/base/normalize.py,sha256=nXAJ5CwxVf4DV0GsH-q1w0p8gmjSMlv96k_ez1eVul8,3880
|
|
14
14
|
sqlframe/base/operations.py,sha256=xSPw74e59wYvNd6U1AlwziNCTG6Aftrbl4SybN9u9VE,3450
|
|
15
15
|
sqlframe/base/readerwriter.py,sha256=w8926cqIrXF7NGHiINw5UHzP_3xpjsqbijTBTzycBRM,26605
|
|
16
|
-
sqlframe/base/session.py,sha256=
|
|
16
|
+
sqlframe/base/session.py,sha256=aSp83JXEW_zEMfe1JxPFcjqq2yUThwYboCnk0LqhUko,27290
|
|
17
17
|
sqlframe/base/table.py,sha256=rCeh1W5SWbtEVfkLAUiexzrZwNgmZeptLEmLcM1ABkE,6961
|
|
18
18
|
sqlframe/base/transforms.py,sha256=y0j3SGDz3XCmNGrvassk1S-owllUWfkHyMgZlY6SFO4,467
|
|
19
19
|
sqlframe/base/types.py,sha256=iBNk9bpFtb2NBIogYS8i7OlQZMRvpR6XxqzBebsjQDU,12280
|
|
@@ -33,7 +33,7 @@ sqlframe/bigquery/functions.py,sha256=MYLs6-sXXqe5o6ghJHHtEpFJlYMeyKzx9-rT3wwXlc
|
|
|
33
33
|
sqlframe/bigquery/functions.pyi,sha256=KXgV46eZFNIXwXIhPuSJ08BG18iLQzDCQjyI3REBEXg,11925
|
|
34
34
|
sqlframe/bigquery/group.py,sha256=UVBNBRTo8OqS-_cS5YwvTeJYgYxeG-d6R3kfyHmlFqw,391
|
|
35
35
|
sqlframe/bigquery/readwriter.py,sha256=2uQhGe0THiLPb-_NF5jDdbizwjYJk854MuhEcnLghaE,949
|
|
36
|
-
sqlframe/bigquery/session.py,sha256=
|
|
36
|
+
sqlframe/bigquery/session.py,sha256=5-SNh1sHd4Q6zPEmlinL9LLwsqlzBTqT-ZNRAFpU1_s,2931
|
|
37
37
|
sqlframe/bigquery/table.py,sha256=pSSRFeKcStyFuE1B4uiheP22tHHq5SdQ-uuaNQpbsfI,661
|
|
38
38
|
sqlframe/bigquery/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
39
39
|
sqlframe/bigquery/udf.py,sha256=ZZ1-P1zWZhQqmhBqwAxfNeKl31nDkkZgkuz7Dn28P_0,264
|
|
@@ -46,7 +46,7 @@ sqlframe/databricks/functions.py,sha256=La8rjAwO0hD4FBO0QxW5CtZtFAPvOrVc6lG4OtPG
|
|
|
46
46
|
sqlframe/databricks/functions.pyi,sha256=FzVBpzXCJzxIp73sIAo_R8Wx8uOJrix-W12HsgyeTcQ,23799
|
|
47
47
|
sqlframe/databricks/group.py,sha256=dU3g0DVLRlfOSCamKchQFXRd1WTFbdxoXkpEX8tPD6Y,399
|
|
48
48
|
sqlframe/databricks/readwriter.py,sha256=qhdw1zozrBixdUWsaQT2jy4JtZo0nuTjnRyg2GiFy9g,3370
|
|
49
|
-
sqlframe/databricks/session.py,sha256=
|
|
49
|
+
sqlframe/databricks/session.py,sha256=iw4uczkJHkpVO8vusEEmfCrhxHWyAHpCFmOZ-0qlkms,2343
|
|
50
50
|
sqlframe/databricks/table.py,sha256=Q0Vnrl5aUqnqFTQpTwfWMRyQ9AQnagtpnSnXmP6IKRs,678
|
|
51
51
|
sqlframe/databricks/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
52
52
|
sqlframe/databricks/udf.py,sha256=3rmxv_6zSLfIxH8P8P050ZO-ki0aqBb9wWuUQBtl4m8,272
|
|
@@ -59,7 +59,7 @@ sqlframe/duckdb/functions.py,sha256=ix2efGGD4HLaY1rtCtEd3IrsicGEVGiBAeKOo5OD8rA,
|
|
|
59
59
|
sqlframe/duckdb/functions.pyi,sha256=P0ky6k-J7LdCDrQ0OjfRC3ARIYNHPmAmmaB_jBEO5L0,12383
|
|
60
60
|
sqlframe/duckdb/group.py,sha256=IkhbW42Ng1U5YT3FkIdiB4zBqRkW4QyTb-1detY1e_4,383
|
|
61
61
|
sqlframe/duckdb/readwriter.py,sha256=5EP8DEoX3N_xYavWpetsZdzvtYF-oCrAz3n-siNE8yY,4938
|
|
62
|
-
sqlframe/duckdb/session.py,sha256=
|
|
62
|
+
sqlframe/duckdb/session.py,sha256=Uf7im6eBbBYRvIhVGV0VCTCF76FQ00A5FbKPCdNllzw,2898
|
|
63
63
|
sqlframe/duckdb/table.py,sha256=AmEKoH2TZo98loS5NbNaTuqv0eg76SY_OckVBMmQ6Co,410
|
|
64
64
|
sqlframe/duckdb/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
65
65
|
sqlframe/duckdb/udf.py,sha256=Du9LnOtT1lJvB90D4HSR2tB7MXy179jZngDR-EjVjQk,656
|
|
@@ -72,7 +72,7 @@ sqlframe/postgres/functions.py,sha256=yOuDlt4GHXHg4MWhrAjlpVkEf1-zefxLQ1JfWy4JqI
|
|
|
72
72
|
sqlframe/postgres/functions.pyi,sha256=PozoVOSao-KG9LKqN7XuTETO_nd9ujGhQUMxwtMP6_c,11001
|
|
73
73
|
sqlframe/postgres/group.py,sha256=KUXeSFKWTSH9yCRJAhW85OvjZaG6Zr4In9LR_ie3yGU,391
|
|
74
74
|
sqlframe/postgres/readwriter.py,sha256=o3cJWBlmQX5gpII8dLmQQUxg0ZRDO06XyFS6rBdHGQs,949
|
|
75
|
-
sqlframe/postgres/session.py,sha256=
|
|
75
|
+
sqlframe/postgres/session.py,sha256=iKmxA46tmcy-86s46eXjYWawGWlZm4QRqix40aqV2pw,2664
|
|
76
76
|
sqlframe/postgres/table.py,sha256=LZeomgZQnibZ3zO36McKfxAbT670AcNqI4ftptY3B5A,661
|
|
77
77
|
sqlframe/postgres/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
78
78
|
sqlframe/postgres/udf.py,sha256=TylVxrmPzycAqnpTiueGvvetiMCfCX31QatgQMIgpME,264
|
|
@@ -97,7 +97,7 @@ sqlframe/snowflake/functions.py,sha256=g3ELesLGvN7tyRyiEAnPneVyL0rQhSSOxYFvBFuOi
|
|
|
97
97
|
sqlframe/snowflake/functions.pyi,sha256=sEqNdyqQBtgqoKtRViUb70QT5yrvpVoP3ZN7VxHNxbw,12612
|
|
98
98
|
sqlframe/snowflake/group.py,sha256=pPP1l2RRo_LgkXrji8a87n2PKo-63ZRPT-WUtvVcBME,395
|
|
99
99
|
sqlframe/snowflake/readwriter.py,sha256=TxvufwdA83xjMoMjgyHerz0Qri3sPFB1nEPHmQyGNtg,966
|
|
100
|
-
sqlframe/snowflake/session.py,sha256=
|
|
100
|
+
sqlframe/snowflake/session.py,sha256=nHQ8DfKJNUCUjAZqnF68_1JiRX7mucJHLtvZVm3_0Ig,3512
|
|
101
101
|
sqlframe/snowflake/table.py,sha256=A5SpA-0mnYBkVXIxaa10LY-QJ8OuNjOEXfJK8k-iDkQ,618
|
|
102
102
|
sqlframe/snowflake/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
103
103
|
sqlframe/snowflake/udf.py,sha256=yzMmky-n5BXFbdldgfzLP8hCrVm0DgruSUCUUy1_3sk,268
|
|
@@ -110,7 +110,7 @@ sqlframe/spark/functions.py,sha256=MYCgHsjRQWylT-rezWRBuLV6BivcaVarbaQtP4T0toQ,3
|
|
|
110
110
|
sqlframe/spark/functions.pyi,sha256=GyOdUzv2Z7Qt99JAKEPKgV2t2Rn274OuqwAfcoAXlN0,24259
|
|
111
111
|
sqlframe/spark/group.py,sha256=MrvV_v-YkBc6T1zz882WrEqtWjlooWIyHBCmTQg3fCA,379
|
|
112
112
|
sqlframe/spark/readwriter.py,sha256=zXZcCPWpQMMN90wdIx8AD4Y5tWBcpRSL4-yKX2aZyik,874
|
|
113
|
-
sqlframe/spark/session.py,sha256=
|
|
113
|
+
sqlframe/spark/session.py,sha256=fYu8aVSDRAJ7ZnA7zgba7acXjP8ROJshfX5UYmEq5mI,5667
|
|
114
114
|
sqlframe/spark/table.py,sha256=puWV8h_CqA64zwpzq0ydY9LoygMAvprkODyxyzZeF9M,186
|
|
115
115
|
sqlframe/spark/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
116
116
|
sqlframe/spark/udf.py,sha256=owB8NDaGVkUQ0WGm7SZt2t9zfvLFCfi0W48QiPfgjck,1153
|
|
@@ -122,15 +122,15 @@ sqlframe/standalone/dataframe.py,sha256=K5zx14KzUTe2_KBo7XsLhe9jLiTHwYkf6VQzcnS9
|
|
|
122
122
|
sqlframe/standalone/functions.py,sha256=cA5Lbk6UUH4vTmq1aNtPsBb3uskOxsrT6V1STHYdtNI,46
|
|
123
123
|
sqlframe/standalone/group.py,sha256=oGEbAQMSm6AlkwnBxNI8r9enZWRwsRxc8zpzoz3rArk,399
|
|
124
124
|
sqlframe/standalone/readwriter.py,sha256=KP2qNJZD0uhthRblLVTloE4Fv5rh_rwA95q7pjAXEww,716
|
|
125
|
-
sqlframe/standalone/session.py,sha256=
|
|
125
|
+
sqlframe/standalone/session.py,sha256=INTyERn5Rnqx9aVOcYr5OWzOp3hZkIp4kQosxdCMdjM,1517
|
|
126
126
|
sqlframe/standalone/table.py,sha256=FN-qYKisHyFjdzpklb1vsbzGFXaKvgbNyiEXxyu-95o,216
|
|
127
127
|
sqlframe/standalone/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
128
128
|
sqlframe/standalone/udf.py,sha256=azmgtUjHNIPs0WMVNId05SHwiYn41MKVBhKXsQJ5dmY,272
|
|
129
129
|
sqlframe/standalone/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
130
130
|
sqlframe/testing/__init__.py,sha256=VVCosQhitU74A3NnE52O4mNtGZONapuEXcc20QmSlnQ,132
|
|
131
131
|
sqlframe/testing/utils.py,sha256=PFsGZpwNUE_4-g_f43_vstTqsK0AQ2lBneb5Eb6NkFo,13008
|
|
132
|
-
sqlframe-3.
|
|
133
|
-
sqlframe-3.
|
|
134
|
-
sqlframe-3.
|
|
135
|
-
sqlframe-3.
|
|
136
|
-
sqlframe-3.
|
|
132
|
+
sqlframe-3.18.0.dist-info/LICENSE,sha256=VZu79YgW780qxaFJMr0t5ZgbOYEh04xWoxaWOaqIGWk,1068
|
|
133
|
+
sqlframe-3.18.0.dist-info/METADATA,sha256=5riMB4lxhi4MDtVWW-kgUK6_PQwdjLDaC5NXSYNNrQ8,8970
|
|
134
|
+
sqlframe-3.18.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
135
|
+
sqlframe-3.18.0.dist-info/top_level.txt,sha256=T0_RpoygaZSF6heeWwIDQgaP0varUdSK1pzjeJZRjM8,9
|
|
136
|
+
sqlframe-3.18.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|