sqlframe 3.34.0__tar.gz → 3.35.1__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 (388) hide show
  1. {sqlframe-3.34.0 → sqlframe-3.35.1}/PKG-INFO +1 -1
  2. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/bigquery.md +1 -0
  3. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/duckdb.md +1 -0
  4. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/postgres.md +1 -0
  5. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/snowflake.md +1 -0
  6. {sqlframe-3.34.0 → sqlframe-3.35.1}/setup.py +3 -3
  7. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/_version.py +2 -2
  8. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/dataframe.py +46 -0
  9. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/function_alternatives.py +0 -56
  10. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/functions.py +3 -14
  11. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/types.py +4 -4
  12. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/session.py +1 -1
  13. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe.egg-info/PKG-INFO +1 -1
  14. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe.egg-info/requires.txt +3 -3
  15. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/test_int_dataframe.py +17 -0
  16. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_dataframe.py +24 -0
  17. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_types.py +7 -7
  18. {sqlframe-3.34.0 → sqlframe-3.35.1}/.github/CODEOWNERS +0 -0
  19. {sqlframe-3.34.0 → sqlframe-3.35.1}/.github/workflows/main.workflow.yaml +0 -0
  20. {sqlframe-3.34.0 → sqlframe-3.35.1}/.github/workflows/publish.workflow.yaml +0 -0
  21. {sqlframe-3.34.0 → sqlframe-3.35.1}/.gitignore +0 -0
  22. {sqlframe-3.34.0 → sqlframe-3.35.1}/.pre-commit-config.yaml +0 -0
  23. {sqlframe-3.34.0 → sqlframe-3.35.1}/.readthedocs.yaml +0 -0
  24. {sqlframe-3.34.0 → sqlframe-3.35.1}/LICENSE +0 -0
  25. {sqlframe-3.34.0 → sqlframe-3.35.1}/Makefile +0 -0
  26. {sqlframe-3.34.0 → sqlframe-3.35.1}/README.md +0 -0
  27. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/add_chatgpt_support.md +0 -0
  28. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
  29. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
  30. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
  31. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
  32. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
  33. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
  34. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
  35. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
  36. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/but_wait_theres_more.gif +0 -0
  37. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/cake.gif +0 -0
  38. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/images/you_get_pyspark_api.gif +0 -0
  39. {sqlframe-3.34.0 → sqlframe-3.35.1}/blogs/sqlframe_universal_dataframe_api.md +0 -0
  40. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/configuration.md +0 -0
  41. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/databricks.md +0 -0
  42. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/bigquery.md +0 -0
  43. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/duckdb.md +0 -0
  44. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/images/SF.png +0 -0
  45. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/images/favicon.png +0 -0
  46. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/images/sqlframe_logo.png +0 -0
  47. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/docs/postgres.md +0 -0
  48. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/images/SF.png +0 -0
  49. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/images/favicon.png +0 -0
  50. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/images/sqlframe_logo.png +0 -0
  51. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/index.md +0 -0
  52. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/redshift.md +0 -0
  53. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/requirements.txt +0 -0
  54. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/spark.md +0 -0
  55. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/standalone.md +0 -0
  56. {sqlframe-3.34.0 → sqlframe-3.35.1}/docs/stylesheets/extra.css +0 -0
  57. {sqlframe-3.34.0 → sqlframe-3.35.1}/mkdocs.yml +0 -0
  58. {sqlframe-3.34.0 → sqlframe-3.35.1}/pytest.ini +0 -0
  59. {sqlframe-3.34.0 → sqlframe-3.35.1}/renovate.json +0 -0
  60. {sqlframe-3.34.0 → sqlframe-3.35.1}/setup.cfg +0 -0
  61. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/LICENSE +0 -0
  62. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/__init__.py +0 -0
  63. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/__init__.py +0 -0
  64. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/_typing.py +0 -0
  65. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/catalog.py +0 -0
  66. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/column.py +0 -0
  67. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/decorators.py +0 -0
  68. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/exceptions.py +0 -0
  69. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/group.py +0 -0
  70. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/mixins/__init__.py +0 -0
  71. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/mixins/catalog_mixins.py +0 -0
  72. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
  73. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
  74. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/mixins/table_mixins.py +0 -0
  75. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/normalize.py +0 -0
  76. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/operations.py +0 -0
  77. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/readerwriter.py +0 -0
  78. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/session.py +0 -0
  79. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/table.py +0 -0
  80. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/transforms.py +0 -0
  81. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/udf.py +0 -0
  82. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/util.py +0 -0
  83. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/base/window.py +0 -0
  84. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/__init__.py +0 -0
  85. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/catalog.py +0 -0
  86. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/column.py +0 -0
  87. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/dataframe.py +0 -0
  88. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/functions.py +0 -0
  89. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/functions.pyi +0 -0
  90. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/group.py +0 -0
  91. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/readwriter.py +0 -0
  92. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/table.py +0 -0
  93. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/types.py +0 -0
  94. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/udf.py +0 -0
  95. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/bigquery/window.py +0 -0
  96. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/__init__.py +0 -0
  97. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/catalog.py +0 -0
  98. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/column.py +0 -0
  99. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/dataframe.py +0 -0
  100. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/functions.py +0 -0
  101. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/functions.pyi +0 -0
  102. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/group.py +0 -0
  103. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/readwriter.py +0 -0
  104. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/session.py +0 -0
  105. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/table.py +0 -0
  106. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/types.py +0 -0
  107. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/udf.py +0 -0
  108. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/databricks/window.py +0 -0
  109. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/__init__.py +0 -0
  110. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/catalog.py +0 -0
  111. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/column.py +0 -0
  112. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/dataframe.py +0 -0
  113. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/functions.py +0 -0
  114. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/functions.pyi +0 -0
  115. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/group.py +0 -0
  116. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/readwriter.py +0 -0
  117. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/session.py +0 -0
  118. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/table.py +0 -0
  119. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/types.py +0 -0
  120. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/udf.py +0 -0
  121. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/duckdb/window.py +0 -0
  122. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/__init__.py +0 -0
  123. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/catalog.py +0 -0
  124. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/column.py +0 -0
  125. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/dataframe.py +0 -0
  126. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/functions.py +0 -0
  127. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/functions.pyi +0 -0
  128. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/group.py +0 -0
  129. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/readwriter.py +0 -0
  130. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/session.py +0 -0
  131. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/table.py +0 -0
  132. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/types.py +0 -0
  133. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/udf.py +0 -0
  134. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/postgres/window.py +0 -0
  135. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/py.typed +0 -0
  136. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/__init__.py +0 -0
  137. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/catalog.py +0 -0
  138. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/column.py +0 -0
  139. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/dataframe.py +0 -0
  140. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/functions.py +0 -0
  141. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/group.py +0 -0
  142. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/readwriter.py +0 -0
  143. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/session.py +0 -0
  144. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/table.py +0 -0
  145. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/types.py +0 -0
  146. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/udf.py +0 -0
  147. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/redshift/window.py +0 -0
  148. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/__init__.py +0 -0
  149. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/catalog.py +0 -0
  150. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/column.py +0 -0
  151. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/dataframe.py +0 -0
  152. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/functions.py +0 -0
  153. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/functions.pyi +0 -0
  154. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/group.py +0 -0
  155. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/readwriter.py +0 -0
  156. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/session.py +0 -0
  157. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/table.py +0 -0
  158. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/types.py +0 -0
  159. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/udf.py +0 -0
  160. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/snowflake/window.py +0 -0
  161. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/__init__.py +0 -0
  162. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/catalog.py +0 -0
  163. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/column.py +0 -0
  164. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/dataframe.py +0 -0
  165. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/functions.py +0 -0
  166. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/functions.pyi +0 -0
  167. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/group.py +0 -0
  168. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/readwriter.py +0 -0
  169. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/session.py +0 -0
  170. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/table.py +0 -0
  171. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/types.py +0 -0
  172. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/udf.py +0 -0
  173. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/spark/window.py +0 -0
  174. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/__init__.py +0 -0
  175. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/catalog.py +0 -0
  176. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/column.py +0 -0
  177. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/dataframe.py +0 -0
  178. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/functions.py +0 -0
  179. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/group.py +0 -0
  180. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/readwriter.py +0 -0
  181. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/session.py +0 -0
  182. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/table.py +0 -0
  183. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/types.py +0 -0
  184. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/udf.py +0 -0
  185. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/standalone/window.py +0 -0
  186. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/testing/__init__.py +0 -0
  187. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe/testing/utils.py +0 -0
  188. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe.egg-info/SOURCES.txt +0 -0
  189. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe.egg-info/dependency_links.txt +0 -0
  190. {sqlframe-3.34.0 → sqlframe-3.35.1}/sqlframe.egg-info/top_level.txt +0 -0
  191. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/__init__.py +0 -0
  192. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/common_fixtures.py +0 -0
  193. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/conftest.py +0 -0
  194. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee.csv +0 -0
  195. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee.json +0 -0
  196. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee.parquet +0 -0
  197. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
  198. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
  199. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
  200. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
  201. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
  202. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
  203. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
  204. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
  205. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
  206. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
  207. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
  208. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
  209. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
  210. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
  211. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/employee_extra_line.csv +0 -0
  212. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/issue_219.csv +0 -0
  213. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds1.sql +0 -0
  214. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds10.sql +0 -0
  215. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds11.sql +0 -0
  216. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds12.sql +0 -0
  217. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds13.sql +0 -0
  218. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds14.sql +0 -0
  219. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds15.sql +0 -0
  220. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds16.sql +0 -0
  221. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds17.sql +0 -0
  222. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds18.sql +0 -0
  223. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds19.sql +0 -0
  224. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds2.sql +0 -0
  225. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds20.sql +0 -0
  226. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds21.sql +0 -0
  227. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds22.sql +0 -0
  228. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds23.sql +0 -0
  229. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds24.sql +0 -0
  230. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds25.sql +0 -0
  231. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds26.sql +0 -0
  232. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds27.sql +0 -0
  233. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds28.sql +0 -0
  234. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds29.sql +0 -0
  235. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds3.sql +0 -0
  236. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds30.sql +0 -0
  237. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds31.sql +0 -0
  238. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds32.sql +0 -0
  239. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds33.sql +0 -0
  240. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds34.sql +0 -0
  241. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds35.sql +0 -0
  242. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds36.sql +0 -0
  243. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds37.sql +0 -0
  244. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds38.sql +0 -0
  245. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds39.sql +0 -0
  246. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds4.sql +0 -0
  247. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds40.sql +0 -0
  248. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds41.sql +0 -0
  249. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds42.sql +0 -0
  250. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds43.sql +0 -0
  251. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds44.sql +0 -0
  252. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds45.sql +0 -0
  253. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds46.sql +0 -0
  254. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds47.sql +0 -0
  255. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds48.sql +0 -0
  256. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds49.sql +0 -0
  257. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds5.sql +0 -0
  258. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds50.sql +0 -0
  259. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds51.sql +0 -0
  260. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds52.sql +0 -0
  261. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds53.sql +0 -0
  262. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds54.sql +0 -0
  263. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds55.sql +0 -0
  264. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds56.sql +0 -0
  265. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds57.sql +0 -0
  266. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds58.sql +0 -0
  267. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds59.sql +0 -0
  268. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds6.sql +0 -0
  269. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds60.sql +0 -0
  270. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds61.sql +0 -0
  271. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds62.sql +0 -0
  272. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds63.sql +0 -0
  273. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds64.sql +0 -0
  274. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds65.sql +0 -0
  275. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds66.sql +0 -0
  276. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds67.sql +0 -0
  277. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds68.sql +0 -0
  278. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds69.sql +0 -0
  279. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds7.sql +0 -0
  280. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds70.sql +0 -0
  281. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds71.sql +0 -0
  282. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds72.sql +0 -0
  283. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds73.sql +0 -0
  284. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds74.sql +0 -0
  285. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds75.sql +0 -0
  286. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds76.sql +0 -0
  287. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds77.sql +0 -0
  288. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds78.sql +0 -0
  289. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds79.sql +0 -0
  290. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds8.sql +0 -0
  291. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds80.sql +0 -0
  292. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds81.sql +0 -0
  293. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds82.sql +0 -0
  294. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds83.sql +0 -0
  295. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds84.sql +0 -0
  296. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds85.sql +0 -0
  297. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds86.sql +0 -0
  298. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds87.sql +0 -0
  299. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds88.sql +0 -0
  300. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds89.sql +0 -0
  301. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds9.sql +0 -0
  302. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds90.sql +0 -0
  303. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds91.sql +0 -0
  304. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds92.sql +0 -0
  305. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds93.sql +0 -0
  306. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds94.sql +0 -0
  307. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds95.sql +0 -0
  308. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds96.sql +0 -0
  309. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds97.sql +0 -0
  310. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds98.sql +0 -0
  311. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/fixtures/tpcds/tpcds99.sql +0 -0
  312. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/__init__.py +0 -0
  313. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/__init__.py +0 -0
  314. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/bigquery/__init__.py +0 -0
  315. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
  316. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
  317. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
  318. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/databricks/__init__.py +0 -0
  319. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
  320. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
  321. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
  322. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/__init__.py +0 -0
  323. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
  324. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
  325. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
  326. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
  327. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
  328. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
  329. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/duck/test_tpcds.py +0 -0
  330. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/postgres/__init__.py +0 -0
  331. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
  332. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
  333. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
  334. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
  335. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/redshift/__init__.py +0 -0
  336. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
  337. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
  338. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/snowflake/__init__.py +0 -0
  339. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
  340. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
  341. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
  342. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/spark/__init__.py +0 -0
  343. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
  344. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
  345. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_column.py +0 -0
  346. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_dataframe.py +0 -0
  347. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_reader.py +0 -0
  348. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_session.py +0 -0
  349. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_table.py +0 -0
  350. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_engine_writer.py +0 -0
  351. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_int_functions.py +0 -0
  352. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/engines/test_int_testing.py +0 -0
  353. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/fixtures.py +0 -0
  354. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/test_int_dataframe_stats.py +0 -0
  355. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/test_int_grouped_data.py +0 -0
  356. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/integration/test_int_session.py +0 -0
  357. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/types.py +0 -0
  358. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/__init__.py +0 -0
  359. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/bigquery/__init__.py +0 -0
  360. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/bigquery/test_activate.py +0 -0
  361. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/conftest.py +0 -0
  362. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/databricks/__init__.py +0 -0
  363. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/databricks/test_activate.py +0 -0
  364. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/duck/__init__.py +0 -0
  365. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/duck/test_activate.py +0 -0
  366. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/duck/test_reader_options.py +0 -0
  367. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/postgres/__init__.py +0 -0
  368. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/postgres/test_activate.py +0 -0
  369. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/redshift/__init__.py +0 -0
  370. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/redshift/test_activate.py +0 -0
  371. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/snowflake/__init__.py +0 -0
  372. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/snowflake/test_activate.py +0 -0
  373. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/spark/__init__.py +0 -0
  374. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/spark/test_activate.py +0 -0
  375. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/spark/test_reader_options.py +0 -0
  376. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/__init__.py +0 -0
  377. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/fixtures.py +0 -0
  378. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_activate.py +0 -0
  379. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_column.py +0 -0
  380. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_dataframe_writer.py +0 -0
  381. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_functions.py +0 -0
  382. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_session.py +0 -0
  383. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
  384. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/standalone/test_window.py +0 -0
  385. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/test_activate.py +0 -0
  386. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/test_base_reader_options.py +0 -0
  387. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/test_catalog.py +0 -0
  388. {sqlframe-3.34.0 → sqlframe-3.35.1}/tests/unit/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlframe
