sqlframe 3.41.0__tar.gz → 3.43.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.
- {sqlframe-3.41.0 → sqlframe-3.43.0}/PKG-INFO +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/bigquery.md +1 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/duckdb.md +4 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/snowflake.md +1 -0
- sqlframe-3.43.0/mypy.ini +13 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/setup.py +3 -3
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/_version.py +3 -3
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/dataframe.py +27 -3
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/functions.py +34 -13
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/session.py +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/dataframe.py +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe.egg-info/SOURCES.txt +1 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe.egg-info/requires.txt +3 -3
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_session.py +1 -1
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/test_int_dataframe.py +67 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.gitignore +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/LICENSE +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/Makefile +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/README.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/configuration.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/databricks.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/images/SF.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/index.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/postgres.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/redshift.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/requirements.txt +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/spark.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/standalone.md +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/mkdocs.yml +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/pytest.ini +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/renovate.json +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/setup.cfg +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/py.typed +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/conftest.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/netflix_daily_top_10.parquet +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_int_functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/duck/test_reader_options.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/spark/test_reader_options.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/test_base_reader_options.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/test_catalog.py +0 -0
- {sqlframe-3.41.0 → sqlframe-3.43.0}/tests/unit/test_util.py +0 -0
@@ -526,6 +526,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
526
526
|
* [to_date](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_date.html)
|
527
527
|
* [to_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html)
|
528
528
|
* [to_timestamp_ntz](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp_ntz.html)
|
529
|
+
* [transform](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.transform.html)
|
529
530
|
* [translate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.translate.html)
|
530
531
|
* [trim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trim.html)
|
531
532
|
* [trunc](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trunc.html)
|
@@ -268,6 +268,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
268
268
|
* [abs](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.abs.html)
|
269
269
|
* [acos](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.acos.html)
|
270
270
|
* [add_months](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.add_months.html)
|
271
|
+
* [aggregate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.aggregate.html)
|
271
272
|
* [any_value](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.any_value.html)
|
272
273
|
* Always ignores nulls
|
273
274
|
* [approxCountDistinct](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.approxCountDistinct.html)
|
@@ -380,6 +381,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
380
381
|
* Uses a different hash algorithm than Spark
|
381
382
|
* [hex](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.hex.html)
|
382
383
|
* [hour](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.hour.html)
|
384
|
+
* [initcap](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.initcap.html)
|
383
385
|
* [input_file_name](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.input_file_name.html)
|
384
386
|
* [instr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.instr.html)
|
385
387
|
* [isnan](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.isnan.html)
|
@@ -433,6 +435,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
433
435
|
* [radians](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.radians.html)
|
434
436
|
* [rand](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.rand.html)
|
435
437
|
* [rank](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.rank.html)
|
438
|
+
* [reduce](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.reduce.html)
|
436
439
|
* [regexp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp.html)
|
437
440
|
* [regexp_extract](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract.html)
|
438
441
|
* [regexp_extract_all](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract_all.html)
|
@@ -484,6 +487,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
484
487
|
* [to_timestamp_ntz](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp_ntz.html)
|
485
488
|
* [to_unix_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_unix_timestamp.html)
|
486
489
|
* The values must match the format string (null will not be returned if they do not)
|
490
|
+
* [transform](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.transform.html)
|
487
491
|
* [translate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.translate.html)
|
488
492
|
* [trim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trim.html)
|
489
493
|
* [trunc](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trunc.html)
|
@@ -522,6 +522,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
522
522
|
* [to_number](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_number.html)
|
523
523
|
* [to_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp.html)
|
524
524
|
* [to_timestamp_ntz](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.to_timestamp_ntz.html)
|
525
|
+
* [transform](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.transform.html)
|
525
526
|
* [translate](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.translate.html)
|
526
527
|
* [trim](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trim.html)
|
527
528
|
* [trunc](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.trunc.html)
|
sqlframe-3.43.0/mypy.ini
ADDED
@@ -20,7 +20,7 @@ setup(
|
|
20
20
|
python_requires=">=3.9",
|
21
21
|
install_requires=[
|
22
22
|
"prettytable<4",
|
23
|
-
"sqlglot>=24.0.0,<27.
|
23
|
+
"sqlglot>=24.0.0,<27.16",
|
24
24
|
"typing_extensions",
|
25
25
|
"more-itertools",
|
26
26
|
],
|
@@ -30,7 +30,7 @@ setup(
|
|
30
30
|
"google-cloud-bigquery-storage>=2,<3",
|
31
31
|
],
|
32
32
|
"dev": [
|
33
|
-
"duckdb>=1.2,<1.
|
33
|
+
"duckdb>=1.2,<1.5",
|
34
34
|
"findspark>=2,<3",
|
35
35
|
"mypy>=1.10.0,<1.19",
|
36
36
|
"openai>=1.30,<2",
|
@@ -56,7 +56,7 @@ setup(
|
|
56
56
|
"pymdown-extensions",
|
57
57
|
],
|
58
58
|
"duckdb": [
|
59
|
-
"duckdb>=1.2,<1.
|
59
|
+
"duckdb>=1.2,<1.5",
|
60
60
|
"pandas>=2,<3",
|
61
61
|
],
|
62
62
|
"openai": [
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '3.
|
32
|
-
__version_tuple__ = version_tuple = (3,
|
31
|
+
__version__ = version = '3.43.0'
|
32
|
+
__version_tuple__ = version_tuple = (3, 43, 0)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'g38d15d998'
|
@@ -1665,10 +1665,34 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
1665
1665
|
def should_drop_expression(expr: exp.Expression) -> bool:
|
1666
1666
|
# Check against fully qualified Column objects and
|
1667
1667
|
# Check against unqualified string column names (drop ALL columns with this name)
|
1668
|
-
if expr.sql() in drop_sql
|
1669
|
-
isinstance(expr, exp.Column) and expr.alias_or_name in column_names
|
1670
|
-
):
|
1668
|
+
if expr.sql() in drop_sql:
|
1671
1669
|
return True
|
1670
|
+
|
1671
|
+
if isinstance(expr, exp.Column) and (alias_or_name := expr.alias_or_name):
|
1672
|
+
# Check direct match first
|
1673
|
+
if alias_or_name in column_names:
|
1674
|
+
return True
|
1675
|
+
|
1676
|
+
# Handle string column references that contain aliases
|
1677
|
+
for col_name in column_names:
|
1678
|
+
if ("." in col_name) and alias_or_name == (col_name.split(".", maxsplit=1)[-1]):
|
1679
|
+
# Extract the column name part after the last dot
|
1680
|
+
return True
|
1681
|
+
|
1682
|
+
# Handle case where normalized columns have table qualifiers but actual expressions
|
1683
|
+
# are unqualified. This happens when using aliased column references like
|
1684
|
+
# f.col('df.foo')
|
1685
|
+
|
1686
|
+
# Check if any drop column matches by column name AND table qualifier
|
1687
|
+
for drop_col in drop_cols:
|
1688
|
+
if ((drop_expression := drop_col.expression).alias_or_name) == alias_or_name:
|
1689
|
+
if expr_table := expr.table:
|
1690
|
+
drop_table = drop_expression.args.get("table")
|
1691
|
+
if (not drop_table) or (expr_table == drop_table):
|
1692
|
+
return True
|
1693
|
+
else:
|
1694
|
+
return True
|
1695
|
+
|
1672
1696
|
return False
|
1673
1697
|
|
1674
1698
|
new_expressions = [expr for expr in current_expressions if not should_drop_expression(expr)]
|
@@ -1974,8 +1974,30 @@ def regexp_replace(
|
|
1974
1974
|
)
|
1975
1975
|
|
1976
1976
|
|
1977
|
-
@meta(
|
1977
|
+
@meta()
|
1978
1978
|
def initcap(col: ColumnOrName) -> Column:
|
1979
|
+
session = _get_session()
|
1980
|
+
|
1981
|
+
if session._is_duckdb:
|
1982
|
+
split_func = get_func_from_session("split")
|
1983
|
+
transform_func = get_func_from_session("transform")
|
1984
|
+
reduce_func = get_func_from_session("reduce")
|
1985
|
+
upper_func = get_func_from_session("upper")
|
1986
|
+
lower_func = get_func_from_session("lower")
|
1987
|
+
length_func = get_func_from_session("length")
|
1988
|
+
concat_func = get_func_from_session("concat")
|
1989
|
+
concat_ws_func = get_func_from_session("concat_ws")
|
1990
|
+
return reduce_func(
|
1991
|
+
transform_func(
|
1992
|
+
split_func(col, r"\s+"),
|
1993
|
+
lambda w: concat_func(
|
1994
|
+
upper_func(w.substr(1, 1)), lower_func(w.substr(2, length_func(w) - 1))
|
1995
|
+
),
|
1996
|
+
),
|
1997
|
+
None,
|
1998
|
+
merge=lambda x, y: concat_ws_func(" ", x, y),
|
1999
|
+
)
|
2000
|
+
|
1979
2001
|
return Column.invoke_expression_over_column(col, expression.Initcap)
|
1980
2002
|
|
1981
2003
|
|
@@ -2686,7 +2708,7 @@ def from_csv(
|
|
2686
2708
|
return Column.invoke_anonymous_function(col, "FROM_CSV", schema)
|
2687
2709
|
|
2688
2710
|
|
2689
|
-
@meta(unsupported_engines=["bigquery", "
|
2711
|
+
@meta(unsupported_engines=["bigquery", "postgres", "snowflake"])
|
2690
2712
|
def aggregate(
|
2691
2713
|
col: ColumnOrName,
|
2692
2714
|
initialValue: ColumnOrName,
|
@@ -2694,21 +2716,20 @@ def aggregate(
|
|
2694
2716
|
finish: t.Optional[t.Callable[[Column], Column]] = None,
|
2695
2717
|
) -> Column:
|
2696
2718
|
merge_exp = _get_lambda_from_func(merge)
|
2719
|
+
kwargs = dict(
|
2720
|
+
initial=initialValue,
|
2721
|
+
merge=merge_exp,
|
2722
|
+
)
|
2723
|
+
session = _get_session()
|
2697
2724
|
if finish is not None:
|
2698
2725
|
finish_exp = _get_lambda_from_func(finish)
|
2699
|
-
|
2700
|
-
|
2701
|
-
|
2702
|
-
|
2703
|
-
merge=Column(merge_exp),
|
2704
|
-
finish=Column(finish_exp),
|
2705
|
-
)
|
2706
|
-
return Column.invoke_expression_over_column(
|
2707
|
-
col, expression.Reduce, initial=initialValue, merge=Column(merge_exp)
|
2708
|
-
)
|
2726
|
+
kwargs["finish"] = Column(finish_exp)
|
2727
|
+
if session._is_duckdb:
|
2728
|
+
kwargs.pop("initial", None)
|
2729
|
+
return Column.invoke_expression_over_column(col, expression.Reduce, **kwargs)
|
2709
2730
|
|
2710
2731
|
|
2711
|
-
@meta(unsupported_engines=
|
2732
|
+
@meta(unsupported_engines="postgres")
|
2712
2733
|
def transform(
|
2713
2734
|
col: ColumnOrName,
|
2714
2735
|
f: t.Union[t.Callable[[Column], Column], t.Callable[[Column, Column], Column]],
|
@@ -437,7 +437,7 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, TABLE, CONN, UDF_REGIS
|
|
437
437
|
for cte in df.expression.ctes:
|
438
438
|
if cte.alias_or_name not in expression_ctes:
|
439
439
|
ctes_to_add.append(cte)
|
440
|
-
expression.set("with", exp.With(expressions=expression.ctes
|
440
|
+
expression.set("with", exp.With(expressions=ctes_to_add + expression.ctes)) # type: ignore
|
441
441
|
|
442
442
|
def replace_temp_view_name_with_cte(node: exp.Expression) -> exp.Expression:
|
443
443
|
if isinstance(node, exp.Table):
|
@@ -61,5 +61,5 @@ class DuckDBDataFrame(
|
|
61
61
|
def toArrow(self, batch_size: t.Optional[int] = None) -> t.Union[ArrowTable, RecordBatchReader]:
|
62
62
|
self._collect(skip_rows=True)
|
63
63
|
if not batch_size:
|
64
|
-
return self.session._last_result.
|
64
|
+
return self.session._last_result.fetch_arrow_table()
|
65
65
|
return self.session._last_result.fetch_record_batch(batch_size)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
more-itertools
|
2
2
|
prettytable<4
|
3
|
-
sqlglot<27.
|
3
|
+
sqlglot<27.16,>=24.0.0
|
4
4
|
typing_extensions
|
5
5
|
|
6
6
|
[bigquery]
|
@@ -11,7 +11,7 @@ google-cloud-bigquery[pandas]<4,>=3
|
|
11
11
|
databricks-sql-connector[pyarrow]<5,>=3.6
|
12
12
|
|
13
13
|
[dev]
|
14
|
-
duckdb<1.
|
14
|
+
duckdb<1.5,>=1.2
|
15
15
|
findspark<3,>=2
|
16
16
|
mypy<1.19,>=1.10.0
|
17
17
|
openai<2,>=1.30
|
@@ -37,7 +37,7 @@ mkdocs==1.4.2
|
|
37
37
|
pymdown-extensions
|
38
38
|
|
39
39
|
[duckdb]
|
40
|
-
duckdb<1.
|
40
|
+
duckdb<1.5,>=1.2
|
41
41
|
pandas<3,>=2
|
42
42
|
|
43
43
|
[openai]
|
@@ -1865,6 +1865,18 @@ def test_drop_column_single(
|
|
1865
1865
|
compare_frames(df, dfs)
|
1866
1866
|
|
1867
1867
|
|
1868
|
+
def test_drop_alias_column(
|
1869
|
+
pyspark_employee: PySparkDataFrame,
|
1870
|
+
get_df: t.Callable[[str], BaseDataFrame],
|
1871
|
+
compare_frames: t.Callable,
|
1872
|
+
):
|
1873
|
+
employee = get_df("employee")
|
1874
|
+
df = pyspark_employee.select(F.col("fname"), F.col("age")).drop("age")
|
1875
|
+
|
1876
|
+
dfs = employee.alias("df").select(SF.col("fname"), SF.col("age")).drop("df.age")
|
1877
|
+
compare_frames(df, dfs)
|
1878
|
+
|
1879
|
+
|
1868
1880
|
def test_drop_column_reference_join(
|
1869
1881
|
pyspark_employee: PySparkDataFrame,
|
1870
1882
|
pyspark_store: PySparkDataFrame,
|
@@ -1892,6 +1904,61 @@ def test_drop_column_reference_join(
|
|
1892
1904
|
compare_frames(df, dfs, sort=True)
|
1893
1905
|
|
1894
1906
|
|
1907
|
+
def test_drop_column_join_column_df_reference(
|
1908
|
+
pyspark_employee: PySparkDataFrame,
|
1909
|
+
get_df: t.Callable[[str], BaseDataFrame],
|
1910
|
+
compare_frames: t.Callable,
|
1911
|
+
):
|
1912
|
+
df1 = pyspark_employee.sparkSession.createDataFrame( # type: ignore
|
1913
|
+
[{"foo": 0, "bar": "a"}, {"foo": 1, "bar": "b"}]
|
1914
|
+
).alias("df1")
|
1915
|
+
df2 = pyspark_employee.sparkSession.createDataFrame([{"foo": 0, "baz": 1.5}]).alias("df2") # type: ignore
|
1916
|
+
df_joined = (
|
1917
|
+
df1.join(df2, on=F.col("df1.foo") == F.col("df2.foo"), how="left")
|
1918
|
+
.drop(df1.foo)
|
1919
|
+
.select(df1.bar, df2.baz, df2.foo)
|
1920
|
+
)
|
1921
|
+
|
1922
|
+
employee = get_df("employee")
|
1923
|
+
dfs1 = employee.sparkSession.createDataFrame(
|
1924
|
+
[{"foo": 0, "bar": "a"}, {"foo": 1, "bar": "b"}]
|
1925
|
+
).alias("dfs1")
|
1926
|
+
dfs2 = employee.sparkSession.createDataFrame([{"foo": 0, "baz": 1.5}]).alias("dfs2")
|
1927
|
+
dfs_joined = (
|
1928
|
+
dfs1.join(dfs2, on=SF.col("dfs1.foo") == SF.col("dfs2.foo"), how="left")
|
1929
|
+
.drop(dfs1.foo)
|
1930
|
+
.select(dfs1.bar, dfs2.baz, dfs2.foo)
|
1931
|
+
)
|
1932
|
+
|
1933
|
+
compare_frames(df_joined, dfs_joined, sort=True, compare_schema=False)
|
1934
|
+
|
1935
|
+
|
1936
|
+
def test_drop_join_column_unqualified(
|
1937
|
+
pyspark_employee: PySparkDataFrame,
|
1938
|
+
get_df: t.Callable[[str], BaseDataFrame],
|
1939
|
+
compare_frames: t.Callable,
|
1940
|
+
):
|
1941
|
+
df1 = pyspark_employee.sparkSession.createDataFrame( # type: ignore
|
1942
|
+
[{"foo": 0, "bar": "a"}, {"foo": 1, "bar": "b"}]
|
1943
|
+
).alias("df1")
|
1944
|
+
df2 = pyspark_employee.sparkSession.createDataFrame([{"foo": 0, "baz": 1.5}]).alias("df2") # type: ignore
|
1945
|
+
df_joined = (
|
1946
|
+
df1.join(df2, on=F.col("df1.foo") == F.col("df2.foo"), how="left").drop("foo")
|
1947
|
+
# select the columns to work around column order bug
|
1948
|
+
)
|
1949
|
+
|
1950
|
+
employee = get_df("employee")
|
1951
|
+
dfs1 = employee.sparkSession.createDataFrame(
|
1952
|
+
[{"foo": 0, "bar": "a"}, {"foo": 1, "bar": "b"}]
|
1953
|
+
).alias("dfs1")
|
1954
|
+
dfs2 = employee.sparkSession.createDataFrame([{"foo": 0, "baz": 1.5}]).alias("dfs2")
|
1955
|
+
dfs_joined = dfs1.join(dfs2, on=SF.col("dfs1.foo") == SF.col("dfs2.foo"), how="left").drop(
|
1956
|
+
"foo"
|
1957
|
+
)
|
1958
|
+
|
1959
|
+
compare_frames(df_joined, dfs_joined, sort=True, compare_schema=False)
|
1960
|
+
|
1961
|
+
|
1895
1962
|
def test_limit(
|
1896
1963
|
pyspark_employee: PySparkDataFrame,
|
1897
1964
|
get_df: t.Callable[[str], BaseDataFrame],
|
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
|
{sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
File without changes
|
File without changes
|
{sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
File without changes
|
{sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
File without changes
|
{sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
File without changes
|
{sqlframe-3.41.0 → sqlframe-3.43.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif
RENAMED
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
|
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
|
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
|
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
|