sqlframe 3.22.1__tar.gz → 3.23.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.22.1 → sqlframe-3.23.0}/PKG-INFO +1 -1
- {sqlframe-3.22.1 → sqlframe-3.23.0}/setup.py +4 -4
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/_version.py +2 -2
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/functions.py +14 -8
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe.egg-info/requires.txt +4 -4
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_catalog.py +2 -12
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_reader.py +8 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_int_functions.py +21 -6
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_functions.py +7 -4
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.gitignore +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/LICENSE +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/Makefile +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/README.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/bigquery.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/configuration.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/databricks.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/duckdb.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/images/SF.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/index.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/postgres.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/redshift.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/requirements.txt +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/snowflake.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/spark.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/standalone.md +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/mkdocs.yml +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/pytest.ini +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/renovate.json +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/setup.cfg +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/conftest.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.22.1 → sqlframe-3.23.0}/tests/unit/test_util.py +0 -0
|
@@ -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.
|
|
23
|
+
"sqlglot>=24.0.0,<26.9",
|
|
24
24
|
"typing_extensions",
|
|
25
25
|
],
|
|
26
26
|
extras_require={
|
|
@@ -29,7 +29,7 @@ setup(
|
|
|
29
29
|
"google-cloud-bigquery-storage>=2,<3",
|
|
30
30
|
],
|
|
31
31
|
"dev": [
|
|
32
|
-
"duckdb>=
|
|
32
|
+
"duckdb>=1.2,<1.3",
|
|
33
33
|
"findspark>=2,<3",
|
|
34
34
|
"mypy>=1.10.0,<1.16",
|
|
35
35
|
"openai>=1.30,<2",
|
|
@@ -54,7 +54,7 @@ setup(
|
|
|
54
54
|
"pymdown-extensions",
|
|
55
55
|
],
|
|
56
56
|
"duckdb": [
|
|
57
|
-
"duckdb>=
|
|
57
|
+
"duckdb>=1.2,<1.3",
|
|
58
58
|
"pandas>=2,<3",
|
|
59
59
|
],
|
|
60
60
|
"openai": [
|
|
@@ -70,7 +70,7 @@ setup(
|
|
|
70
70
|
"redshift_connector>=2.1.1,<2.2.0",
|
|
71
71
|
],
|
|
72
72
|
"snowflake": [
|
|
73
|
-
"snowflake-connector-python[secure-local-storage]>=3.10.0,<3.
|
|
73
|
+
"snowflake-connector-python[secure-local-storage]>=3.10.0,<3.15",
|
|
74
74
|
],
|
|
75
75
|
"spark": [
|
|
76
76
|
"pyspark>=2,<3.6",
|
|
@@ -856,15 +856,21 @@ def expr(str: str) -> Column:
|
|
|
856
856
|
|
|
857
857
|
@meta(unsupported_engines=["postgres"])
|
|
858
858
|
def struct(col: t.Union[ColumnOrName, t.Iterable[ColumnOrName]], *cols: ColumnOrName) -> Column:
|
|
859
|
-
from sqlframe.base.function_alternatives import struct_with_eq
|
|
860
|
-
|
|
861
859
|
session = _get_session()
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
860
|
+
col_func = get_func_from_session("col")
|
|
861
|
+
|
|
862
|
+
columns = [col_func(x) for x in ensure_list(col) + list(cols)]
|
|
863
|
+
expressions = []
|
|
864
|
+
for column in columns:
|
|
865
|
+
expressions.append(
|
|
866
|
+
expression.PropertyEQ(
|
|
867
|
+
this=expression.parse_identifier(
|
|
868
|
+
column.alias_or_name, dialect=session.input_dialect
|
|
869
|
+
),
|
|
870
|
+
expression=column.column_expression,
|
|
871
|
+
)
|
|
872
|
+
)
|
|
873
|
+
return Column(expression.Struct(expressions=expressions))
|
|
868
874
|
|
|
869
875
|
|
|
870
876
|
@meta(unsupported_engines=["bigquery", "duckdb", "postgres", "snowflake"])
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<4
|
|
2
|
-
sqlglot<26.
|
|
2
|
+
sqlglot<26.9,>=24.0.0
|
|
3
3
|
typing_extensions
|
|
4
4
|
|
|
5
5
|
[bigquery]
|
|
@@ -10,7 +10,7 @@ google-cloud-bigquery[pandas]<4,>=3
|
|
|
10
10
|
databricks-sql-connector<5,>=3.6
|
|
11
11
|
|
|
12
12
|
[dev]
|
|
13
|
-
duckdb<1.
|
|
13
|
+
duckdb<1.3,>=1.2
|
|
14
14
|
findspark<3,>=2
|
|
15
15
|
mypy<1.16,>=1.10.0
|
|
16
16
|
openai<2,>=1.30
|
|
@@ -35,7 +35,7 @@ mkdocs==1.4.2
|
|
|
35
35
|
pymdown-extensions
|
|
36
36
|
|
|
37
37
|
[duckdb]
|
|
38
|
-
duckdb<1.
|
|
38
|
+
duckdb<1.3,>=1.2
|
|
39
39
|
pandas<3,>=2
|
|
40
40
|
|
|
41
41
|
[openai]
|
|
@@ -51,7 +51,7 @@ psycopg2<3,>=2.8
|
|
|
51
51
|
redshift_connector<2.2.0,>=2.1.1
|
|
52
52
|
|
|
53
53
|
[snowflake]
|
|
54
|
-
snowflake-connector-python[secure-local-storage]<3.
|
|
54
|
+
snowflake-connector-python[secure-local-storage]<3.15,>=3.10.0
|
|
55
55
|
|
|
56
56
|
[spark]
|
|
57
57
|
pyspark<3.6,>=2
|
|
@@ -57,25 +57,15 @@ def test_set_current_database(duckdb_session: DuckDBSession):
|
|
|
57
57
|
|
|
58
58
|
def test_list_databases(duckdb_session: DuckDBSession):
|
|
59
59
|
assert sorted(duckdb_session.catalog.listDatabases(), key=lambda x: (x.catalog, x.name)) == [
|
|
60
|
-
Database(name="information_schema", catalog="catalog1", description=None, locationUri=""),
|
|
61
60
|
Database(name="main", catalog="catalog1", description=None, locationUri=""),
|
|
62
|
-
Database(name="pg_catalog", catalog="catalog1", description=None, locationUri=""),
|
|
63
|
-
Database(name="information_schema", catalog="catalog2", description=None, locationUri=""),
|
|
64
61
|
Database(name="main", catalog="catalog2", description=None, locationUri=""),
|
|
65
|
-
Database(name="pg_catalog", catalog="catalog2", description=None, locationUri=""),
|
|
66
62
|
Database(name="db1", catalog="default", description=None, locationUri=""),
|
|
67
|
-
Database(name="information_schema", catalog="default", description=None, locationUri=""),
|
|
68
63
|
Database(name="main", catalog="default", description=None, locationUri=""),
|
|
69
|
-
Database(name="pg_catalog", catalog="default", description=None, locationUri=""),
|
|
70
|
-
Database(name="information_schema", catalog="memory", description=None, locationUri=""),
|
|
71
64
|
Database(name="main", catalog="memory", description=None, locationUri=""),
|
|
72
|
-
Database(name="pg_catalog", catalog="memory", description=None, locationUri=""),
|
|
73
65
|
Database(name="information_schema", catalog="system", description=None, locationUri=""),
|
|
74
66
|
Database(name="main", catalog="system", description=None, locationUri=""),
|
|
75
67
|
Database(name="pg_catalog", catalog="system", description=None, locationUri=""),
|
|
76
|
-
Database(name="information_schema", catalog="temp", description=None, locationUri=""),
|
|
77
68
|
Database(name="main", catalog="temp", description=None, locationUri=""),
|
|
78
|
-
Database(name="pg_catalog", catalog="temp", description=None, locationUri=""),
|
|
79
69
|
]
|
|
80
70
|
|
|
81
71
|
|
|
@@ -99,8 +89,8 @@ def test_get_database_name_only(duckdb_session: DuckDBSession):
|
|
|
99
89
|
|
|
100
90
|
|
|
101
91
|
def test_get_database_name_and_catalog(duckdb_session: DuckDBSession):
|
|
102
|
-
assert duckdb_session.catalog.getDatabase("
|
|
103
|
-
name="information_schema", catalog="
|
|
92
|
+
assert duckdb_session.catalog.getDatabase("system.information_schema") == Database(
|
|
93
|
+
name="information_schema", catalog="system", description=None, locationUri=""
|
|
104
94
|
)
|
|
105
95
|
|
|
106
96
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
|
|
1
5
|
from sqlframe.base.types import Row
|
|
2
6
|
from sqlframe.duckdb import DuckDBSession
|
|
3
7
|
from sqlframe.duckdb import functions as F
|
|
@@ -102,6 +106,10 @@ def test_employee_extra_line_csv_multiple(duckdb_session: DuckDBSession):
|
|
|
102
106
|
|
|
103
107
|
|
|
104
108
|
def test_employee_delta(duckdb_session: DuckDBSession):
|
|
109
|
+
if os.environ.get("CI"):
|
|
110
|
+
pytest.skip(
|
|
111
|
+
"DuckDB Delta is not working in CI with DuckDB 1.2.1. Error: `duckdb.duckdb.Error: An error occurred while trying to automatically install the required extension 'delta'`"
|
|
112
|
+
)
|
|
105
113
|
df = duckdb_session.read.load(
|
|
106
114
|
"tests/fixtures/employee_delta",
|
|
107
115
|
format="delta",
|
|
@@ -1062,8 +1062,23 @@ def test_struct(get_session_and_func):
|
|
|
1062
1062
|
if not isinstance(session, SnowflakeSession)
|
|
1063
1063
|
else [Row(value={"age": 2, "name": "Alice"}), Row(value={"age": 5, "name": "Bob"})]
|
|
1064
1064
|
)
|
|
1065
|
-
|
|
1066
|
-
|
|
1065
|
+
expected_field_names = ["age", "name"]
|
|
1066
|
+
result = df.select(struct("age", "name").alias("struct")).collect()
|
|
1067
|
+
assert result == expected
|
|
1068
|
+
if isinstance(session, (SparkSession, PySparkSession)):
|
|
1069
|
+
pass
|
|
1070
|
+
elif isinstance(session, SnowflakeSession):
|
|
1071
|
+
assert list(result[0][0]) == expected_field_names
|
|
1072
|
+
else:
|
|
1073
|
+
assert result[0][0]._unique_field_names == expected_field_names
|
|
1074
|
+
result = df.select(struct([df.age, df.name]).alias("struct")).collect()
|
|
1075
|
+
assert result == expected
|
|
1076
|
+
if isinstance(session, (SparkSession, PySparkSession)):
|
|
1077
|
+
pass
|
|
1078
|
+
elif isinstance(session, SnowflakeSession):
|
|
1079
|
+
assert list(result[0][0]) == expected_field_names
|
|
1080
|
+
else:
|
|
1081
|
+
assert result[0][0]._unique_field_names == expected_field_names
|
|
1067
1082
|
|
|
1068
1083
|
|
|
1069
1084
|
def test_greatest(get_session_and_func):
|
|
@@ -1576,7 +1591,7 @@ def test_hash(get_session_and_func):
|
|
|
1576
1591
|
df = session.createDataFrame([("ABC", "DEF")], ["c1", "c2"])
|
|
1577
1592
|
if isinstance(session, DuckDBSession):
|
|
1578
1593
|
assert df.select(hash("c1").alias("hash")).first()[0] == 1241521928161919141
|
|
1579
|
-
assert df.select(hash("c1", "c2").alias("hash")).first()[0] ==
|
|
1594
|
+
assert df.select(hash("c1", "c2").alias("hash")).first()[0] == 7524280102280623017
|
|
1580
1595
|
# Bigquery only supports hashing a single column
|
|
1581
1596
|
elif isinstance(session, BigQuerySession):
|
|
1582
1597
|
assert df.select(hash("c1").alias("hash")).first()[0] == 228873345217803866
|
|
@@ -4879,9 +4894,9 @@ def test_try_element_at(get_session_and_func, get_func):
|
|
|
4879
4894
|
else:
|
|
4880
4895
|
assert df.select(try_element_at(df.data, lit(-1)).alias("r")).first()[0] == "c"
|
|
4881
4896
|
df = session.createDataFrame([({"a": 1.0, "b": 2.0},)], ["data"])
|
|
4882
|
-
if isinstance(session, DuckDBSession):
|
|
4883
|
-
|
|
4884
|
-
|
|
4897
|
+
# if isinstance(session, DuckDBSession):
|
|
4898
|
+
# assert df.select(try_element_at(df.data, lit("a")).alias("r")).first()[0] == [1.0]
|
|
4899
|
+
if isinstance(session, PostgresSession):
|
|
4885
4900
|
pass
|
|
4886
4901
|
else:
|
|
4887
4902
|
assert df.select(try_element_at(df.data, lit("a")).alias("r")).first()[0] == 1.0
|
|
@@ -1070,10 +1070,13 @@ def test_expr():
|
|
|
1070
1070
|
@pytest.mark.parametrize(
|
|
1071
1071
|
"expression, expected",
|
|
1072
1072
|
[
|
|
1073
|
-
(SF.struct("cola", "colb", "colc"), "STRUCT(cola, colb, colc)"),
|
|
1074
|
-
(
|
|
1075
|
-
|
|
1076
|
-
|
|
1073
|
+
(SF.struct("cola", "colb", "colc"), "STRUCT(cola AS cola, colb AS colb, colc AS colc)"),
|
|
1074
|
+
(
|
|
1075
|
+
SF.struct(SF.col("cola"), SF.col("colb"), SF.col("colc")),
|
|
1076
|
+
"STRUCT(cola AS cola, colb AS colb, colc AS colc)",
|
|
1077
|
+
),
|
|
1078
|
+
(SF.struct("cola"), "STRUCT(cola AS cola)"),
|
|
1079
|
+
(SF.struct(["cola", "colb", "colc"]), "STRUCT(cola AS cola, colb AS colb, colc AS colc)"),
|
|
1077
1080
|
],
|
|
1078
1081
|
)
|
|
1079
1082
|
def test_struct(expression, expected):
|
|
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.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
{sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
|
File without changes
|
{sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.22.1 → sqlframe-3.23.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
|
File without changes
|
{sqlframe-3.22.1 → sqlframe-3.23.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
|
|
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
|