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 CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '3.11.0'
16
- __version_tuple__ = version_tuple = (3, 11, 0)
15
+ __version__ = version = '3.13.0'
16
+ __version_tuple__ = version_tuple = (3, 13, 0)
@@ -80,7 +80,7 @@ JOIN_HINTS = {
80
80
  }
81
81
 
82
82
 
83
- DF = t.TypeVar("DF", bound="_BaseDataFrame")
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 _BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
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]
@@ -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
- _BaseDataFrame,
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(_BaseDataFrame, t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
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
- _BaseDataFrame, t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]
37
+ BaseDataFrame, t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]
38
38
  ):
39
39
  @property
40
40
  def _typed_columns(self) -> t.List[Column]:
@@ -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 _BaseDataFrame
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: _BaseDataFrame, *args, **kwargs) -> _BaseDataFrame:
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[_BaseDataFrame, _BaseGroupedData] = func(self, *args, **kwargs)
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) -> _BaseDataFrame:
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: _BaseDataFrame = func(self, *args, **kwargs)
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 _BaseDataFrame
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=_BaseDataFrame)
67
+ DF = t.TypeVar("DF", bound=BaseDataFrame)
68
68
  UDF_REGISTRATION = t.TypeVar("UDF_REGISTRATION", bound=_BaseUDFRegistration)
69
69
 
70
70
  _MISSING = "MISSING"
@@ -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
- _BaseDataFrame,
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
- _BaseDataFrame[
33
+ BaseDataFrame[
34
34
  "BigQuerySession",
35
35
  "BigQueryDataFrameWriter",
36
36
  "BigQueryDataFrameNaFunctions",
@@ -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
- _BaseDataFrame,
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
- _BaseDataFrame[
34
+ BaseDataFrame[
35
35
  "DatabricksSession",
36
36
  "DatabricksDataFrameWriter",
37
37
  "DatabricksDataFrameNaFunctions",
@@ -4,7 +4,7 @@ import logging
4
4
  import typing as t
5
5
 
6
6
  from sqlframe.base.dataframe import (
7
- _BaseDataFrame,
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
- _BaseDataFrame[
37
+ BaseDataFrame[
38
38
  "DuckDBSession",
39
39
  "DuckDBDataFrameWriter",
40
40
  "DuckDBDataFrameNaFunctions",
@@ -5,7 +5,7 @@ import sys
5
5
  import typing as t
6
6
 
7
7
  from sqlframe.base.dataframe import (
8
- _BaseDataFrame,
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
- _BaseDataFrame[
42
+ BaseDataFrame[
43
43
  "PostgresSession",
44
44
  "PostgresDataFrameWriter",
45
45
  "PostgresDataFrameNaFunctions",
@@ -5,7 +5,7 @@ import sys
5
5
  import typing as t
6
6
 
7
7
  from sqlframe.base.dataframe import (
8
- _BaseDataFrame,
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
- _BaseDataFrame[
33
+ BaseDataFrame[
34
34
  "RedshiftSession",
35
35
  "RedshiftDataFrameWriter",
36
36
  "RedshiftDataFrameNaFunctions",
@@ -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
- _BaseDataFrame,
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
- _BaseDataFrame[
35
+ BaseDataFrame[
36
36
  "SnowflakeSession",
37
37
  "SnowflakeDataFrameWriter",
38
38
  "SnowflakeDataFrameNaFunctions",
@@ -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
- _BaseDataFrame,
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
- _BaseDataFrame[
34
+ BaseDataFrame[
35
35
  "SparkSession",
36
36
  "SparkDataFrameWriter",
37
37
  "SparkDataFrameNaFunctions",
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import typing as t
4
4
 
5
5
  from sqlframe.base.dataframe import (
6
- _BaseDataFrame,
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
- _BaseDataFrame[
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 _BaseDataFrame
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[_BaseDataFrame, pd.DataFrame, t.List[types.Row]],
68
- expected: t.Union[_BaseDataFrame, pd.DataFrame, t.List[types.Row]],
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.11.0
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.8
17
+ Requires-Python: >=3.9
18
18
  Description-Content-Type: text/markdown
19
19
  License-File: LICENSE
20
- Requires-Dist: prettytable (<3.12.1)
20
+ Requires-Dist: prettytable (<4)
21
21
  Requires-Dist: sqlglot (<26.1,>=24.0.0)
22
- Requires-Dist: typing-extensions (<5,>=4.8)
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 (<1.59,>=1.30) ; extra == 'dev'
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 (<1.59,>=1.30) ; extra == '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=Z5iBsE8_bDb3OhGab3H45AvoamqSK1GDc2TjC1P57Zk,413
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=ICW9eJElRsVIRutuu2aVJmP9k1n4oi6MfcLR0IrsBIs,74454
8
- sqlframe/base/decorators.py,sha256=V88u6IqGJwAxbovvnecYhcJd4Fm3adbrsIHGJCK9KdA,1873
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=-AhNuEzcV7ZExoP1oY3blaKip-joQyJeQVvfBTs_2g4,3456
14
+ sqlframe/base/operations.py,sha256=xSPw74e59wYvNd6U1AlwziNCTG6Aftrbl4SybN9u9VE,3450
15
15
  sqlframe/base/readerwriter.py,sha256=9cgOZuB3phZbQufY98JRDBVWRww3hsULc6Or1HK2Onk,26554
16
- sqlframe/base/session.py,sha256=egNJKc5h33eHP0yduFneQrzam2QY8jfYASIZWkn4h9k,25943
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=3MMQu2hdHG_qtDQ6jDHo0Iy5KtLj4lHePfovCVxTqbo,1411
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=Y2uy4FEYw0KxIHgnaA9uMwdIzxJzTlD_NSzIe7P7kxA,2405
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=HjRrTVMn_H6rVUn9aw3ub2njwhUYD2s9b9YqL1W2bCA,2179
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=HZg_uMAz4RsubZJT4-MslUQS_0-InF0_P5Yq5HyJ3wE,1708
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=f-w6UHxZtmeZ5oMbaqJaZ8FrYeOhzyveNlZOK57ke0k,1289
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=aTC0DOPDFwWH1_b9T0Pif80cYSGudIp0D-cmkR7Ci_M,1104
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=ANDZ5Dpxz-WTlTtmKNcv-nJlzTeTsAOK0X0gR2euPqQ,2144
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=_TD-h7oz0-i80r90v17UoLDoIzcGNchU2SL13ujOOic,1779
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=o6weWJvDX1w351p_14PQ52qopbPozVG9OFmhaqVvivU,967
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=9DDYVuocO7tygee3RaajuJNZ24sJwf_LY556kKg7kTw,13011
122
- sqlframe-3.11.0.dist-info/LICENSE,sha256=VZu79YgW780qxaFJMr0t5ZgbOYEh04xWoxaWOaqIGWk,1068
123
- sqlframe-3.11.0.dist-info/METADATA,sha256=7j9MWLtUciexElbMKIy9PWXXA6vhel-nnECFWAHhVKg,9188
124
- sqlframe-3.11.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
125
- sqlframe-3.11.0.dist-info/top_level.txt,sha256=T0_RpoygaZSF6heeWwIDQgaP0varUdSK1pzjeJZRjM8,9
126
- sqlframe-3.11.0.dist-info/RECORD,,
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,,