sqlframe 3.22.1__py3-none-any.whl → 3.24.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/__init__.py +12 -0
- sqlframe/_version.py +2 -2
- sqlframe/base/catalog.py +5 -4
- sqlframe/base/column.py +57 -0
- sqlframe/base/dataframe.py +2 -2
- sqlframe/base/functions.py +14 -8
- sqlframe/base/group.py +2 -0
- sqlframe/base/mixins/catalog_mixins.py +147 -11
- sqlframe/base/mixins/dataframe_mixins.py +4 -1
- sqlframe/base/operations.py +42 -14
- sqlframe/base/readerwriter.py +4 -1
- sqlframe/base/window.py +6 -6
- sqlframe/bigquery/catalog.py +6 -3
- sqlframe/databricks/catalog.py +185 -11
- sqlframe/databricks/readwriter.py +293 -13
- sqlframe/duckdb/catalog.py +12 -9
- sqlframe/postgres/catalog.py +10 -7
- sqlframe/py.typed +1 -0
- sqlframe/redshift/catalog.py +11 -8
- sqlframe/snowflake/catalog.py +12 -9
- sqlframe/spark/catalog.py +21 -5
- sqlframe/standalone/catalog.py +4 -1
- {sqlframe-3.22.1.dist-info → sqlframe-3.24.0.dist-info}/METADATA +5 -5
- {sqlframe-3.22.1.dist-info → sqlframe-3.24.0.dist-info}/RECORD +27 -26
- {sqlframe-3.22.1.dist-info → sqlframe-3.24.0.dist-info}/LICENSE +0 -0
- {sqlframe-3.22.1.dist-info → sqlframe-3.24.0.dist-info}/WHEEL +0 -0
- {sqlframe-3.22.1.dist-info → sqlframe-3.24.0.dist-info}/top_level.txt +0 -0
sqlframe/redshift/catalog.py
CHANGED
|
@@ -9,6 +9,7 @@ from sqlglot import exp, parse_one
|
|
|
9
9
|
|
|
10
10
|
from sqlframe.base.catalog import Function, _BaseCatalog
|
|
11
11
|
from sqlframe.base.mixins.catalog_mixins import (
|
|
12
|
+
CreateTableFromFunctionMixin,
|
|
12
13
|
GetCurrentCatalogFromFunctionMixin,
|
|
13
14
|
GetCurrentDatabaseFromFunctionMixin,
|
|
14
15
|
ListCatalogsFromInfoSchemaMixin,
|
|
@@ -22,17 +23,19 @@ from sqlframe.base.util import normalize_string, schema_, to_schema
|
|
|
22
23
|
if t.TYPE_CHECKING:
|
|
23
24
|
from sqlframe.redshift.dataframe import RedshiftDataFrame
|
|
24
25
|
from sqlframe.redshift.session import RedshiftSession
|
|
26
|
+
from sqlframe.redshift.table import RedshiftTable
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
class RedshiftCatalog(
|
|
28
|
-
GetCurrentCatalogFromFunctionMixin["RedshiftSession", "RedshiftDataFrame"],
|
|
29
|
-
GetCurrentDatabaseFromFunctionMixin["RedshiftSession", "RedshiftDataFrame"],
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
GetCurrentCatalogFromFunctionMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
31
|
+
GetCurrentDatabaseFromFunctionMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
32
|
+
CreateTableFromFunctionMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
33
|
+
ListDatabasesFromInfoSchemaMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
34
|
+
ListCatalogsFromInfoSchemaMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
35
|
+
SetCurrentDatabaseFromSearchPathMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
36
|
+
ListTablesFromInfoSchemaMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
37
|
+
ListColumnsFromInfoSchemaMixin["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
38
|
+
_BaseCatalog["RedshiftSession", "RedshiftDataFrame", "RedshiftTable"],
|
|
36
39
|
):
|
|
37
40
|
CURRENT_CATALOG_EXPRESSION: exp.Expression = exp.func("current_database")
|
|
38
41
|
|
sqlframe/snowflake/catalog.py
CHANGED
|
@@ -10,6 +10,7 @@ from sqlglot import exp, parse_one
|
|
|
10
10
|
|
|
11
11
|
from sqlframe.base.catalog import Function, _BaseCatalog
|
|
12
12
|
from sqlframe.base.mixins.catalog_mixins import (
|
|
13
|
+
CreateTableFromFunctionMixin,
|
|
13
14
|
GetCurrentCatalogFromFunctionMixin,
|
|
14
15
|
GetCurrentDatabaseFromFunctionMixin,
|
|
15
16
|
ListCatalogsFromInfoSchemaMixin,
|
|
@@ -24,18 +25,20 @@ from sqlframe.base.util import normalize_string, schema_, to_schema
|
|
|
24
25
|
if t.TYPE_CHECKING:
|
|
25
26
|
from sqlframe.snowflake.session import SnowflakeSession # noqa
|
|
26
27
|
from sqlframe.snowflake.dataframe import SnowflakeDataFrame # noqa
|
|
28
|
+
from sqlframe.snowflake.table import SnowflakeTable # noqa
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
class SnowflakeCatalog(
|
|
30
|
-
SetCurrentCatalogFromUseMixin["SnowflakeSession", "SnowflakeDataFrame"],
|
|
31
|
-
GetCurrentCatalogFromFunctionMixin["SnowflakeSession", "SnowflakeDataFrame"],
|
|
32
|
-
GetCurrentDatabaseFromFunctionMixin["SnowflakeSession", "SnowflakeDataFrame"],
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
SetCurrentCatalogFromUseMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
33
|
+
GetCurrentCatalogFromFunctionMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
34
|
+
GetCurrentDatabaseFromFunctionMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
35
|
+
CreateTableFromFunctionMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
36
|
+
ListDatabasesFromInfoSchemaMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
37
|
+
ListCatalogsFromInfoSchemaMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
38
|
+
SetCurrentDatabaseFromUseMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
39
|
+
ListTablesFromInfoSchemaMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
40
|
+
ListColumnsFromInfoSchemaMixin["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
41
|
+
_BaseCatalog["SnowflakeSession", "SnowflakeDataFrame", "SnowflakeTable"],
|
|
39
42
|
):
|
|
40
43
|
CURRENT_CATALOG_EXPRESSION: exp.Expression = exp.func("current_database")
|
|
41
44
|
UPPERCASE_INFO_SCHEMA = True
|
sqlframe/spark/catalog.py
CHANGED
|
@@ -20,10 +20,11 @@ if t.TYPE_CHECKING:
|
|
|
20
20
|
from sqlframe.base._typing import StorageLevel, UserDefinedFunctionLike
|
|
21
21
|
from sqlframe.spark.dataframe import SparkDataFrame
|
|
22
22
|
from sqlframe.spark.session import SparkSession # noqa
|
|
23
|
+
from sqlframe.spark.table import SparkTable # noqa
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class SparkCatalog(
|
|
26
|
-
_BaseCatalog["SparkSession", "SparkDataFrame"],
|
|
27
|
+
_BaseCatalog["SparkSession", "SparkDataFrame", "SparkTable"],
|
|
27
28
|
):
|
|
28
29
|
@property
|
|
29
30
|
def _spark_catalog(self):
|
|
@@ -727,7 +728,7 @@ class SparkCatalog(
|
|
|
727
728
|
source: t.Optional[str] = None,
|
|
728
729
|
schema: t.Optional[StructType] = None,
|
|
729
730
|
**options: str,
|
|
730
|
-
) ->
|
|
731
|
+
) -> SparkTable:
|
|
731
732
|
"""Creates a table based on the dataset in a data source.
|
|
732
733
|
|
|
733
734
|
It returns the DataFrame associated with the external table.
|
|
@@ -745,7 +746,14 @@ class SparkCatalog(
|
|
|
745
746
|
-------
|
|
746
747
|
:class:`DataFrame`
|
|
747
748
|
"""
|
|
748
|
-
|
|
749
|
+
tableName = normalize_string(tableName, from_dialect="input", to_dialect="execution")
|
|
750
|
+
return self._spark_catalog.createExternalTable(
|
|
751
|
+
tableName,
|
|
752
|
+
path,
|
|
753
|
+
source,
|
|
754
|
+
schema,
|
|
755
|
+
**options,
|
|
756
|
+
)
|
|
749
757
|
|
|
750
758
|
def createTable(
|
|
751
759
|
self,
|
|
@@ -755,7 +763,7 @@ class SparkCatalog(
|
|
|
755
763
|
schema: t.Optional[StructType] = None,
|
|
756
764
|
description: t.Optional[str] = None,
|
|
757
765
|
**options: str,
|
|
758
|
-
) ->
|
|
766
|
+
) -> SparkTable:
|
|
759
767
|
"""Creates a table based on the dataset in a data source.
|
|
760
768
|
|
|
761
769
|
.. versionadded:: 2.2.0
|
|
@@ -807,7 +815,15 @@ class SparkCatalog(
|
|
|
807
815
|
... "tbl2", schema=spark.range(1).schema, path=d, source='parquet')
|
|
808
816
|
>>> _ = spark.sql("DROP TABLE tbl2")
|
|
809
817
|
"""
|
|
810
|
-
|
|
818
|
+
tableName = normalize_string(tableName, from_dialect="input", to_dialect="execution")
|
|
819
|
+
return self._spark_catalog.createTable(
|
|
820
|
+
tableName,
|
|
821
|
+
path,
|
|
822
|
+
source,
|
|
823
|
+
schema,
|
|
824
|
+
description,
|
|
825
|
+
**options,
|
|
826
|
+
)
|
|
811
827
|
|
|
812
828
|
def dropTempView(self, viewName: str) -> bool:
|
|
813
829
|
"""Drops the local temporary view with the given view name in the catalog.
|
sqlframe/standalone/catalog.py
CHANGED
|
@@ -5,9 +5,12 @@ from sqlframe.base.catalog import _BaseCatalog
|
|
|
5
5
|
if t.TYPE_CHECKING:
|
|
6
6
|
from sqlframe.standalone.dataframe import StandaloneDataFrame
|
|
7
7
|
from sqlframe.standalone.session import StandaloneSession
|
|
8
|
+
from sqlframe.standalone.table import StandaloneTable
|
|
8
9
|
|
|
9
10
|
|
|
10
|
-
class StandaloneCatalog(
|
|
11
|
+
class StandaloneCatalog(
|
|
12
|
+
_BaseCatalog["StandaloneSession", "StandaloneDataFrame", "StandaloneTable"]
|
|
13
|
+
):
|
|
11
14
|
"""User-facing catalog API, accessible through `SparkSession.catalog`."""
|
|
12
15
|
|
|
13
16
|
pass
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sqlframe
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.24.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.10,>=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'
|
|
@@ -25,7 +25,7 @@ Requires-Dist: google-cloud-bigquery[pandas] <4,>=3 ; extra == 'bigquery'
|
|
|
25
25
|
Provides-Extra: databricks
|
|
26
26
|
Requires-Dist: databricks-sql-connector <5,>=3.6 ; extra == 'databricks'
|
|
27
27
|
Provides-Extra: dev
|
|
28
|
-
Requires-Dist: duckdb <1.
|
|
28
|
+
Requires-Dist: duckdb <1.3,>=1.2 ; extra == 'dev'
|
|
29
29
|
Requires-Dist: findspark <3,>=2 ; extra == 'dev'
|
|
30
30
|
Requires-Dist: mypy <1.16,>=1.10.0 ; extra == 'dev'
|
|
31
31
|
Requires-Dist: openai <2,>=1.30 ; extra == 'dev'
|
|
@@ -48,7 +48,7 @@ Requires-Dist: mkdocs-material ==9.0.5 ; extra == 'docs'
|
|
|
48
48
|
Requires-Dist: mkdocs ==1.4.2 ; extra == 'docs'
|
|
49
49
|
Requires-Dist: pymdown-extensions ; extra == 'docs'
|
|
50
50
|
Provides-Extra: duckdb
|
|
51
|
-
Requires-Dist: duckdb <1.
|
|
51
|
+
Requires-Dist: duckdb <1.3,>=1.2 ; extra == 'duckdb'
|
|
52
52
|
Requires-Dist: pandas <3,>=2 ; extra == 'duckdb'
|
|
53
53
|
Provides-Extra: openai
|
|
54
54
|
Requires-Dist: openai <2,>=1.30 ; extra == 'openai'
|
|
@@ -59,7 +59,7 @@ Requires-Dist: psycopg2 <3,>=2.8 ; extra == 'postgres'
|
|
|
59
59
|
Provides-Extra: redshift
|
|
60
60
|
Requires-Dist: redshift-connector <2.2.0,>=2.1.1 ; extra == 'redshift'
|
|
61
61
|
Provides-Extra: snowflake
|
|
62
|
-
Requires-Dist: snowflake-connector-python[secure-local-storage] <3.
|
|
62
|
+
Requires-Dist: snowflake-connector-python[secure-local-storage] <3.15,>=3.10.0 ; extra == 'snowflake'
|
|
63
63
|
Provides-Extra: spark
|
|
64
64
|
Requires-Dist: pyspark <3.6,>=2 ; extra == 'spark'
|
|
65
65
|
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
sqlframe/__init__.py,sha256=
|
|
2
|
-
sqlframe/_version.py,sha256=
|
|
1
|
+
sqlframe/__init__.py,sha256=SB80yLTITBXHI2GCDS6n6bN5ObHqgPjfpRPAUwxaots,3403
|
|
2
|
+
sqlframe/_version.py,sha256=oBaBfkGwPg8m5xrcN1koyrYjFksI66xSV9GrRFL_fYM,513
|
|
3
|
+
sqlframe/py.typed,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
|
|
3
4
|
sqlframe/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
5
|
sqlframe/base/_typing.py,sha256=b2clI5HI1zEZKB_3Msx3FeAJQyft44ubUifJwQRVXyQ,1298
|
|
5
|
-
sqlframe/base/catalog.py,sha256=
|
|
6
|
-
sqlframe/base/column.py,sha256=
|
|
7
|
-
sqlframe/base/dataframe.py,sha256=
|
|
6
|
+
sqlframe/base/catalog.py,sha256=ZuU_qmt4yjSoTYgecSGnOhitOdh3rJbGCUjnUBp5mlc,38564
|
|
7
|
+
sqlframe/base/column.py,sha256=AG9Z_6RNhVxLhLU29kRCgzMgDNSm-_GFg96xLqk1-bs,19838
|
|
8
|
+
sqlframe/base/dataframe.py,sha256=IztCvK1MBajMrc70Ee6bgWyQ14y5iQPxGtN5WeemZe0,83946
|
|
8
9
|
sqlframe/base/decorators.py,sha256=ms-CvDOIW3T8IVB9VqDmLwAiaEsqXLYRXEqVQaxktiM,1890
|
|
9
10
|
sqlframe/base/exceptions.py,sha256=9Uwvqn2eAkDpqm4BrRgbL61qM-GMCbJEMAW8otxO46s,370
|
|
10
11
|
sqlframe/base/function_alternatives.py,sha256=KFkEm0aIHzajvQmiPZnzTLh-Ud9wjeg4lJ4Rk0vk-YU,53674
|
|
11
|
-
sqlframe/base/functions.py,sha256=
|
|
12
|
-
sqlframe/base/group.py,sha256=
|
|
12
|
+
sqlframe/base/functions.py,sha256=gWUxngV4cgbPvKqK7_N-2rYGycRyoKJnZqPfFyqIgbE,223305
|
|
13
|
+
sqlframe/base/group.py,sha256=4R9sOZm4ZRlTfShq2j3_HQOiL_Tj1bYkouenYsgnlII,4115
|
|
13
14
|
sqlframe/base/normalize.py,sha256=nXAJ5CwxVf4DV0GsH-q1w0p8gmjSMlv96k_ez1eVul8,3880
|
|
14
|
-
sqlframe/base/operations.py,sha256=
|
|
15
|
-
sqlframe/base/readerwriter.py,sha256=
|
|
15
|
+
sqlframe/base/operations.py,sha256=g-YNcbvNKTOBbYm23GKfB3fmydlR7ZZDAuZUtXIHtzw,4438
|
|
16
|
+
sqlframe/base/readerwriter.py,sha256=xjNRmHndfUAtqeVbNdcmTcjOc14LUpgxs23q7RUw1Ls,27893
|
|
16
17
|
sqlframe/base/session.py,sha256=G5_bI_z1iJtAGm2SgEdjkKiyJmS0yOUopx9P5TEGdR4,27273
|
|
17
18
|
sqlframe/base/table.py,sha256=rCeh1W5SWbtEVfkLAUiexzrZwNgmZeptLEmLcM1ABkE,6961
|
|
18
19
|
sqlframe/base/transforms.py,sha256=y0j3SGDz3XCmNGrvassk1S-owllUWfkHyMgZlY6SFO4,467
|
|
19
20
|
sqlframe/base/types.py,sha256=iBNk9bpFtb2NBIogYS8i7OlQZMRvpR6XxqzBebsjQDU,12280
|
|
20
21
|
sqlframe/base/udf.py,sha256=O6hMhBUy9NVv-mhJRtfFhXTIa_-Z8Y_FkmmuOHu0l90,1117
|
|
21
22
|
sqlframe/base/util.py,sha256=QktpGRlkYsapQRs_uhuc3T736qRry2PNE7kcPxjYefo,15519
|
|
22
|
-
sqlframe/base/window.py,sha256=
|
|
23
|
+
sqlframe/base/window.py,sha256=7NaKDTlhun-95LEghukBCjFBwq0RHrPaajWQNCsLxok,4818
|
|
23
24
|
sqlframe/base/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
|
-
sqlframe/base/mixins/catalog_mixins.py,sha256=
|
|
25
|
-
sqlframe/base/mixins/dataframe_mixins.py,sha256=
|
|
25
|
+
sqlframe/base/mixins/catalog_mixins.py,sha256=9fZGWToz9xMJSzUl1vsVtj6TH3TysP3fBCKJLnGUQzE,23353
|
|
26
|
+
sqlframe/base/mixins/dataframe_mixins.py,sha256=8D2AFtfc0tj9Q5qzlNAXdXOYw9RuD8kpe8wixo8pY5o,1534
|
|
26
27
|
sqlframe/base/mixins/readwriter_mixins.py,sha256=ItQ_0jZ5RljgmLjGDIzLMRP_NQdy3wAyKwJ6K5NjaqA,4954
|
|
27
28
|
sqlframe/base/mixins/table_mixins.py,sha256=2TnGFpbDSGw_NswpZwLACqvdD4zCA7hXekQ9IEkoTOk,13784
|
|
28
29
|
sqlframe/bigquery/__init__.py,sha256=kbaomhYAANPdxeDQhajv8IHfMg_ENKivtYK-rPwaV08,939
|
|
29
|
-
sqlframe/bigquery/catalog.py,sha256=
|
|
30
|
+
sqlframe/bigquery/catalog.py,sha256=Dcpp1JKftc3ukdYpn6M1ujqixA-6_1k8aY21Y5Johyc,11899
|
|
30
31
|
sqlframe/bigquery/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
31
32
|
sqlframe/bigquery/dataframe.py,sha256=2qlnwTOpfpHQxr9MCxeZWxKiQoL6txEgGNE8JQsalUQ,2599
|
|
32
33
|
sqlframe/bigquery/functions.py,sha256=MYLs6-sXXqe5o6ghJHHtEpFJlYMeyKzx9-rT3wwXlc4,426
|
|
@@ -39,20 +40,20 @@ sqlframe/bigquery/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
|
39
40
|
sqlframe/bigquery/udf.py,sha256=ZZ1-P1zWZhQqmhBqwAxfNeKl31nDkkZgkuz7Dn28P_0,264
|
|
40
41
|
sqlframe/bigquery/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
41
42
|
sqlframe/databricks/__init__.py,sha256=BkB_eO1UYwcf8j6x7bi4BWmDCMkfn0CUMwossWgwaG4,993
|
|
42
|
-
sqlframe/databricks/catalog.py,sha256=
|
|
43
|
+
sqlframe/databricks/catalog.py,sha256=T_4NlQ7TD57_UTYFeRezYUu0t9NEx7cgJS60O4DKcBQ,18609
|
|
43
44
|
sqlframe/databricks/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
44
45
|
sqlframe/databricks/dataframe.py,sha256=uBJ8GxjfiODto2PvhgmsslIwKArW7tcLBA70tvtun3M,2177
|
|
45
46
|
sqlframe/databricks/functions.py,sha256=La8rjAwO0hD4FBO0QxW5CtZtFAPvOrVc6lG4OtPGgbc,336
|
|
46
47
|
sqlframe/databricks/functions.pyi,sha256=FzVBpzXCJzxIp73sIAo_R8Wx8uOJrix-W12HsgyeTcQ,23799
|
|
47
48
|
sqlframe/databricks/group.py,sha256=dU3g0DVLRlfOSCamKchQFXRd1WTFbdxoXkpEX8tPD6Y,399
|
|
48
|
-
sqlframe/databricks/readwriter.py,sha256=
|
|
49
|
+
sqlframe/databricks/readwriter.py,sha256=zLnRztTnS0onRFoC4ElSypxnVW1Q_vs75bd8FRB2GKg,14602
|
|
49
50
|
sqlframe/databricks/session.py,sha256=iw4uczkJHkpVO8vusEEmfCrhxHWyAHpCFmOZ-0qlkms,2343
|
|
50
51
|
sqlframe/databricks/table.py,sha256=Q0Vnrl5aUqnqFTQpTwfWMRyQ9AQnagtpnSnXmP6IKRs,678
|
|
51
52
|
sqlframe/databricks/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
52
53
|
sqlframe/databricks/udf.py,sha256=3rmxv_6zSLfIxH8P8P050ZO-ki0aqBb9wWuUQBtl4m8,272
|
|
53
54
|
sqlframe/databricks/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
54
55
|
sqlframe/duckdb/__init__.py,sha256=KAw_uZEhFMwi3D9Wj6AgHAKqLNk-EAx2uDIYu56oL44,872
|
|
55
|
-
sqlframe/duckdb/catalog.py,sha256=
|
|
56
|
+
sqlframe/duckdb/catalog.py,sha256=89FCSJglMbOxonk3IXmlkMcdXCfMdePpGfqlbkkB_d0,5107
|
|
56
57
|
sqlframe/duckdb/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
57
58
|
sqlframe/duckdb/dataframe.py,sha256=Z8_K69UQGZVeBfVGXVwIJP8OMuIvNBB3DPKTP3Lfu4w,1908
|
|
58
59
|
sqlframe/duckdb/functions.py,sha256=ix2efGGD4HLaY1rtCtEd3IrsicGEVGiBAeKOo5OD8rA,424
|
|
@@ -65,7 +66,7 @@ sqlframe/duckdb/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
|
65
66
|
sqlframe/duckdb/udf.py,sha256=Du9LnOtT1lJvB90D4HSR2tB7MXy179jZngDR-EjVjQk,656
|
|
66
67
|
sqlframe/duckdb/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
67
68
|
sqlframe/postgres/__init__.py,sha256=NN9WI0-GehvpPdJmTB2VSDVpA5PAtxa3ZkF4BRcTEy4,939
|
|
68
|
-
sqlframe/postgres/catalog.py,sha256=
|
|
69
|
+
sqlframe/postgres/catalog.py,sha256=_K6wLycWMoXGwTJuHS0xfYXilFRcaGQcxQh8f5YPH-U,9262
|
|
69
70
|
sqlframe/postgres/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
70
71
|
sqlframe/postgres/dataframe.py,sha256=SzXvAmUvU3Fx7_jd2F0KNHxWGHsAUJ1Dpseq2Ty0phA,1287
|
|
71
72
|
sqlframe/postgres/functions.py,sha256=yOuDlt4GHXHg4MWhrAjlpVkEf1-zefxLQ1JfWy4JqIU,390
|
|
@@ -78,7 +79,7 @@ sqlframe/postgres/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
|
78
79
|
sqlframe/postgres/udf.py,sha256=TylVxrmPzycAqnpTiueGvvetiMCfCX31QatgQMIgpME,264
|
|
79
80
|
sqlframe/postgres/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
80
81
|
sqlframe/redshift/__init__.py,sha256=F43uqhCJYQk5wK8Ydvmn5KGrvt__IYaDVS0DJ_-izhc,939
|
|
81
|
-
sqlframe/redshift/catalog.py,sha256=
|
|
82
|
+
sqlframe/redshift/catalog.py,sha256=zDLDEbB1GyvLqlIp99NeOnqMdVovUHj78aORNEuE0oU,5725
|
|
82
83
|
sqlframe/redshift/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
83
84
|
sqlframe/redshift/dataframe.py,sha256=qwMI4dcb0lZRzA0RroiqS5UR5fdDFP8j84B5E2nRLkk,1102
|
|
84
85
|
sqlframe/redshift/functions.py,sha256=_oT3UUj8Ch_mV1e6KNcu6_5ftCFK8SfKn3lD5gqeh9I,390
|
|
@@ -90,7 +91,7 @@ sqlframe/redshift/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
|
90
91
|
sqlframe/redshift/udf.py,sha256=xOi7vtO56MyYprC3ys3FCSVJ5EVjEq2l_KqEVgKJrkw,264
|
|
91
92
|
sqlframe/redshift/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
92
93
|
sqlframe/snowflake/__init__.py,sha256=msYAxOnPyjuBSTbpb5s9P5o0pr2N82UUGPxUtv0TNNw,966
|
|
93
|
-
sqlframe/snowflake/catalog.py,sha256=
|
|
94
|
+
sqlframe/snowflake/catalog.py,sha256=mgMdIRMpTUJlymKV3Uf9oqv8UDfzPELkJJwyTkjvI_s,6861
|
|
94
95
|
sqlframe/snowflake/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
95
96
|
sqlframe/snowflake/dataframe.py,sha256=TosBO9tnnqAQ9Y-abX954vQM8VBLYRmN_P50iusMFgQ,2185
|
|
96
97
|
sqlframe/snowflake/functions.py,sha256=g3ELesLGvN7tyRyiEAnPneVyL0rQhSSOxYFvBFuOiaM,391
|
|
@@ -103,7 +104,7 @@ sqlframe/snowflake/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,3
|
|
|
103
104
|
sqlframe/snowflake/udf.py,sha256=yzMmky-n5BXFbdldgfzLP8hCrVm0DgruSUCUUy1_3sk,268
|
|
104
105
|
sqlframe/snowflake/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
105
106
|
sqlframe/spark/__init__.py,sha256=QV0eNmY5fL4ulLvAJVVVx2OYFfQXN2KYV3R5cij7HTg,858
|
|
106
|
-
sqlframe/spark/catalog.py,sha256=
|
|
107
|
+
sqlframe/spark/catalog.py,sha256=s2PxNw_yqCtbVjLqAv5p_Su4h4bPjySeM5v0EyyR_xs,40331
|
|
107
108
|
sqlframe/spark/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
108
109
|
sqlframe/spark/dataframe.py,sha256=WyXHWsH8Ldu2cWTNmsLy5hEFrjJvQh_Aqv3JJcbDy6k,1777
|
|
109
110
|
sqlframe/spark/functions.py,sha256=MYCgHsjRQWylT-rezWRBuLV6BivcaVarbaQtP4T0toQ,331
|
|
@@ -116,7 +117,7 @@ sqlframe/spark/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,34
|
|
|
116
117
|
sqlframe/spark/udf.py,sha256=owB8NDaGVkUQ0WGm7SZt2t9zfvLFCfi0W48QiPfgjck,1153
|
|
117
118
|
sqlframe/spark/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
118
119
|
sqlframe/standalone/__init__.py,sha256=u-BbP0mkWWRgMz46pylFlnD3EsEBvjtMnQ6kVCAejww,993
|
|
119
|
-
sqlframe/standalone/catalog.py,sha256=
|
|
120
|
+
sqlframe/standalone/catalog.py,sha256=NdUOJIRCMZMsAexr1oHV8xkygYHc3WvV0Uu5TwSgN9w,472
|
|
120
121
|
sqlframe/standalone/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
121
122
|
sqlframe/standalone/dataframe.py,sha256=K5zx14KzUTe2_KBo7XsLhe9jLiTHwYkf6VQzcnS9208,965
|
|
122
123
|
sqlframe/standalone/functions.py,sha256=cA5Lbk6UUH4vTmq1aNtPsBb3uskOxsrT6V1STHYdtNI,46
|
|
@@ -129,8 +130,8 @@ sqlframe/standalone/udf.py,sha256=azmgtUjHNIPs0WMVNId05SHwiYn41MKVBhKXsQJ5dmY,27
|
|
|
129
130
|
sqlframe/standalone/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
130
131
|
sqlframe/testing/__init__.py,sha256=VVCosQhitU74A3NnE52O4mNtGZONapuEXcc20QmSlnQ,132
|
|
131
132
|
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.
|
|
133
|
+
sqlframe-3.24.0.dist-info/LICENSE,sha256=VZu79YgW780qxaFJMr0t5ZgbOYEh04xWoxaWOaqIGWk,1068
|
|
134
|
+
sqlframe-3.24.0.dist-info/METADATA,sha256=j0VhoDveh4Jv1Hem4K4TXKyiF9RC2L7oYHEZ7fmL4M4,8971
|
|
135
|
+
sqlframe-3.24.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
136
|
+
sqlframe-3.24.0.dist-info/top_level.txt,sha256=T0_RpoygaZSF6heeWwIDQgaP0varUdSK1pzjeJZRjM8,9
|
|
137
|
+
sqlframe-3.24.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|