sqlframe 3.11.0__tar.gz → 3.12.0__tar.gz

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.
Files changed (376) hide show
  1. {sqlframe-3.11.0 → sqlframe-3.12.0}/PKG-INFO +1 -1
  2. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/_version.py +2 -2
  3. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/dataframe.py +2 -2
  4. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/decorators.py +1 -1
  5. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/mixins/dataframe_mixins.py +3 -3
  6. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/operations.py +5 -5
  7. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/session.py +2 -2
  8. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/dataframe.py +2 -2
  9. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/dataframe.py +2 -2
  10. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/dataframe.py +2 -2
  11. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/dataframe.py +2 -2
  12. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/dataframe.py +2 -2
  13. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/dataframe.py +2 -2
  14. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/dataframe.py +2 -2
  15. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/dataframe.py +2 -2
  16. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/testing/utils.py +3 -3
  17. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe.egg-info/PKG-INFO +1 -1
  18. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_engine_dataframe.py +4 -4
  19. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_engine_writer.py +15 -17
  20. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_int_functions.py +2 -2
  21. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/fixtures.py +7 -7
  22. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/test_int_dataframe.py +95 -95
  23. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/test_int_dataframe_stats.py +4 -4
  24. {sqlframe-3.11.0 → sqlframe-3.12.0}/.github/CODEOWNERS +0 -0
  25. {sqlframe-3.11.0 → sqlframe-3.12.0}/.github/workflows/main.workflow.yaml +0 -0
  26. {sqlframe-3.11.0 → sqlframe-3.12.0}/.github/workflows/publish.workflow.yaml +0 -0
  27. {sqlframe-3.11.0 → sqlframe-3.12.0}/.gitignore +0 -0
  28. {sqlframe-3.11.0 → sqlframe-3.12.0}/.pre-commit-config.yaml +0 -0
  29. {sqlframe-3.11.0 → sqlframe-3.12.0}/.readthedocs.yaml +0 -0
  30. {sqlframe-3.11.0 → sqlframe-3.12.0}/LICENSE +0 -0
  31. {sqlframe-3.11.0 → sqlframe-3.12.0}/Makefile +0 -0
  32. {sqlframe-3.11.0 → sqlframe-3.12.0}/README.md +0 -0
  33. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/add_chatgpt_support.md +0 -0
  34. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
  35. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
  36. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
  37. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
  38. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
  39. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
  40. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
  41. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
  42. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/but_wait_theres_more.gif +0 -0
  43. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/cake.gif +0 -0
  44. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/images/you_get_pyspark_api.gif +0 -0
  45. {sqlframe-3.11.0 → sqlframe-3.12.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
  46. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/bigquery.md +0 -0
  47. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/configuration.md +0 -0
  48. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/databricks.md +0 -0
  49. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/bigquery.md +0 -0
  50. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/duckdb.md +0 -0
  51. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/images/SF.png +0 -0
  52. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/images/favicon.png +0 -0
  53. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/images/favicon_old.png +0 -0
  54. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/images/sqlframe_diagram.png +0 -0
  55. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/images/sqlframe_logo.png +0 -0
  56. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/docs/postgres.md +0 -0
  57. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/duckdb.md +0 -0
  58. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/images/SF.png +0 -0
  59. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/images/favicon.png +0 -0
  60. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/images/favicon_old.png +0 -0
  61. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/images/sqlframe_diagram.png +0 -0
  62. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/images/sqlframe_logo.png +0 -0
  63. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/index.md +0 -0
  64. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/postgres.md +0 -0
  65. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/redshift.md +0 -0
  66. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/requirements.txt +0 -0
  67. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/snowflake.md +0 -0
  68. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/spark.md +0 -0
  69. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/standalone.md +0 -0
  70. {sqlframe-3.11.0 → sqlframe-3.12.0}/docs/stylesheets/extra.css +0 -0
  71. {sqlframe-3.11.0 → sqlframe-3.12.0}/mkdocs.yml +0 -0
  72. {sqlframe-3.11.0 → sqlframe-3.12.0}/pytest.ini +0 -0
  73. {sqlframe-3.11.0 → sqlframe-3.12.0}/renovate.json +0 -0
  74. {sqlframe-3.11.0 → sqlframe-3.12.0}/setup.cfg +0 -0
  75. {sqlframe-3.11.0 → sqlframe-3.12.0}/setup.py +0 -0
  76. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/LICENSE +0 -0
  77. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/__init__.py +0 -0
  78. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/__init__.py +0 -0
  79. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/_typing.py +0 -0
  80. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/catalog.py +0 -0
  81. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/column.py +0 -0
  82. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/exceptions.py +0 -0
  83. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/function_alternatives.py +0 -0
  84. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/functions.py +0 -0
  85. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/group.py +0 -0
  86. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/mixins/__init__.py +0 -0
  87. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
  88. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
  89. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/normalize.py +0 -0
  90. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/readerwriter.py +0 -0
  91. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/transforms.py +0 -0
  92. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/types.py +0 -0
  93. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/udf.py +0 -0
  94. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/util.py +0 -0
  95. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/base/window.py +0 -0
  96. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/__init__.py +0 -0
  97. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/catalog.py +0 -0
  98. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/column.py +0 -0
  99. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/functions.py +0 -0
  100. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/functions.pyi +0 -0
  101. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/group.py +0 -0
  102. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/readwriter.py +0 -0
  103. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/session.py +0 -0
  104. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/types.py +0 -0
  105. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/udf.py +0 -0
  106. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/bigquery/window.py +0 -0
  107. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/__init__.py +0 -0
  108. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/catalog.py +0 -0
  109. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/column.py +0 -0
  110. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/functions.py +0 -0
  111. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/functions.pyi +0 -0
  112. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/group.py +0 -0
  113. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/readwriter.py +0 -0
  114. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/session.py +0 -0
  115. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/types.py +0 -0
  116. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/udf.py +0 -0
  117. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/databricks/window.py +0 -0
  118. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/__init__.py +0 -0
  119. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/catalog.py +0 -0
  120. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/column.py +0 -0
  121. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/functions.py +0 -0
  122. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/functions.pyi +0 -0
  123. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/group.py +0 -0
  124. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/readwriter.py +0 -0
  125. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/session.py +0 -0
  126. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/types.py +0 -0
  127. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/udf.py +0 -0
  128. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/duckdb/window.py +0 -0
  129. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/__init__.py +0 -0
  130. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/catalog.py +0 -0
  131. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/column.py +0 -0
  132. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/functions.py +0 -0
  133. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/functions.pyi +0 -0
  134. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/group.py +0 -0
  135. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/readwriter.py +0 -0
  136. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/session.py +0 -0
  137. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/types.py +0 -0
  138. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/udf.py +0 -0
  139. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/postgres/window.py +0 -0
  140. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/__init__.py +0 -0
  141. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/catalog.py +0 -0
  142. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/column.py +0 -0
  143. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/functions.py +0 -0
  144. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/group.py +0 -0
  145. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/readwriter.py +0 -0
  146. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/session.py +0 -0
  147. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/types.py +0 -0
  148. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/udf.py +0 -0
  149. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/redshift/window.py +0 -0
  150. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/__init__.py +0 -0
  151. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/catalog.py +0 -0
  152. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/column.py +0 -0
  153. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/functions.py +0 -0
  154. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/functions.pyi +0 -0
  155. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/group.py +0 -0
  156. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/readwriter.py +0 -0
  157. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/session.py +0 -0
  158. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/types.py +0 -0
  159. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/udf.py +0 -0
  160. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/snowflake/window.py +0 -0
  161. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/__init__.py +0 -0
  162. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/catalog.py +0 -0
  163. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/column.py +0 -0
  164. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/functions.py +0 -0
  165. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/functions.pyi +0 -0
  166. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/group.py +0 -0
  167. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/readwriter.py +0 -0
  168. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/session.py +0 -0
  169. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/types.py +0 -0
  170. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/udf.py +0 -0
  171. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/spark/window.py +0 -0
  172. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/__init__.py +0 -0
  173. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/catalog.py +0 -0
  174. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/column.py +0 -0
  175. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/functions.py +0 -0
  176. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/group.py +0 -0
  177. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/readwriter.py +0 -0
  178. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/session.py +0 -0
  179. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/types.py +0 -0
  180. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/udf.py +0 -0
  181. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/standalone/window.py +0 -0
  182. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe/testing/__init__.py +0 -0
  183. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe.egg-info/SOURCES.txt +0 -0
  184. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe.egg-info/dependency_links.txt +0 -0
  185. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe.egg-info/requires.txt +0 -0
  186. {sqlframe-3.11.0 → sqlframe-3.12.0}/sqlframe.egg-info/top_level.txt +0 -0
  187. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/__init__.py +0 -0
  188. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/common_fixtures.py +0 -0
  189. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/conftest.py +0 -0
  190. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee.csv +0 -0
  191. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee.json +0 -0
  192. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee.parquet +0 -0
  193. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
  194. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
  195. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
  196. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
  197. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
  198. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
  199. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
  200. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
  201. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
  202. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
  203. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
  204. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
  205. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
  206. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
  207. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/employee_extra_line.csv +0 -0
  208. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/issue_219.csv +0 -0
  209. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
  210. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
  211. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
  212. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
  213. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
  214. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
  215. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
  216. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
  217. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
  218. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
  219. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
  220. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
  221. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
  222. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
  223. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
  224. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
  225. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
  226. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
  227. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
  228. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
  229. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
  230. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
  231. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
  232. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
  233. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
  234. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
  235. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
  236. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
  237. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
  238. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
  239. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
  240. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
  241. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
  242. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
  243. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
  244. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
  245. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
  246. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
  247. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
  248. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
  249. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
  250. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
  251. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
  252. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
  253. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
  254. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
  255. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
  256. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
  257. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
  258. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
  259. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
  260. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
  261. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
  262. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
  263. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
  264. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
  265. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
  266. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
  267. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
  268. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
  269. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
  270. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
  271. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
  272. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
  273. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
  274. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
  275. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
  276. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
  277. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
  278. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
  279. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
  280. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
  281. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
  282. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
  283. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
  284. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
  285. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
  286. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
  287. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
  288. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
  289. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
  290. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
  291. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
  292. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
  293. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
  294. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
  295. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
  296. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
  297. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
  298. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
  299. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
  300. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
  301. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
  302. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
  303. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
  304. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
  305. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
  306. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
  307. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
  308. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/__init__.py +0 -0
  309. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/__init__.py +0 -0
  310. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/bigquery/__init__.py +0 -0
  311. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
  312. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
  313. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
  314. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/databricks/__init__.py +0 -0
  315. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
  316. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
  317. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
  318. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/__init__.py +0 -0
  319. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
  320. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
  321. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
  322. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
  323. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
  324. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
  325. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
  326. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/postgres/__init__.py +0 -0
  327. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
  328. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
  329. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
  330. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
  331. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/redshift/__init__.py +0 -0
  332. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
  333. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
  334. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/snowflake/__init__.py +0 -0
  335. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
  336. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
  337. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
  338. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/spark/__init__.py +0 -0
  339. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
  340. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
  341. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_engine_column.py +0 -0
  342. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_engine_reader.py +0 -0
  343. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_engine_session.py +0 -0
  344. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/engines/test_int_testing.py +0 -0
  345. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/test_int_grouped_data.py +0 -0
  346. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/integration/test_int_session.py +0 -0
  347. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/types.py +0 -0
  348. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/__init__.py +0 -0
  349. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/bigquery/__init__.py +0 -0
  350. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/bigquery/test_activate.py +0 -0
  351. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/conftest.py +0 -0
  352. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/databricks/__init__.py +0 -0
  353. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/databricks/test_activate.py +0 -0
  354. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/duck/__init__.py +0 -0
  355. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/duck/test_activate.py +0 -0
  356. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/postgres/__init__.py +0 -0
  357. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/postgres/test_activate.py +0 -0
  358. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/redshift/__init__.py +0 -0
  359. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/redshift/test_activate.py +0 -0
  360. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/snowflake/__init__.py +0 -0
  361. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/snowflake/test_activate.py +0 -0
  362. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/spark/__init__.py +0 -0
  363. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/spark/test_activate.py +0 -0
  364. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/__init__.py +0 -0
  365. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/fixtures.py +0 -0
  366. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_activate.py +0 -0
  367. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_column.py +0 -0
  368. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_dataframe.py +0 -0
  369. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
  370. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_functions.py +0 -0
  371. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_session.py +0 -0
  372. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
  373. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_types.py +0 -0
  374. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/standalone/test_window.py +0 -0
  375. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/test_activate.py +0 -0
  376. {sqlframe-3.11.0 → sqlframe-3.12.0}/tests/unit/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlframe
3
- Version: 3.11.0
3
+ Version: 3.12.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
@@ -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.12.0'
16
+ __version_tuple__ = version_tuple = (3, 12, 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
 
@@ -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",
@@ -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.12.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
@@ -5,12 +5,12 @@ import typing as t
5
5
  from sqlframe.base.types import Row
6
6
 
7
7
  if t.TYPE_CHECKING:
8
- from sqlframe.base.dataframe import _BaseDataFrame
8
+ from sqlframe.base.dataframe import BaseDataFrame
9
9
 
10
10
  pytest_plugins = ["tests.integration.fixtures"]
11
11
 
12
12
 
13
- def test_collect(get_engine_df: t.Callable[[str], _BaseDataFrame], get_func):
13
+ def test_collect(get_engine_df: t.Callable[[str], BaseDataFrame], get_func):
14
14
  employee = get_engine_df("employee")
15
15
  col = get_func("col", employee.session)
16
16
  results = employee.select(col("fname"), col("lname")).collect()
@@ -24,7 +24,7 @@ def test_collect(get_engine_df: t.Callable[[str], _BaseDataFrame], get_func):
24
24
 
25
25
 
26
26
  def test_show(
27
- get_engine_df: t.Callable[[str], _BaseDataFrame],
27
+ get_engine_df: t.Callable[[str], BaseDataFrame],
28
28
  get_func,
29
29
  capsys,
30
30
  caplog,
@@ -53,7 +53,7 @@ def test_show(
53
53
 
54
54
 
55
55
  def test_show_limit(
56
- get_engine_df: t.Callable[[str], _BaseDataFrame], capsys, is_snowflake: t.Callable
56
+ get_engine_df: t.Callable[[str], BaseDataFrame], capsys, is_snowflake: t.Callable
57
57
  ):
58
58
  employee = get_engine_df("employee")
59
59
  employee.show(1)
@@ -10,15 +10,15 @@ from sqlframe.base.types import Row
10
10
  from sqlframe.duckdb.session import DuckDBSession
11
11
 
12
12
  if t.TYPE_CHECKING:
13
- from sqlframe.base.dataframe import _BaseDataFrame
13
+ from sqlframe.base.dataframe import BaseDataFrame
14
14
 
15
15
  pytest_plugins = ["tests.integration.fixtures"]
16
16
 
17
17
 
18
18
  @pytest.fixture
19
19
  def cleanup_employee_df(
20
- get_engine_df: t.Callable[[str], _BaseDataFrame],
21
- ) -> t.Iterator[_BaseDataFrame]:
20
+ get_engine_df: t.Callable[[str], BaseDataFrame],
21
+ ) -> t.Iterator[BaseDataFrame]:
22
22
  df = get_engine_df("employee")
23
23
  df.session._execute("DROP TABLE IF EXISTS insert_into_employee")
24
24
  df.session._execute("DROP TABLE IF EXISTS save_as_table_employee")
@@ -27,7 +27,7 @@ def cleanup_employee_df(
27
27
  df.session._execute("DROP TABLE IF EXISTS save_as_table_employee")
28
28
 
29
29
 
30
- def test_write_json(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path):
30
+ def test_write_json(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
31
31
  df_employee = get_engine_df("employee")
32
32
  temp_json = str(tmp_path / "employee.json")
33
33
  df_employee.write.json(temp_json)
@@ -50,9 +50,7 @@ def test_write_json_append(get_session: t.Callable[[], _BaseSession], tmp_path:
50
50
  assert df_result.collect() == [Row(_1=1), Row(_1=2)]
51
51
 
52
52
 
53
- def test_write_json_ignore(
54
- get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path
55
- ):
53
+ def test_write_json_ignore(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
56
54
  df_employee = get_engine_df("employee")
57
55
  temp_json = tmp_path / "employee.json"
58
56
  temp_json.touch()
@@ -62,7 +60,7 @@ def test_write_json_ignore(
62
60
 
63
61
 
64
62
  def test_write_json_error(
65
- get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path, caplog
63
+ get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path, caplog
66
64
  ):
67
65
  df_employee = get_engine_df("employee")
68
66
  temp_json = tmp_path / "employee.json"
@@ -71,7 +69,7 @@ def test_write_json_error(
71
69
  df_employee.write.json(temp_json, mode="error")
72
70
 
73
71
 
74
- def test_write_parquet(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path):
72
+ def test_write_parquet(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
75
73
  df_employee = get_engine_df("employee")
76
74
  temp_parquet = str(tmp_path / "employee.parquet")
77
75
  df_employee.write.parquet(temp_parquet)
@@ -80,7 +78,7 @@ def test_write_parquet(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_pat
80
78
 
81
79
 
82
80
  def test_write_parquet_ignore(
83
- get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path
81
+ get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path
84
82
  ):
85
83
  df_employee = get_engine_df("employee")
86
84
  temp_parquet = str(tmp_path / "employee.parquet")
@@ -95,7 +93,7 @@ def test_write_parquet_ignore(
95
93
 
96
94
 
97
95
  def test_write_parquet_error(
98
- get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path, caplog
96
+ get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path, caplog
99
97
  ):
100
98
  df_employee = get_engine_df("employee")
101
99
  temp_parquet = tmp_path / "employee.parquet"
@@ -105,7 +103,7 @@ def test_write_parquet_error(
105
103
 
106
104
 
107
105
  def test_write_parquet_unsupported_modes(
108
- get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path
106
+ get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path
109
107
  ):
110
108
  df_employee = get_engine_df("employee")
111
109
  temp_json = tmp_path / "employee.parquet"
@@ -113,7 +111,7 @@ def test_write_parquet_unsupported_modes(
113
111
  df_employee.write.parquet(str(temp_json), mode="append")
114
112
 
115
113
 
116
- def test_write_csv(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path):
114
+ def test_write_csv(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
117
115
  df_employee = get_engine_df("employee")
118
116
  temp_csv = str(tmp_path / "employee.csv")
119
117
  df_employee.write.csv(temp_csv)
@@ -136,7 +134,7 @@ def test_write_csv_append(get_session: t.Callable[[], _BaseSession], tmp_path: p
136
134
  assert df_result.collect() == [Row(_1=1), Row(_1=2)]
137
135
 
138
136
 
139
- def test_write_csv_ignore(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path):
137
+ def test_write_csv_ignore(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
140
138
  df_employee = get_engine_df("employee")
141
139
  temp_csv = str(tmp_path / "employee.csv")
142
140
  df1 = df_employee.session.createDataFrame([(1,)])
@@ -150,7 +148,7 @@ def test_write_csv_ignore(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_
150
148
  assert df_result.collect() == df1.collect()
151
149
 
152
150
 
153
- def test_write_csv_error(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_path: pathlib.Path):
151
+ def test_write_csv_error(get_engine_df: t.Callable[[str], BaseDataFrame], tmp_path: pathlib.Path):
154
152
  df_employee = get_engine_df("employee")
155
153
  temp_csv = tmp_path / "employee.csv"
156
154
  temp_csv.touch()
@@ -158,14 +156,14 @@ def test_write_csv_error(get_engine_df: t.Callable[[str], _BaseDataFrame], tmp_p
158
156
  df_employee.write.json(temp_csv, mode="error")
159
157
 
160
158
 
161
- def test_save_as_table(cleanup_employee_df: _BaseDataFrame, caplog):
159
+ def test_save_as_table(cleanup_employee_df: BaseDataFrame, caplog):
162
160
  df_employee = cleanup_employee_df
163
161
  df_employee.write.saveAsTable("save_as_table_employee")
164
162
  df2 = df_employee.session.read.table("save_as_table_employee")
165
163
  assert sorted(df2.collect()) == sorted(df_employee.collect())
166
164
 
167
165
 
168
- def test_insertInto(cleanup_employee_df: _BaseDataFrame, caplog):
166
+ def test_insertInto(cleanup_employee_df: BaseDataFrame, caplog):
169
167
  df_employee = cleanup_employee_df
170
168
  df = df_employee.session.createDataFrame(
171
169
  [(9, "Sayid", "Jarrah", 40, 1)], ["id", "first_name", "last_name", "age", "store_id"]
@@ -25,7 +25,7 @@ from sqlframe.snowflake import SnowflakeSession
25
25
  from sqlframe.spark.session import SparkSession
26
26
 
27
27
  if t.TYPE_CHECKING:
28
- from sqlframe.base.dataframe import _BaseDataFrame
28
+ from sqlframe.base.dataframe import BaseDataFrame
29
29
 
30
30
  pytest_plugins = ["tests.integration.fixtures"]
31
31
 
@@ -33,7 +33,7 @@ pytest_plugins = ["tests.integration.fixtures"]
33
33
  class GetDfAndFuncCallable(t.Protocol):
34
34
  def __call__(
35
35
  self, name: str, limit: t.Optional[int] = None
36
- ) -> t.Tuple[_BaseDataFrame, t.Callable]: ...
36
+ ) -> t.Tuple[BaseDataFrame, t.Callable]: ...
37
37
 
38
38
 
39
39
  def get_func_from_session(name: str, session: t.Union[PySparkSession, _BaseSession]) -> t.Callable:
@@ -46,7 +46,7 @@ from sqlframe.standalone.dataframe import StandaloneDataFrame
46
46
  from sqlframe.standalone.session import StandaloneSession
47
47
 
48
48
  if t.TYPE_CHECKING:
49
- from sqlframe.base.dataframe import _BaseDataFrame
49
+ from sqlframe.base.dataframe import BaseDataFrame
50
50
  from sqlframe.base.session import _BaseSession
51
51
  from tests.types import DistrictData, EmployeeData, StoreData
52
52
 
@@ -650,14 +650,14 @@ def get_explain_plan() -> t.Callable:
650
650
 
651
651
 
652
652
  @pytest.fixture(params=ENGINE_PARAMETERS_NO_PYSPARK_STANDALONE)
653
- def get_engine_df(request: FixtureRequest) -> t.Callable[[str], _BaseDataFrame]:
653
+ def get_engine_df(request: FixtureRequest) -> t.Callable[[str], BaseDataFrame]:
654
654
  mapping = {
655
655
  "employee": f"{request.param}_employee",
656
656
  "store": f"{request.param}_store",
657
657
  "district": f"{request.param}_district",
658
658
  }
659
659
 
660
- def _get_engine_df(name: str) -> _BaseDataFrame:
660
+ def _get_engine_df(name: str) -> BaseDataFrame:
661
661
  return request.getfixturevalue(mapping[name])
662
662
 
663
663
  return _get_engine_df
@@ -672,14 +672,14 @@ def get_session(request: FixtureRequest) -> t.Callable[[], _BaseSession]:
672
672
 
673
673
 
674
674
  @pytest.fixture(params=ENGINE_PARAMETERS_NO_PYSPARK)
675
- def get_df(request: FixtureRequest) -> t.Callable[[str], _BaseDataFrame]:
675
+ def get_df(request: FixtureRequest) -> t.Callable[[str], BaseDataFrame]:
676
676
  mapping = {
677
677
  "employee": f"{request.param}_employee",
678
678
  "store": f"{request.param}_store",
679
679
  "district": f"{request.param}_district",
680
680
  }
681
681
 
682
- def _get_df(name: str) -> _BaseDataFrame:
682
+ def _get_df(name: str) -> BaseDataFrame:
683
683
  return request.getfixturevalue(mapping[name])
684
684
 
685
685
  return _get_df
@@ -698,14 +698,14 @@ def get_engine_session_and_spark(
698
698
  @pytest.fixture(params=ENGINE_PARAMETERS_NO_STANDALONE)
699
699
  def get_engine_df_and_pyspark(
700
700
  request: FixtureRequest,
701
- ) -> t.Callable[[str], t.Union[_BaseDataFrame, PySparkDataFrame]]:
701
+ ) -> t.Callable[[str], t.Union[BaseDataFrame, PySparkDataFrame]]:
702
702
  mapping = {
703
703
  "employee": f"{request.param}_employee",
704
704
  "store": f"{request.param}_store",
705
705
  "district": f"{request.param}_district",
706
706
  }
707
707
 
708
- def _get_engine_df_and_pyspark(name: str) -> t.Union[_BaseDataFrame, PySparkDataFrame]:
708
+ def _get_engine_df_and_pyspark(name: str) -> t.Union[BaseDataFrame, PySparkDataFrame]:
709
709
  return request.getfixturevalue(mapping[name])
710
710
 
711
711
  return _get_engine_df_and_pyspark