sqlframe 3.11.0__py3-none-any.whl → 3.13.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 +2 -2
- sqlframe/base/decorators.py +1 -1
- sqlframe/base/mixins/dataframe_mixins.py +3 -3
- sqlframe/base/operations.py +5 -5
- sqlframe/base/session.py +2 -2
- sqlframe/bigquery/dataframe.py +2 -2
- sqlframe/databricks/dataframe.py +2 -2
- sqlframe/duckdb/dataframe.py +2 -2
- sqlframe/postgres/dataframe.py +2 -2
- sqlframe/redshift/dataframe.py +2 -2
- sqlframe/snowflake/dataframe.py +2 -2
- sqlframe/spark/dataframe.py +2 -2
- sqlframe/standalone/dataframe.py +2 -2
- sqlframe/testing/utils.py +3 -3
- {sqlframe-3.11.0.dist-info → sqlframe-3.13.0.dist-info}/METADATA +7 -8
- {sqlframe-3.11.0.dist-info → sqlframe-3.13.0.dist-info}/RECORD +20 -20
- {sqlframe-3.11.0.dist-info → sqlframe-3.13.0.dist-info}/LICENSE +0 -0
- {sqlframe-3.11.0.dist-info → sqlframe-3.13.0.dist-info}/WHEEL +0 -0
- {sqlframe-3.11.0.dist-info → sqlframe-3.13.0.dist-info}/top_level.txt +0 -0
sqlframe/_version.py
CHANGED
sqlframe/base/dataframe.py
CHANGED
|
@@ -80,7 +80,7 @@ JOIN_HINTS = {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
DF = t.TypeVar("DF", bound="
|
|
83
|
+
DF = t.TypeVar("DF", bound="BaseDataFrame")
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
class OpenAIMode(enum.Enum):
|
|
@@ -198,7 +198,7 @@ class _BaseDataFrameStatFunctions(t.Generic[DF]):
|
|
|
198
198
|
STAT = t.TypeVar("STAT", bound=_BaseDataFrameStatFunctions)
|
|
199
199
|
|
|
200
200
|
|
|
201
|
-
class
|
|
201
|
+
class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
202
202
|
_na: t.Type[NA]
|
|
203
203
|
_stat: t.Type[STAT]
|
|
204
204
|
_group_data: t.Type[GROUP_DATA]
|
sqlframe/base/decorators.py
CHANGED
|
@@ -43,7 +43,7 @@ def func_metadata(unsupported_engines: t.Optional[t.Union[str, t.List[str]]] = N
|
|
|
43
43
|
col_name = col_name.this
|
|
44
44
|
alias_name = f"{func.__name__}__{col_name or ''}__"
|
|
45
45
|
# BigQuery has restrictions on alias names so we constrain it to alphanumeric characters and underscores
|
|
46
|
-
return result.alias(re.sub("\W", "_", alias_name))
|
|
46
|
+
return result.alias(re.sub("\W", "_", alias_name)) # type: ignore
|
|
47
47
|
return result
|
|
48
48
|
|
|
49
49
|
wrapper.unsupported_engines = ( # type: ignore
|
|
@@ -11,7 +11,7 @@ from sqlframe.base.dataframe import (
|
|
|
11
11
|
SESSION,
|
|
12
12
|
STAT,
|
|
13
13
|
WRITER,
|
|
14
|
-
|
|
14
|
+
BaseDataFrame,
|
|
15
15
|
)
|
|
16
16
|
|
|
17
17
|
if sys.version_info >= (3, 11):
|
|
@@ -23,7 +23,7 @@ else:
|
|
|
23
23
|
logger = logging.getLogger(__name__)
|
|
24
24
|
|
|
25
25
|
|
|
26
|
-
class NoCachePersistSupportMixin(
|
|
26
|
+
class NoCachePersistSupportMixin(BaseDataFrame, t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
27
27
|
def cache(self) -> Self:
|
|
28
28
|
logger.warning("This engine does not support caching. Ignoring cache() call.")
|
|
29
29
|
return self
|
|
@@ -34,7 +34,7 @@ class NoCachePersistSupportMixin(_BaseDataFrame, t.Generic[SESSION, WRITER, NA,
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class TypedColumnsFromTempViewMixin(
|
|
37
|
-
|
|
37
|
+
BaseDataFrame, t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]
|
|
38
38
|
):
|
|
39
39
|
@property
|
|
40
40
|
def _typed_columns(self) -> t.List[Column]:
|
sqlframe/base/operations.py
CHANGED
|
@@ -7,7 +7,7 @@ import typing as t
|
|
|
7
7
|
from enum import IntEnum
|
|
8
8
|
|
|
9
9
|
if t.TYPE_CHECKING:
|
|
10
|
-
from sqlframe.base.dataframe import
|
|
10
|
+
from sqlframe.base.dataframe import BaseDataFrame
|
|
11
11
|
from sqlframe.base.group import _BaseGroupedData
|
|
12
12
|
|
|
13
13
|
|
|
@@ -37,7 +37,7 @@ def operation(op: Operation) -> t.Callable[[t.Callable], t.Callable]:
|
|
|
37
37
|
|
|
38
38
|
def decorator(func: t.Callable) -> t.Callable:
|
|
39
39
|
@functools.wraps(func)
|
|
40
|
-
def wrapper(self:
|
|
40
|
+
def wrapper(self: BaseDataFrame, *args, **kwargs) -> BaseDataFrame:
|
|
41
41
|
if self.last_op == Operation.INIT:
|
|
42
42
|
self = self._convert_leaf_to_cte()
|
|
43
43
|
self.last_op = Operation.NO_OP
|
|
@@ -45,7 +45,7 @@ def operation(op: Operation) -> t.Callable[[t.Callable], t.Callable]:
|
|
|
45
45
|
new_op = op if op != Operation.NO_OP else last_op
|
|
46
46
|
if new_op < last_op or (last_op == new_op == Operation.SELECT):
|
|
47
47
|
self = self._convert_leaf_to_cte()
|
|
48
|
-
df: t.Union[
|
|
48
|
+
df: t.Union[BaseDataFrame, _BaseGroupedData] = func(self, *args, **kwargs)
|
|
49
49
|
df.last_op = new_op # type: ignore
|
|
50
50
|
return df # type: ignore
|
|
51
51
|
|
|
@@ -69,7 +69,7 @@ def group_operation(op: Operation) -> t.Callable[[t.Callable], t.Callable]:
|
|
|
69
69
|
|
|
70
70
|
def decorator(func: t.Callable) -> t.Callable:
|
|
71
71
|
@functools.wraps(func)
|
|
72
|
-
def wrapper(self: _BaseGroupedData, *args, **kwargs) ->
|
|
72
|
+
def wrapper(self: _BaseGroupedData, *args, **kwargs) -> BaseDataFrame:
|
|
73
73
|
if self._df.last_op == Operation.INIT:
|
|
74
74
|
self._df = self._df._convert_leaf_to_cte()
|
|
75
75
|
self._df.last_op = Operation.NO_OP
|
|
@@ -77,7 +77,7 @@ def group_operation(op: Operation) -> t.Callable[[t.Callable], t.Callable]:
|
|
|
77
77
|
new_op = op if op != Operation.NO_OP else last_op
|
|
78
78
|
if new_op < last_op or (last_op == new_op == Operation.SELECT):
|
|
79
79
|
self._df = self._df._convert_leaf_to_cte()
|
|
80
|
-
df:
|
|
80
|
+
df: BaseDataFrame = func(self, *args, **kwargs)
|
|
81
81
|
df.last_op = new_op # type: ignore
|
|
82
82
|
return df
|
|
83
83
|
|
sqlframe/base/session.py
CHANGED
|
@@ -24,7 +24,7 @@ from sqlglot.optimizer.qualify_columns import (
|
|
|
24
24
|
from sqlglot.schema import MappingSchema
|
|
25
25
|
|
|
26
26
|
from sqlframe.base.catalog import _BaseCatalog
|
|
27
|
-
from sqlframe.base.dataframe import
|
|
27
|
+
from sqlframe.base.dataframe import BaseDataFrame
|
|
28
28
|
from sqlframe.base.normalize import normalize_dict
|
|
29
29
|
from sqlframe.base.readerwriter import _BaseDataFrameReader, _BaseDataFrameWriter
|
|
30
30
|
from sqlframe.base.udf import _BaseUDFRegistration
|
|
@@ -64,7 +64,7 @@ logger = logging.getLogger(__name__)
|
|
|
64
64
|
CATALOG = t.TypeVar("CATALOG", bound=_BaseCatalog)
|
|
65
65
|
READER = t.TypeVar("READER", bound=_BaseDataFrameReader)
|
|
66
66
|
WRITER = t.TypeVar("WRITER", bound=_BaseDataFrameWriter)
|
|
67
|
-
DF = t.TypeVar("DF", bound=
|
|
67
|
+
DF = t.TypeVar("DF", bound=BaseDataFrame)
|
|
68
68
|
UDF_REGISTRATION = t.TypeVar("UDF_REGISTRATION", bound=_BaseUDFRegistration)
|
|
69
69
|
|
|
70
70
|
_MISSING = "MISSING"
|
sqlframe/bigquery/dataframe.py
CHANGED
|
@@ -5,7 +5,7 @@ import typing as t
|
|
|
5
5
|
|
|
6
6
|
from sqlframe.base.catalog import Column as CatalogColumn
|
|
7
7
|
from sqlframe.base.dataframe import (
|
|
8
|
-
|
|
8
|
+
BaseDataFrame,
|
|
9
9
|
_BaseDataFrameNaFunctions,
|
|
10
10
|
_BaseDataFrameStatFunctions,
|
|
11
11
|
)
|
|
@@ -30,7 +30,7 @@ class BigQueryDataFrameStatFunctions(_BaseDataFrameStatFunctions["BigQueryDataFr
|
|
|
30
30
|
|
|
31
31
|
class BigQueryDataFrame(
|
|
32
32
|
NoCachePersistSupportMixin,
|
|
33
|
-
|
|
33
|
+
BaseDataFrame[
|
|
34
34
|
"BigQuerySession",
|
|
35
35
|
"BigQueryDataFrameWriter",
|
|
36
36
|
"BigQueryDataFrameNaFunctions",
|
sqlframe/databricks/dataframe.py
CHANGED
|
@@ -5,7 +5,7 @@ import typing as t
|
|
|
5
5
|
|
|
6
6
|
from sqlframe.base.catalog import Column as CatalogColumn
|
|
7
7
|
from sqlframe.base.dataframe import (
|
|
8
|
-
|
|
8
|
+
BaseDataFrame,
|
|
9
9
|
_BaseDataFrameNaFunctions,
|
|
10
10
|
_BaseDataFrameStatFunctions,
|
|
11
11
|
)
|
|
@@ -31,7 +31,7 @@ class DatabricksDataFrameStatFunctions(_BaseDataFrameStatFunctions["DatabricksDa
|
|
|
31
31
|
|
|
32
32
|
class DatabricksDataFrame(
|
|
33
33
|
NoCachePersistSupportMixin,
|
|
34
|
-
|
|
34
|
+
BaseDataFrame[
|
|
35
35
|
"DatabricksSession",
|
|
36
36
|
"DatabricksDataFrameWriter",
|
|
37
37
|
"DatabricksDataFrameNaFunctions",
|
sqlframe/duckdb/dataframe.py
CHANGED
|
@@ -4,7 +4,7 @@ import logging
|
|
|
4
4
|
import typing as t
|
|
5
5
|
|
|
6
6
|
from sqlframe.base.dataframe import (
|
|
7
|
-
|
|
7
|
+
BaseDataFrame,
|
|
8
8
|
_BaseDataFrameNaFunctions,
|
|
9
9
|
_BaseDataFrameStatFunctions,
|
|
10
10
|
)
|
|
@@ -34,7 +34,7 @@ class DuckDBDataFrameStatFunctions(_BaseDataFrameStatFunctions["DuckDBDataFrame"
|
|
|
34
34
|
class DuckDBDataFrame(
|
|
35
35
|
NoCachePersistSupportMixin,
|
|
36
36
|
TypedColumnsFromTempViewMixin,
|
|
37
|
-
|
|
37
|
+
BaseDataFrame[
|
|
38
38
|
"DuckDBSession",
|
|
39
39
|
"DuckDBDataFrameWriter",
|
|
40
40
|
"DuckDBDataFrameNaFunctions",
|
sqlframe/postgres/dataframe.py
CHANGED
|
@@ -5,7 +5,7 @@ import sys
|
|
|
5
5
|
import typing as t
|
|
6
6
|
|
|
7
7
|
from sqlframe.base.dataframe import (
|
|
8
|
-
|
|
8
|
+
BaseDataFrame,
|
|
9
9
|
_BaseDataFrameNaFunctions,
|
|
10
10
|
_BaseDataFrameStatFunctions,
|
|
11
11
|
)
|
|
@@ -39,7 +39,7 @@ class PostgresDataFrameStatFunctions(_BaseDataFrameStatFunctions["PostgresDataFr
|
|
|
39
39
|
class PostgresDataFrame(
|
|
40
40
|
NoCachePersistSupportMixin,
|
|
41
41
|
TypedColumnsFromTempViewMixin,
|
|
42
|
-
|
|
42
|
+
BaseDataFrame[
|
|
43
43
|
"PostgresSession",
|
|
44
44
|
"PostgresDataFrameWriter",
|
|
45
45
|
"PostgresDataFrameNaFunctions",
|
sqlframe/redshift/dataframe.py
CHANGED
|
@@ -5,7 +5,7 @@ import sys
|
|
|
5
5
|
import typing as t
|
|
6
6
|
|
|
7
7
|
from sqlframe.base.dataframe import (
|
|
8
|
-
|
|
8
|
+
BaseDataFrame,
|
|
9
9
|
_BaseDataFrameNaFunctions,
|
|
10
10
|
_BaseDataFrameStatFunctions,
|
|
11
11
|
)
|
|
@@ -30,7 +30,7 @@ class RedshiftDataFrameStatFunctions(_BaseDataFrameStatFunctions["RedshiftDataFr
|
|
|
30
30
|
|
|
31
31
|
class RedshiftDataFrame(
|
|
32
32
|
NoCachePersistSupportMixin,
|
|
33
|
-
|
|
33
|
+
BaseDataFrame[
|
|
34
34
|
"RedshiftSession",
|
|
35
35
|
"RedshiftDataFrameWriter",
|
|
36
36
|
"RedshiftDataFrameNaFunctions",
|
sqlframe/snowflake/dataframe.py
CHANGED
|
@@ -6,7 +6,7 @@ import typing as t
|
|
|
6
6
|
|
|
7
7
|
from sqlframe.base.catalog import Column as CatalogColumn
|
|
8
8
|
from sqlframe.base.dataframe import (
|
|
9
|
-
|
|
9
|
+
BaseDataFrame,
|
|
10
10
|
_BaseDataFrameNaFunctions,
|
|
11
11
|
_BaseDataFrameStatFunctions,
|
|
12
12
|
)
|
|
@@ -32,7 +32,7 @@ class SnowflakeDataFrameStatFunctions(_BaseDataFrameStatFunctions["SnowflakeData
|
|
|
32
32
|
|
|
33
33
|
class SnowflakeDataFrame(
|
|
34
34
|
NoCachePersistSupportMixin,
|
|
35
|
-
|
|
35
|
+
BaseDataFrame[
|
|
36
36
|
"SnowflakeSession",
|
|
37
37
|
"SnowflakeDataFrameWriter",
|
|
38
38
|
"SnowflakeDataFrameNaFunctions",
|
sqlframe/spark/dataframe.py
CHANGED
|
@@ -7,7 +7,7 @@ from sqlglot import exp
|
|
|
7
7
|
|
|
8
8
|
from sqlframe.base.catalog import Column
|
|
9
9
|
from sqlframe.base.dataframe import (
|
|
10
|
-
|
|
10
|
+
BaseDataFrame,
|
|
11
11
|
_BaseDataFrameNaFunctions,
|
|
12
12
|
_BaseDataFrameStatFunctions,
|
|
13
13
|
)
|
|
@@ -31,7 +31,7 @@ class SparkDataFrameStatFunctions(_BaseDataFrameStatFunctions["SparkDataFrame"])
|
|
|
31
31
|
|
|
32
32
|
class SparkDataFrame(
|
|
33
33
|
NoCachePersistSupportMixin,
|
|
34
|
-
|
|
34
|
+
BaseDataFrame[
|
|
35
35
|
"SparkSession",
|
|
36
36
|
"SparkDataFrameWriter",
|
|
37
37
|
"SparkDataFrameNaFunctions",
|
sqlframe/standalone/dataframe.py
CHANGED
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import typing as t
|
|
4
4
|
|
|
5
5
|
from sqlframe.base.dataframe import (
|
|
6
|
-
|
|
6
|
+
BaseDataFrame,
|
|
7
7
|
_BaseDataFrameNaFunctions,
|
|
8
8
|
_BaseDataFrameStatFunctions,
|
|
9
9
|
)
|
|
@@ -23,7 +23,7 @@ class StandaloneDataFrameStatFunctions(_BaseDataFrameStatFunctions["StandaloneDa
|
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
class StandaloneDataFrame(
|
|
26
|
-
|
|
26
|
+
BaseDataFrame[
|
|
27
27
|
"StandaloneSession",
|
|
28
28
|
"StandaloneDataFrameWriter",
|
|
29
29
|
"StandaloneDataFrameNaFunctions",
|
sqlframe/testing/utils.py
CHANGED
|
@@ -7,7 +7,7 @@ import typing as t
|
|
|
7
7
|
from itertools import zip_longest
|
|
8
8
|
|
|
9
9
|
from sqlframe.base import types
|
|
10
|
-
from sqlframe.base.dataframe import
|
|
10
|
+
from sqlframe.base.dataframe import BaseDataFrame
|
|
11
11
|
from sqlframe.base.exceptions import (
|
|
12
12
|
DataFrameDiffError,
|
|
13
13
|
SchemaDiffError,
|
|
@@ -64,8 +64,8 @@ def _context_diff(actual: t.List[str], expected: t.List[str], n: int = 3):
|
|
|
64
64
|
|
|
65
65
|
# Source: https://github.com/apache/spark/blob/master/python/pyspark/testing/utils.py#L519
|
|
66
66
|
def assertDataFrameEqual(
|
|
67
|
-
actual: t.Union[
|
|
68
|
-
expected: t.Union[
|
|
67
|
+
actual: t.Union[BaseDataFrame, pd.DataFrame, t.List[types.Row]],
|
|
68
|
+
expected: t.Union[BaseDataFrame, pd.DataFrame, t.List[types.Row]],
|
|
69
69
|
checkRowOrder: bool = False,
|
|
70
70
|
rtol: float = 1e-5,
|
|
71
71
|
atol: float = 1e-8,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sqlframe
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.13.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
|
|
@@ -14,12 +14,12 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Programming Language :: SQL
|
|
16
16
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
|
-
Requires-Dist: prettytable (<
|
|
20
|
+
Requires-Dist: prettytable (<4)
|
|
21
21
|
Requires-Dist: sqlglot (<26.1,>=24.0.0)
|
|
22
|
-
Requires-Dist: typing-extensions
|
|
22
|
+
Requires-Dist: typing-extensions
|
|
23
23
|
Provides-Extra: bigquery
|
|
24
24
|
Requires-Dist: google-cloud-bigquery-storage (<3,>=2) ; extra == 'bigquery'
|
|
25
25
|
Requires-Dist: google-cloud-bigquery[pandas] (<4,>=3) ; extra == 'bigquery'
|
|
@@ -29,9 +29,10 @@ Provides-Extra: dev
|
|
|
29
29
|
Requires-Dist: duckdb (<1.2,>=0.9) ; extra == 'dev'
|
|
30
30
|
Requires-Dist: findspark (<3,>=2) ; extra == 'dev'
|
|
31
31
|
Requires-Dist: mypy (<1.15,>=1.10.0) ; extra == 'dev'
|
|
32
|
-
Requires-Dist: openai (<
|
|
32
|
+
Requires-Dist: openai (<2,>=1.30) ; extra == 'dev'
|
|
33
33
|
Requires-Dist: pandas-stubs (<3,>=2) ; extra == 'dev'
|
|
34
34
|
Requires-Dist: pandas (<3,>=2) ; extra == 'dev'
|
|
35
|
+
Requires-Dist: pre-commit (<5,>=3.7) ; extra == 'dev'
|
|
35
36
|
Requires-Dist: psycopg (<4,>=3.1) ; extra == 'dev'
|
|
36
37
|
Requires-Dist: pyarrow (<19,>=10) ; extra == 'dev'
|
|
37
38
|
Requires-Dist: pyspark (<3.6,>=2) ; extra == 'dev'
|
|
@@ -41,8 +42,6 @@ Requires-Dist: pytest-xdist (<3.7,>=3.6) ; extra == 'dev'
|
|
|
41
42
|
Requires-Dist: pytest (<8.4,>=8.2.0) ; extra == 'dev'
|
|
42
43
|
Requires-Dist: ruff (<0.9,>=0.4.4) ; extra == 'dev'
|
|
43
44
|
Requires-Dist: types-psycopg2 (<3,>=2.9) ; extra == 'dev'
|
|
44
|
-
Requires-Dist: pre-commit (>=3.5) ; (python_version == "3.8") and extra == 'dev'
|
|
45
|
-
Requires-Dist: pre-commit (<4.1,>=3.7) ; (python_version >= "3.9") and extra == 'dev'
|
|
46
45
|
Provides-Extra: docs
|
|
47
46
|
Requires-Dist: mkdocs-include-markdown-plugin (==6.0.6) ; extra == 'docs'
|
|
48
47
|
Requires-Dist: mkdocs-material-extensions (==1.1.1) ; extra == 'docs'
|
|
@@ -53,7 +52,7 @@ Provides-Extra: duckdb
|
|
|
53
52
|
Requires-Dist: duckdb (<1.2,>=0.9) ; extra == 'duckdb'
|
|
54
53
|
Requires-Dist: pandas (<3,>=2) ; extra == 'duckdb'
|
|
55
54
|
Provides-Extra: openai
|
|
56
|
-
Requires-Dist: openai (<
|
|
55
|
+
Requires-Dist: openai (<2,>=1.30) ; extra == 'openai'
|
|
57
56
|
Provides-Extra: pandas
|
|
58
57
|
Requires-Dist: pandas (<3,>=2) ; extra == 'pandas'
|
|
59
58
|
Provides-Extra: postgres
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
sqlframe/__init__.py,sha256=wfqm98eLoLid9oV_FzzpG5loKC6LxOhj2lXpfN7SARo,3138
|
|
2
|
-
sqlframe/_version.py,sha256=
|
|
2
|
+
sqlframe/_version.py,sha256=3fJaN4m_eO3OOhIj24x2tSFiMOpH1Uw0GgL-P7s9_M0,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=wRghgieYAA51aw4WuFQWOvl0TFOToZbBhBuIamEzxx4,18011
|
|
7
|
-
sqlframe/base/dataframe.py,sha256=
|
|
8
|
-
sqlframe/base/decorators.py,sha256=
|
|
7
|
+
sqlframe/base/dataframe.py,sha256=c27sJq8kb0AHBGwJJyDofayw58sOdJMePktpjqB2gJk,74452
|
|
8
|
+
sqlframe/base/decorators.py,sha256=P56cgs8DANxGRIwVs5uOMnDy-BlXZZYMbf4fdnkpWPI,1889
|
|
9
9
|
sqlframe/base/exceptions.py,sha256=9Uwvqn2eAkDpqm4BrRgbL61qM-GMCbJEMAW8otxO46s,370
|
|
10
10
|
sqlframe/base/function_alternatives.py,sha256=8kDCh1cOXtdCcBPYBQ8byXxRAZvphS9N8GDs4txBzGg,52544
|
|
11
11
|
sqlframe/base/functions.py,sha256=8gBaQGUnfbwtJk9sg87HQul8d4Q9lCw3rPU9koYWxE0,218776
|
|
12
12
|
sqlframe/base/group.py,sha256=fsyG5990_Pd7gFPjTFrH9IEoAquL_wEkVpIlBAIkZJU,4091
|
|
13
13
|
sqlframe/base/normalize.py,sha256=nXAJ5CwxVf4DV0GsH-q1w0p8gmjSMlv96k_ez1eVul8,3880
|
|
14
|
-
sqlframe/base/operations.py,sha256
|
|
14
|
+
sqlframe/base/operations.py,sha256=xSPw74e59wYvNd6U1AlwziNCTG6Aftrbl4SybN9u9VE,3450
|
|
15
15
|
sqlframe/base/readerwriter.py,sha256=9cgOZuB3phZbQufY98JRDBVWRww3hsULc6Or1HK2Onk,26554
|
|
16
|
-
sqlframe/base/session.py,sha256=
|
|
16
|
+
sqlframe/base/session.py,sha256=R3APQhEZ_FH-tOBMdCu6zjWxGQG5w2qLpXBjpo25Gt0,25941
|
|
17
17
|
sqlframe/base/transforms.py,sha256=y0j3SGDz3XCmNGrvassk1S-owllUWfkHyMgZlY6SFO4,467
|
|
18
18
|
sqlframe/base/types.py,sha256=iBNk9bpFtb2NBIogYS8i7OlQZMRvpR6XxqzBebsjQDU,12280
|
|
19
19
|
sqlframe/base/udf.py,sha256=O6hMhBUy9NVv-mhJRtfFhXTIa_-Z8Y_FkmmuOHu0l90,1117
|
|
@@ -21,12 +21,12 @@ sqlframe/base/util.py,sha256=ggiGdegJ-Re-xk6PLB5tt6yAW9S7pg3xsrFm0xU3XCc,15233
|
|
|
21
21
|
sqlframe/base/window.py,sha256=8hOv-ignPPIsZA9FzvYzcLE9J_glalVaYjIAUdRUX3o,4943
|
|
22
22
|
sqlframe/base/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
sqlframe/base/mixins/catalog_mixins.py,sha256=9tn0mK8oPoqIIjNItystD5tdBMdK9YpkxTG7G9KQl8k,18619
|
|
24
|
-
sqlframe/base/mixins/dataframe_mixins.py,sha256=
|
|
24
|
+
sqlframe/base/mixins/dataframe_mixins.py,sha256=9U556vWjhmAwnbqkQ4mDkKHxQRs-FkncwEEY9RWmm6U,1408
|
|
25
25
|
sqlframe/base/mixins/readwriter_mixins.py,sha256=ap8j_g7PoUGHaHKCPMnRPbXofOsUhUzlaF7Loxy2m-I,4752
|
|
26
26
|
sqlframe/bigquery/__init__.py,sha256=kbaomhYAANPdxeDQhajv8IHfMg_ENKivtYK-rPwaV08,939
|
|
27
27
|
sqlframe/bigquery/catalog.py,sha256=8d36IzT5GPWd1FdxJ9vEljOdbIDepHnFOBjwP0bX6FE,11625
|
|
28
28
|
sqlframe/bigquery/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
29
|
-
sqlframe/bigquery/dataframe.py,sha256=
|
|
29
|
+
sqlframe/bigquery/dataframe.py,sha256=O7qkwVRuuyqdesfwjXLBMgScQqUugPIYklboQ2vgRyE,2403
|
|
30
30
|
sqlframe/bigquery/functions.py,sha256=MYLs6-sXXqe5o6ghJHHtEpFJlYMeyKzx9-rT3wwXlc4,426
|
|
31
31
|
sqlframe/bigquery/functions.pyi,sha256=KXgV46eZFNIXwXIhPuSJ08BG18iLQzDCQjyI3REBEXg,11925
|
|
32
32
|
sqlframe/bigquery/group.py,sha256=UVBNBRTo8OqS-_cS5YwvTeJYgYxeG-d6R3kfyHmlFqw,391
|
|
@@ -38,7 +38,7 @@ sqlframe/bigquery/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,3
|
|
|
38
38
|
sqlframe/databricks/__init__.py,sha256=BkB_eO1UYwcf8j6x7bi4BWmDCMkfn0CUMwossWgwaG4,993
|
|
39
39
|
sqlframe/databricks/catalog.py,sha256=_0KWKp6GoplS2F-oMa2bLJEJNrKcrSeO77DoKQFl1Pc,11614
|
|
40
40
|
sqlframe/databricks/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
41
|
-
sqlframe/databricks/dataframe.py,sha256=
|
|
41
|
+
sqlframe/databricks/dataframe.py,sha256=uBJ8GxjfiODto2PvhgmsslIwKArW7tcLBA70tvtun3M,2177
|
|
42
42
|
sqlframe/databricks/functions.py,sha256=La8rjAwO0hD4FBO0QxW5CtZtFAPvOrVc6lG4OtPGgbc,336
|
|
43
43
|
sqlframe/databricks/functions.pyi,sha256=FzVBpzXCJzxIp73sIAo_R8Wx8uOJrix-W12HsgyeTcQ,23799
|
|
44
44
|
sqlframe/databricks/group.py,sha256=dU3g0DVLRlfOSCamKchQFXRd1WTFbdxoXkpEX8tPD6Y,399
|
|
@@ -50,7 +50,7 @@ sqlframe/databricks/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0
|
|
|
50
50
|
sqlframe/duckdb/__init__.py,sha256=KAw_uZEhFMwi3D9Wj6AgHAKqLNk-EAx2uDIYu56oL44,872
|
|
51
51
|
sqlframe/duckdb/catalog.py,sha256=YYYVmetLUaJOdObKw4AJ7L0P-msshkta4xHlcZQ9zEA,4795
|
|
52
52
|
sqlframe/duckdb/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
53
|
-
sqlframe/duckdb/dataframe.py,sha256=
|
|
53
|
+
sqlframe/duckdb/dataframe.py,sha256=OgU4zySAKqz7XhwOhNJuUkwkflU67UvyqV3IbvaFVo4,1706
|
|
54
54
|
sqlframe/duckdb/functions.py,sha256=ix2efGGD4HLaY1rtCtEd3IrsicGEVGiBAeKOo5OD8rA,424
|
|
55
55
|
sqlframe/duckdb/functions.pyi,sha256=P0ky6k-J7LdCDrQ0OjfRC3ARIYNHPmAmmaB_jBEO5L0,12383
|
|
56
56
|
sqlframe/duckdb/group.py,sha256=IkhbW42Ng1U5YT3FkIdiB4zBqRkW4QyTb-1detY1e_4,383
|
|
@@ -62,7 +62,7 @@ sqlframe/duckdb/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
|
62
62
|
sqlframe/postgres/__init__.py,sha256=NN9WI0-GehvpPdJmTB2VSDVpA5PAtxa3ZkF4BRcTEy4,939
|
|
63
63
|
sqlframe/postgres/catalog.py,sha256=9XVXXDW04mY_KmeB52NsCny8n0evqdDCBxhGH1Xce6s,8956
|
|
64
64
|
sqlframe/postgres/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
65
|
-
sqlframe/postgres/dataframe.py,sha256=
|
|
65
|
+
sqlframe/postgres/dataframe.py,sha256=SzXvAmUvU3Fx7_jd2F0KNHxWGHsAUJ1Dpseq2Ty0phA,1287
|
|
66
66
|
sqlframe/postgres/functions.py,sha256=yOuDlt4GHXHg4MWhrAjlpVkEf1-zefxLQ1JfWy4JqIU,390
|
|
67
67
|
sqlframe/postgres/functions.pyi,sha256=PozoVOSao-KG9LKqN7XuTETO_nd9ujGhQUMxwtMP6_c,11001
|
|
68
68
|
sqlframe/postgres/group.py,sha256=KUXeSFKWTSH9yCRJAhW85OvjZaG6Zr4In9LR_ie3yGU,391
|
|
@@ -74,7 +74,7 @@ sqlframe/postgres/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,3
|
|
|
74
74
|
sqlframe/redshift/__init__.py,sha256=F43uqhCJYQk5wK8Ydvmn5KGrvt__IYaDVS0DJ_-izhc,939
|
|
75
75
|
sqlframe/redshift/catalog.py,sha256=x-sfVwoOS_0MeLICCqu7YUiFRgBam7vV1sHfaAKZGjE,5410
|
|
76
76
|
sqlframe/redshift/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
77
|
-
sqlframe/redshift/dataframe.py,sha256=
|
|
77
|
+
sqlframe/redshift/dataframe.py,sha256=qwMI4dcb0lZRzA0RroiqS5UR5fdDFP8j84B5E2nRLkk,1102
|
|
78
78
|
sqlframe/redshift/functions.py,sha256=_oT3UUj8Ch_mV1e6KNcu6_5ftCFK8SfKn3lD5gqeh9I,390
|
|
79
79
|
sqlframe/redshift/group.py,sha256=5MGZYJfHpzoRSQ0N_pn4KUk4Mk2gocQwU3K1-jAbvGg,391
|
|
80
80
|
sqlframe/redshift/readwriter.py,sha256=g3FYKSsJKqcSnElprzzz29ZctoXq9tRB0Mj9Bm1HycI,870
|
|
@@ -85,7 +85,7 @@ sqlframe/redshift/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,3
|
|
|
85
85
|
sqlframe/snowflake/__init__.py,sha256=msYAxOnPyjuBSTbpb5s9P5o0pr2N82UUGPxUtv0TNNw,966
|
|
86
86
|
sqlframe/snowflake/catalog.py,sha256=Tp_B9oMTInnqLTiZNsT0UNc-a-aKXu3zFThlCwLeKCA,6507
|
|
87
87
|
sqlframe/snowflake/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
88
|
-
sqlframe/snowflake/dataframe.py,sha256=
|
|
88
|
+
sqlframe/snowflake/dataframe.py,sha256=X3FOasXh12OPFGF5-YYy1ThxIEdDwqc1xf3hdmuViN0,2142
|
|
89
89
|
sqlframe/snowflake/functions.py,sha256=g3ELesLGvN7tyRyiEAnPneVyL0rQhSSOxYFvBFuOiaM,391
|
|
90
90
|
sqlframe/snowflake/functions.pyi,sha256=sEqNdyqQBtgqoKtRViUb70QT5yrvpVoP3ZN7VxHNxbw,12612
|
|
91
91
|
sqlframe/snowflake/group.py,sha256=pPP1l2RRo_LgkXrji8a87n2PKo-63ZRPT-WUtvVcBME,395
|
|
@@ -97,7 +97,7 @@ sqlframe/snowflake/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,
|
|
|
97
97
|
sqlframe/spark/__init__.py,sha256=QV0eNmY5fL4ulLvAJVVVx2OYFfQXN2KYV3R5cij7HTg,858
|
|
98
98
|
sqlframe/spark/catalog.py,sha256=8ghHiKz9rBJ2ohm768XIftyi9Htbw-1cSkJUlXemwrI,39796
|
|
99
99
|
sqlframe/spark/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
100
|
-
sqlframe/spark/dataframe.py,sha256=
|
|
100
|
+
sqlframe/spark/dataframe.py,sha256=WyXHWsH8Ldu2cWTNmsLy5hEFrjJvQh_Aqv3JJcbDy6k,1777
|
|
101
101
|
sqlframe/spark/functions.py,sha256=MYCgHsjRQWylT-rezWRBuLV6BivcaVarbaQtP4T0toQ,331
|
|
102
102
|
sqlframe/spark/functions.pyi,sha256=GyOdUzv2Z7Qt99JAKEPKgV2t2Rn274OuqwAfcoAXlN0,24259
|
|
103
103
|
sqlframe/spark/group.py,sha256=MrvV_v-YkBc6T1zz882WrEqtWjlooWIyHBCmTQg3fCA,379
|
|
@@ -109,7 +109,7 @@ sqlframe/spark/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
|
109
109
|
sqlframe/standalone/__init__.py,sha256=u-BbP0mkWWRgMz46pylFlnD3EsEBvjtMnQ6kVCAejww,993
|
|
110
110
|
sqlframe/standalone/catalog.py,sha256=oJAPxrXtra_YP_JBZCJY2qsr0TRhWG7FFSq0RHDszcU,389
|
|
111
111
|
sqlframe/standalone/column.py,sha256=E1tUa62Y5HajkhgFuebU9zohrGyieudcHzTT8gfalio,40
|
|
112
|
-
sqlframe/standalone/dataframe.py,sha256=
|
|
112
|
+
sqlframe/standalone/dataframe.py,sha256=K5zx14KzUTe2_KBo7XsLhe9jLiTHwYkf6VQzcnS9208,965
|
|
113
113
|
sqlframe/standalone/functions.py,sha256=cA5Lbk6UUH4vTmq1aNtPsBb3uskOxsrT6V1STHYdtNI,46
|
|
114
114
|
sqlframe/standalone/group.py,sha256=oGEbAQMSm6AlkwnBxNI8r9enZWRwsRxc8zpzoz3rArk,399
|
|
115
115
|
sqlframe/standalone/readwriter.py,sha256=EZNyDJ4ID6sGNog3uP4-e9RvchX4biJJDNtc5hkKkrY,633
|
|
@@ -118,9 +118,9 @@ sqlframe/standalone/types.py,sha256=KwNyuXIo-2xVVd4bZED3YrQOobKCtemlxGrJL7DrTC8,
|
|
|
118
118
|
sqlframe/standalone/udf.py,sha256=azmgtUjHNIPs0WMVNId05SHwiYn41MKVBhKXsQJ5dmY,272
|
|
119
119
|
sqlframe/standalone/window.py,sha256=6GKPzuxeSapJakBaKBeT9VpED1ACdjggDv9JRILDyV0,35
|
|
120
120
|
sqlframe/testing/__init__.py,sha256=VVCosQhitU74A3NnE52O4mNtGZONapuEXcc20QmSlnQ,132
|
|
121
|
-
sqlframe/testing/utils.py,sha256=
|
|
122
|
-
sqlframe-3.
|
|
123
|
-
sqlframe-3.
|
|
124
|
-
sqlframe-3.
|
|
125
|
-
sqlframe-3.
|
|
126
|
-
sqlframe-3.
|
|
121
|
+
sqlframe/testing/utils.py,sha256=PFsGZpwNUE_4-g_f43_vstTqsK0AQ2lBneb5Eb6NkFo,13008
|
|
122
|
+
sqlframe-3.13.0.dist-info/LICENSE,sha256=VZu79YgW780qxaFJMr0t5ZgbOYEh04xWoxaWOaqIGWk,1068
|
|
123
|
+
sqlframe-3.13.0.dist-info/METADATA,sha256=ojHxGxwoZc-kduIGwSOuWHIMGtAqea0IKU6LXSNwdkM,9053
|
|
124
|
+
sqlframe-3.13.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
|
|
125
|
+
sqlframe-3.13.0.dist-info/top_level.txt,sha256=T0_RpoygaZSF6heeWwIDQgaP0varUdSK1pzjeJZRjM8,9
|
|
126
|
+
sqlframe-3.13.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|