3
- Version: 3.34.0
3
+ Version: 3.35.1
4
4
  Summary: Turning PySpark Into a Universal DataFrame API
5
5
  Home-page: https://github.com/eakmanrq/sqlframe
6
6
  Author: Ryan Eakman
@@ -295,6 +295,7 @@ See something that you would like to see supported? [Open an issue](https://gith
295
295
  * [where](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.where.html)
296
296
  * [withColumn](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumn.html)
297
297
  * [withColumnRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnRenamed.html)
298
+ * [withColumnsRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnsRenamed.html)
298
299
  * [write](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.write.html)
299
300
 
300
301
  ### Functions
@@ -260,6 +260,7 @@ See something that you would like to see supported? [Open an issue](https://gith
260
260
  * [where](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.where.html)
261
261
  * [withColumn](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumn.html)
262
262
  * [withColumnRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnRenamed.html)
263
+ * [withColumnsRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnsRenamed.html)
263
264
  * [write](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.write.html)
264
265
 
265
266
  ### Functions
@@ -273,6 +273,7 @@ See something that you would like to see supported? [Open an issue](https://gith
273
273
  * [where](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.where.html)
274
274
  * [withColumn](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumn.html)
275
275
  * [withColumnRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnRenamed.html)
276
+ * [withColumnsRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnsRenamed.html)
276
277
  * [write](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.write.html)
277
278
 
278
279
  ### Functions
@@ -290,6 +290,7 @@ See something that you would like to see supported? [Open an issue](https://gith
290
290
  * [where](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.where.html)
291
291
  * [withColumn](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumn.html)
292
292
  * [withColumnRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnRenamed.html)
293
+ * [withColumnsRenamed](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.withColumnsRenamed.html)
293
294
  * [write](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.DataFrame.write.html)
294
295
 
295
296
  ### Functions
@@ -20,7 +20,7 @@ setup(
20
20
  python_requires=">=3.9",
21
21
  install_requires=[
22
22
  "prettytable<4",
23
- "sqlglot>=24.0.0,<26.22",
23
+ "sqlglot>=24.0.0,<26.26",
24
24
  "typing_extensions",
25
25
  ],
26
26
  extras_require={
@@ -31,14 +31,14 @@ setup(
31
31
  "dev": [
32
32
  "duckdb>=1.2,<1.4",
33
33
  "findspark>=2,<3",
34
- "mypy>=1.10.0,<1.16",
34
+ "mypy>=1.10.0,<1.17",
35
35
  "openai>=1.30,<2",
36
36
  "pandas>=2,<3",
37
37
  "pandas-stubs>=2,<3",
38
38
  "psycopg>=3.1,<4",
39
39
  "pyarrow>=10,<21",
40
40
  "pyspark>=2,<3.6",
41
- "pytest>=8.2.0,<8.4",
41
+ "pytest>=8.2.0,<8.5",
42
42
  "pytest-forked",
43
43
  "pytest-postgresql>=6,<8",
44
44
  "pytest-xdist>=3.6,<3.8",
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '3.34.0'
21
- __version_tuple__ = version_tuple = (3, 34, 0)
20
+ __version__ = version = '3.35.1'
21
+ __version_tuple__ = version_tuple = (3, 35, 1)
@@ -1524,6 +1524,52 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
1524
1524
  raise ValueError("Tried to rename a column that doesn't exist")
1525
1525
  return self.select.__wrapped__(self, *results, skip_update_display_name_mapping=True) # type: ignore
1526
1526
 
1527
+ @operation(Operation.SELECT)
1528
+ def withColumnsRenamed(self, colsMap: t.Dict[str, str]) -> Self:
1529
+ """
1530
+ Returns a new :class:`DataFrame` by renaming multiple columns. If a non-existing column is
1531
+ provided, it will be silently ignored.
1532
+
1533
+ .. versionadded:: 3.5.0
1534
+
1535
+ Parameters
1536
+ ----------
1537
+ colsMap : dict
1538
+ a dict of column name and new column name.
1539
+
1540
+ Returns
1541
+ -------
1542
+ :class:`DataFrame`
1543
+ DataFrame with renamed columns.
1544
+
1545
+ Examples
1546
+ --------
1547
+ >>> df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
1548
+ >>> df.withColumnsRenamed({"age": "years", "name": "firstName"}).show()
1549
+ +-----+---------+
1550
+ |years|firstName|
1551
+ +-----+---------+
1552
+ | 2| Alice|
1553
+ | 5| Bob|
1554
+ +-----+---------+
1555
+ """
1556
+ expression = self.expression.copy()
1557
+ columns = self._get_outer_select_columns(expression)
1558
+ results = []
1559
+
1560
+ # Normalize the keys in colsMap
1561
+ normalized_cols_map = {self.session._normalize_string(k): v for k, v in colsMap.items()}
1562
+
1563
+ for column in columns:
1564
+ col_name = column.alias_or_name
1565
+ if col_name in normalized_cols_map:
1566
+ new_name = normalized_cols_map[col_name]
1567
+ column = column.alias(new_name)
1568
+ self._update_display_name_mapping([column], [new_name])
1569
+ results.append(column)
1570
+
1571
+ return self.select.__wrapped__(self, *results, skip_update_display_name_mapping=True) # type: ignore
1572
+
1527
1573
  @operation(Operation.SELECT)
1528
1574
  def withColumns(self, *colsMap: t.Dict[str, Column]) -> Self:
1529
1575
  """
@@ -999,27 +999,6 @@ def element_at_using_brackets(col: ColumnOrName, value: ColumnOrLiteral) -> Colu
999
999
  )
1000
1000
 
1001
1001
 
1002
- def array_remove_using_filter(col: ColumnOrName, value: ColumnOrLiteral) -> Column:
1003
- lit = get_func_from_session("lit")
1004
- col_func = get_func_from_session("col")
1005
-
1006
- value = value if isinstance(value, Column) else lit(value)
1007
- return Column(
1008
- expression.Anonymous(
1009
- this="LIST_FILTER",
1010
- expressions=[
1011
- col_func(col).column_expression,
1012
- expression.Lambda(
1013
- this=expression.NEQ(
1014
- this=expression.Identifier(this="x"), expression=value.column_expression
1015
- ),
1016
- expressions=[expression.Identifier(this="x")],
1017
- ),
1018
- ],
1019
- )
1020
- )
1021
-
1022
-
1023
1002
  def array_union_using_list_concat(col1: ColumnOrName, col2: ColumnOrName) -> Column:
1024
1003
  col_func = get_func_from_session("col")
1025
1004
 
@@ -1664,41 +1643,6 @@ def array_position_bgutil(col: ColumnOrName, value: ColumnOrLiteral) -> Column:
1664
1643
  )
1665
1644
 
1666
1645
 
1667
- def array_remove_bgutil(col: ColumnOrName, value: ColumnOrLiteral) -> Column:
1668
- lit = get_func_from_session("lit")
1669
-
1670
- value_col = value if isinstance(value, Column) else lit(value)
1671
-
1672
- filter_subquery = expression.select(
1673
- "*",
1674
- ).from_(
1675
- expression.Unnest(
1676
- expressions=[Column.ensure_col(col).column_expression],
1677
- alias=expression.TableAlias(
1678
- columns=[expression.to_identifier("x")],
1679
- ),
1680
- )
1681
- )
1682
-
1683
- agg_subquery = (
1684
- expression.select(
1685
- expression.Anonymous(
1686
- this="ARRAY_AGG",
1687
- expressions=[expression.column("x")],
1688
- ),
1689
- )
1690
- .from_(filter_subquery.subquery("t"))
1691
- .where(
1692
- expression.NEQ(
1693
- this=expression.column("x", "t"),
1694
- expression=value_col.column_expression,
1695
- )
1696
- )
1697
- )
1698
-
1699
- return Column(agg_subquery.subquery())
1700
-
1701
-
1702
1646
  def array_distinct_bgutil(col: ColumnOrName) -> Column:
1703
1647
  return Column(
1704
1648
  expression.Anonymous(
@@ -2268,21 +2268,10 @@ def element_at(col: ColumnOrName, value: ColumnOrLiteral) -> Column:
2268
2268
 
2269
2269
  @meta()
2270
2270
  def array_remove(col: ColumnOrName, value: ColumnOrLiteral) -> Column:
2271
- from sqlframe.base.function_alternatives import (
2272
- array_remove_bgutil,
2273
- array_remove_using_filter,
2274
- )
2275
-
2276
- session = _get_session()
2277
-
2278
- if session._is_bigquery:
2279
- return array_remove_bgutil(col, value)
2280
-
2281
- if session._is_duckdb:
2282
- return array_remove_using_filter(col, value)
2283
-
2284
2271
  value_col = value if isinstance(value, Column) else lit(value)
2285
- return Column.invoke_anonymous_function(col, "ARRAY_REMOVE", value_col)
2272
+ return Column.invoke_expression_over_column(
2273
+ col, expression.ArrayRemove, expression=value_col.column_expression
2274
+ )
2286
2275
 
2287
2276
 
2288
2277
  @meta(unsupported_engines="postgres")
@@ -104,22 +104,22 @@ class FloatType(DataType):
104
104
 
105
105
 
106
106
  class ByteType(DataType):
107
- def __str__(self) -> str:
107
+ def simpleString(self) -> str:
108
108
  return "tinyint"
109
109
 
110
110
 
111
111
  class IntegerType(DataType):
112
- def __str__(self) -> str:
112
+ def simpleString(self) -> str:
113
113
  return "int"
114
114
 
115
115
 
116
116
  class LongType(DataType):
117
- def __str__(self) -> str:
117
+ def simpleString(self) -> str:
118
118
  return "bigint"
119
119
 
120
120
 
121
121
  class ShortType(DataType):
122
- def __str__(self) -> str:
122
+ def simpleString(self) -> str:
123
123
  return "smallint"
124
124
 
125
125
 
@@ -51,7 +51,7 @@ class BigQuerySession(
51
51
  super().__init__(conn or connect())
52
52
  if self._client.default_query_job_config is None:
53
53
  self._client.default_query_job_config = bigquery.QueryJobConfig()
54
- self.default_dataset = default_dataset
54
+ self.default_dataset = default_dataset # type: ignore
55
55
 
56
56
  @property
57
57
  def _client(self) -> BigQueryClient:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlframe
3
- Version: 3.34.0
3
+ Version: 3.35.1
4
4
  Summary: Turning PySpark Into a Universal DataFrame API
5
5
  Home-page: https://github.com/eakmanrq/sqlframe
6
6
  Author: Ryan Eakman
@@ -1,5 +1,5 @@
1
1
  prettytable<4
2
- sqlglot<26.22,>=24.0.0
2
+ sqlglot<26.26,>=24.0.0
3
3
  typing_extensions
4
4
 
5
5
  [bigquery]
@@ -12,7 +12,7 @@ databricks-sql-connector[pyarrow]<5,>=3.6
12
12
  [dev]
13
13
  duckdb<1.4,>=1.2
14
14
  findspark<3,>=2
15
- mypy<1.16,>=1.10.0
15
+ mypy<1.17,>=1.10.0
16
16
  openai<2,>=1.30
17
17
  pandas-stubs<3,>=2
18
18
  pandas<3,>=2
@@ -23,7 +23,7 @@ pyspark<3.6,>=2
23
23
  pytest-forked
24
24
  pytest-postgresql<8,>=6
25
25
  pytest-xdist<3.8,>=3.6
26
- pytest<8.4,>=8.2.0
26
+ pytest<8.5,>=8.2.0
27
27
  ruff<0.12,>=0.4.4
28
28
  types-psycopg2<3,>=2.9
29
29
 
@@ -1835,6 +1835,23 @@ def test_with_columns_reference_another(
1835
1835
  compare_frames(df, dfs)
1836
1836
 
1837
1837
 
1838
+ def test_with_columns_renamed(
1839
+ pyspark_employee: PySparkDataFrame,
1840
+ get_df: t.Callable[[str], BaseDataFrame],
1841
+ compare_frames: t.Callable,
1842
+ ):
1843
+ employee = get_df("employee")
1844
+ df = pyspark_employee.withColumnsRenamed(
1845
+ {"fname": "first_name", "lname": "last_name", "nonexistent_col": "new_name"}
1846
+ )
1847
+
1848
+ dfs = employee.withColumnsRenamed(
1849
+ {"fname": "first_name", "lname": "last_name", "nonexistent_col": "new_name"}
1850
+ )
1851
+
1852
+ compare_frames(df, dfs)
1853
+
1854
+
1838
1855
  def test_drop_column_single(
1839
1856
  pyspark_employee: PySparkDataFrame,
1840
1857
  get_df: t.Callable[[str], BaseDataFrame],
@@ -76,6 +76,30 @@ def test_with_columns(standalone_employee: StandaloneDataFrame):
76
76
  )
77
77
 
78
78
 
79
+ def test_with_columns_renamed(standalone_employee: StandaloneDataFrame):
80
+ df = standalone_employee.withColumnsRenamed(
81
+ {"fname": "first_name", "lname": "last_name", "nonexistent_col": "new_name"}
82
+ )
83
+ assert df.columns == [
84
+ "employee_id",
85
+ "first_name",
86
+ "last_name",
87
+ "age",
88
+ "store_id",
89
+ ]
90
+ assert (
91
+ df.sql(pretty=False)
92
+ == "SELECT `a1`.`employee_id` AS `employee_id`, CAST(`a1`.`fname` AS STRING) AS `first_name`, CAST(`a1`.`lname` AS STRING) AS `last_name`, `a1`.`age` AS `age`, `a1`.`store_id` AS `store_id` FROM VALUES (1, 'Jack', 'Shephard', 37, 1), (2, 'John', 'Locke', 65, 1), (3, 'Kate', 'Austen', 37, 2), (4, 'Claire', 'Littleton', 27, 2), (5, 'Hugo', 'Reyes', 29, 100) AS `a1`(`employee_id`, `fname`, `lname`, `age`, `store_id`)"
93
+ )
94
+
95
+
96
+ def test_with_columns_renamed_nonexistent(standalone_employee: StandaloneDataFrame):
97
+ # Test that non-existent columns are silently ignored
98
+ df = standalone_employee.withColumnsRenamed({"nonexistent_col": "new_name"})
99
+ # Verify that the DataFrame columns remain unchanged
100
+ assert df.columns == ["employee_id", "fname", "lname", "age", "store_id"]
101
+
102
+
79
103
  def test_transform(standalone_employee: StandaloneDataFrame):
80
104
  def cast_all_to_int(input_df):
81
105
  return input_df.select([F.col(col_name).cast("int") for col_name in input_df.columns])
@@ -17,12 +17,12 @@ from sqlframe.standalone import types
17
17
  (types.DecimalType(10, 3), "decimal(10, 3)"),
18
18
  (types.DoubleType(), "double"),
19
19
  (types.FloatType(), "float"),
20
- (types.ByteType(), "byte"),
21
- (types.IntegerType(), "integer"),
22
- (types.LongType(), "long"),
23
- (types.ShortType(), "short"),
24
- (types.ArrayType(types.IntegerType()), "array<integer>"),
25
- (types.MapType(types.IntegerType(), types.StringType()), "map<integer, string>"),
20
+ (types.ByteType(), "tinyint"),
21
+ (types.IntegerType(), "int"),
22
+ (types.LongType(), "bigint"),
23
+ (types.ShortType(), "smallint"),
24
+ (types.ArrayType(types.IntegerType()), "array<int>"),
25
+ (types.MapType(types.IntegerType(), types.StringType()), "map<int, string>"),
26
26
  (
27
27
  types.StructType(
28
28
  [
@@ -30,7 +30,7 @@ from sqlframe.standalone import types
30
30
  types.StructField("colb", types.StringType()),
31
31
  ]
32
32
  ),
33
- "struct<cola:integer, colb:string>",
33
+ "struct<cola:int, colb:string>",
34
34
  ),
35
35
  ],
36
36
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes