sqlframe 3.9.3__tar.gz → 3.10.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sqlframe-3.9.3 → sqlframe-3.10.1}/PKG-INFO +1 -1
- {sqlframe-3.9.3 → sqlframe-3.10.1}/setup.py +4 -3
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/_version.py +2 -2
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/dataframe.py +1 -3
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/function_alternatives.py +33 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/functions.py +1 -1
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/session.py +2 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/functions.py +1 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/functions.py +1 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/functions.pyi +1 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/functions.py +1 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe.egg-info/SOURCES.txt +1 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe.egg-info/requires.txt +4 -3
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/common_fixtures.py +2 -1
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/conftest.py +1 -1
- sqlframe-3.10.1/tests/fixtures/issue_219.csv +10 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_reader.py +8 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +10 -10
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_int_functions.py +46 -155
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/databricks/test_activate.py +1 -3
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_functions.py +5 -5
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.github/CODEOWNERS +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.gitignore +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/.readthedocs.yaml +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/LICENSE +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/Makefile +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/README.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/cake.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/bigquery.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/configuration.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/databricks.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/docs/postgres.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/duckdb.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/images/SF.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/images/favicon.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/index.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/postgres.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/redshift.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/requirements.txt +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/snowflake.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/spark.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/standalone.md +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/mkdocs.yml +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/pytest.ini +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/renovate.json +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/setup.cfg +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/LICENSE +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/util.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/base/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/conftest.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.9.3 → sqlframe-3.10.1}/tests/unit/test_util.py +0 -0
|
@@ -20,7 +20,7 @@ setup(
|
|
|
20
20
|
python_requires=">=3.8",
|
|
21
21
|
install_requires=[
|
|
22
22
|
"prettytable<3.12.1",
|
|
23
|
-
"sqlglot>=24.0.0,<
|
|
23
|
+
"sqlglot>=24.0.0,<26.1",
|
|
24
24
|
"typing_extensions>=4.8,<5",
|
|
25
25
|
],
|
|
26
26
|
extras_require={
|
|
@@ -32,13 +32,14 @@ setup(
|
|
|
32
32
|
"duckdb>=0.9,<1.2",
|
|
33
33
|
"findspark>=2,<3",
|
|
34
34
|
"mypy>=1.10.0,<1.14",
|
|
35
|
-
"openai>=1.30,<1.
|
|
35
|
+
"openai>=1.30,<1.59",
|
|
36
36
|
"pandas>=2,<3",
|
|
37
37
|
"pandas-stubs>=2,<3",
|
|
38
38
|
"psycopg>=3.1,<4",
|
|
39
39
|
"pyarrow>=10,<19",
|
|
40
40
|
"pyspark>=2,<3.6",
|
|
41
41
|
"pytest>=8.2.0,<8.4",
|
|
42
|
+
"pytest-forked",
|
|
42
43
|
"pytest-postgresql>=6,<7",
|
|
43
44
|
"pytest-xdist>=3.6,<3.7",
|
|
44
45
|
"pre-commit>=3.5;python_version=='3.8'",
|
|
@@ -58,7 +59,7 @@ setup(
|
|
|
58
59
|
"pandas>=2,<3",
|
|
59
60
|
],
|
|
60
61
|
"openai": [
|
|
61
|
-
"openai>=1.30,<1.
|
|
62
|
+
"openai>=1.30,<1.59",
|
|
62
63
|
],
|
|
63
64
|
"pandas": [
|
|
64
65
|
"pandas>=2,<3",
|
|
@@ -1624,9 +1624,7 @@ class _BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
|
1624
1624
|
raise NotImplementedError("Vertical show is not yet supported")
|
|
1625
1625
|
if truncate:
|
|
1626
1626
|
logger.warning("Truncate is ignored so full results will be displayed")
|
|
1627
|
-
|
|
1628
|
-
df = self._convert_leaf_to_cte()
|
|
1629
|
-
result = df.limit(n).collect()
|
|
1627
|
+
result = self.limit(n).collect()
|
|
1630
1628
|
table = PrettyTable()
|
|
1631
1629
|
if row := seq_get(result, 0):
|
|
1632
1630
|
table.field_names = row._unique_field_names
|
|
@@ -64,6 +64,39 @@ def first_always_ignore_nulls(col: ColumnOrName, ignorenulls: t.Optional[bool] =
|
|
|
64
64
|
return first(col)
|
|
65
65
|
|
|
66
66
|
|
|
67
|
+
def to_timestamp_with_time_zone(col: ColumnOrName, format: t.Optional[str] = None) -> Column:
|
|
68
|
+
from sqlframe.base.session import _BaseSession
|
|
69
|
+
|
|
70
|
+
if format is not None:
|
|
71
|
+
return Column.invoke_expression_over_column(
|
|
72
|
+
col, expression.StrToTime, format=_BaseSession().format_time(format)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
return Column.ensure_col(col).cast("timestamp with time zone", dialect="postgres")
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def to_timestamp_tz(col: ColumnOrName, format: t.Optional[str] = None) -> Column:
|
|
79
|
+
from sqlframe.base.session import _BaseSession
|
|
80
|
+
|
|
81
|
+
if format is not None:
|
|
82
|
+
return Column.invoke_expression_over_column(
|
|
83
|
+
col, expression.StrToTime, format=_BaseSession().format_time(format)
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
return Column.ensure_col(col).cast("timestamptz", dialect="duckdb")
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
def to_timestamp_just_timestamp(col: ColumnOrName, format: t.Optional[str] = None) -> Column:
|
|
90
|
+
from sqlframe.base.session import _BaseSession
|
|
91
|
+
|
|
92
|
+
if format is not None:
|
|
93
|
+
return Column.invoke_expression_over_column(
|
|
94
|
+
col, expression.StrToTime, format=_BaseSession().format_time(format)
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
return Column.ensure_col(col).cast("datetime", dialect="bigquery")
|
|
98
|
+
|
|
99
|
+
|
|
67
100
|
def bitwise_not_from_bitnot(col: ColumnOrName) -> Column:
|
|
68
101
|
return Column.invoke_anonymous_function(col, "BITNOT")
|
|
69
102
|
|
|
@@ -900,7 +900,7 @@ def to_timestamp(col: ColumnOrName, format: t.Optional[str] = None) -> Column:
|
|
|
900
900
|
col, expression.StrToTime, format=_BaseSession().format_time(format)
|
|
901
901
|
)
|
|
902
902
|
|
|
903
|
-
return Column.ensure_col(col).cast("
|
|
903
|
+
return Column.ensure_col(col).cast("timestampltz")
|
|
904
904
|
|
|
905
905
|
|
|
906
906
|
@meta()
|
|
@@ -570,6 +570,8 @@ class _BaseSession(t.Generic[CATALOG, READER, WRITER, DF, CONN, UDF_REGISTRATION
|
|
|
570
570
|
return cls._to_row(list(value.keys()), list(value.values()))
|
|
571
571
|
elif isinstance(value, (list, set, tuple)) and value:
|
|
572
572
|
return [cls._to_value(x) for x in value]
|
|
573
|
+
elif isinstance(value, datetime.datetime):
|
|
574
|
+
return value.replace(tzinfo=None)
|
|
573
575
|
return value
|
|
574
576
|
|
|
575
577
|
@classmethod
|
|
@@ -29,6 +29,7 @@ from sqlframe.base.function_alternatives import ( # noqa
|
|
|
29
29
|
try_element_at_zero_based as try_element_at,
|
|
30
30
|
to_unix_timestamp_include_default_format as to_unix_timestamp,
|
|
31
31
|
regexp_replace_global_option as regexp_replace,
|
|
32
|
+
to_timestamp_tz as to_timestamp,
|
|
32
33
|
)
|
|
33
34
|
from sqlframe.base.functions import (
|
|
34
35
|
abs as abs,
|
|
@@ -185,6 +185,7 @@ tests/fixtures/employee.csv
|
|
|
185
185
|
tests/fixtures/employee.json
|
|
186
186
|
tests/fixtures/employee.parquet
|
|
187
187
|
tests/fixtures/employee_extra_line.csv
|
|
188
|
+
tests/fixtures/issue_219.csv
|
|
188
189
|
tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc
|
|
189
190
|
tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc
|
|
190
191
|
tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<3.12.1
|
|
2
|
-
sqlglot<
|
|
2
|
+
sqlglot<26.1,>=24.0.0
|
|
3
3
|
typing_extensions<5,>=4.8
|
|
4
4
|
|
|
5
5
|
[bigquery]
|
|
@@ -13,12 +13,13 @@ databricks-sql-connector<4,>=3.6
|
|
|
13
13
|
duckdb<1.2,>=0.9
|
|
14
14
|
findspark<3,>=2
|
|
15
15
|
mypy<1.14,>=1.10.0
|
|
16
|
-
openai<1.
|
|
16
|
+
openai<1.59,>=1.30
|
|
17
17
|
pandas-stubs<3,>=2
|
|
18
18
|
pandas<3,>=2
|
|
19
19
|
psycopg<4,>=3.1
|
|
20
20
|
pyarrow<19,>=10
|
|
21
21
|
pyspark<3.6,>=2
|
|
22
|
+
pytest-forked
|
|
22
23
|
pytest-postgresql<7,>=6
|
|
23
24
|
pytest-xdist<3.7,>=3.6
|
|
24
25
|
pytest<8.4,>=8.2.0
|
|
@@ -43,7 +44,7 @@ duckdb<1.2,>=0.9
|
|
|
43
44
|
pandas<3,>=2
|
|
44
45
|
|
|
45
46
|
[openai]
|
|
46
|
-
openai<1.
|
|
47
|
+
openai<1.59,>=1.30
|
|
47
48
|
|
|
48
49
|
[pandas]
|
|
49
50
|
pandas<3,>=2
|
|
@@ -92,7 +92,7 @@ def pyspark_session(tmp_path_factory, gen_tpcds: t.List[Path]) -> PySparkSession
|
|
|
92
92
|
.config("spark.sql.warehouse.dir", data_dir)
|
|
93
93
|
.config("spark.driver.extraJavaOptions", f"-Dderby.system.home={derby_dir}")
|
|
94
94
|
.config("spark.sql.shuffle.partitions", 1)
|
|
95
|
-
.config("spark.sql.session.timeZone", "
|
|
95
|
+
.config("spark.sql.session.timeZone", "UTC")
|
|
96
96
|
.master("local[1]")
|
|
97
97
|
.appName("Unit-tests")
|
|
98
98
|
.getOrCreate()
|
|
@@ -225,6 +225,7 @@ def snowflake_connection() -> SnowflakeConnection:
|
|
|
225
225
|
@pytest.fixture
|
|
226
226
|
def snowflake_session(snowflake_connection: SnowflakeConnection) -> SnowflakeSession:
|
|
227
227
|
session = SnowflakeSession(snowflake_connection)
|
|
228
|
+
session._execute("ALTER SESSION SET TIMEZONE = 'UTC'")
|
|
228
229
|
session._execute("CREATE SCHEMA IF NOT EXISTS db1")
|
|
229
230
|
session._execute("CREATE TABLE IF NOT EXISTS db1.table1 (id INTEGER, name VARCHAR(100))")
|
|
230
231
|
session._execute(
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from sqlframe.base.types import Row
|
|
2
2
|
from sqlframe.duckdb import DuckDBSession
|
|
3
|
+
from sqlframe.duckdb import functions as F
|
|
3
4
|
|
|
4
5
|
pytest_plugins = ["tests.common_fixtures"]
|
|
5
6
|
|
|
@@ -114,3 +115,10 @@ def test_employee_delta(duckdb_session: DuckDBSession):
|
|
|
114
115
|
),
|
|
115
116
|
Row(**{"employee_id": 5, "fname": "Hugo", "lname": "Reyes", "age": 29, "store_id": 100}),
|
|
116
117
|
]
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def test_issue_219(duckdb_session: DuckDBSession):
|
|
121
|
+
df1 = duckdb_session.read.csv("tests/fixtures/issue_219.csv")
|
|
122
|
+
df2 = df1.groupBy("kind", "make").agg(F.min("price"))
|
|
123
|
+
# Just making sure this doesn't raise like it did before
|
|
124
|
+
df2.show()
|
{sqlframe-3.9.3 → sqlframe-3.10.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py
RENAMED
|
@@ -54,8 +54,8 @@ def test_print_schema_basic(snowflake_employee: SnowflakeDataFrame, capsys):
|
|
|
54
54
|
== """
|
|
55
55
|
root
|
|
56
56
|
|-- employee_id: decimal(38, 0) (nullable = true)
|
|
57
|
-
|-- fname:
|
|
58
|
-
|-- lname:
|
|
57
|
+
|-- fname: varchar(16777216) (nullable = true)
|
|
58
|
+
|-- lname: varchar(16777216) (nullable = true)
|
|
59
59
|
|-- age: decimal(38, 0) (nullable = true)
|
|
60
60
|
|-- store_id: decimal(38, 0) (nullable = true)""".strip()
|
|
61
61
|
)
|
|
@@ -70,9 +70,9 @@ def test_print_schema_nested(snowflake_datatypes: SnowflakeDataFrame, capsys):
|
|
|
70
70
|
root
|
|
71
71
|
|-- bigint_col: decimal(38, 0) (nullable = true)
|
|
72
72
|
|-- double_col: float (nullable = true)
|
|
73
|
-
|-- string_col:
|
|
74
|
-
|-- map_string_bigint__col: map<
|
|
75
|
-
| |-- key:
|
|
73
|
+
|-- string_col: varchar(16777216) (nullable = true)
|
|
74
|
+
|-- map_string_bigint__col: map<varchar(16777216), decimal(38, 0)> (nullable = true)
|
|
75
|
+
| |-- key: varchar(16777216) (nullable = true)
|
|
76
76
|
| |-- value: decimal(38, 0) (nullable = true)
|
|
77
77
|
|-- array_struct_a_bigint_b_bigint__: array<object<a decimal(38, 0), b decimal(38, 0)>> (nullable = true)
|
|
78
78
|
| |-- element: object<a decimal(38, 0), b decimal(38, 0)> (nullable = true)
|
|
@@ -83,7 +83,7 @@ root
|
|
|
83
83
|
|-- struct_a_bigint__col: object<a decimal(38, 0)> (nullable = true)
|
|
84
84
|
| |-- a: decimal(38, 0) (nullable = true)
|
|
85
85
|
|-- date_col: date (nullable = true)
|
|
86
|
-
|-- timestamp_col:
|
|
86
|
+
|-- timestamp_col: timestamp (nullable = true)
|
|
87
87
|
|-- timestamptz_col: timestamp (nullable = true)
|
|
88
88
|
|-- boolean_col: boolean (nullable = true)""".strip()
|
|
89
89
|
)
|
|
@@ -96,9 +96,9 @@ def test_schema(snowflake_employee: SnowflakeDataFrame):
|
|
|
96
96
|
assert struct_fields[0].name == "employee_id"
|
|
97
97
|
assert struct_fields[0].dataType == types.DecimalType(38, 0)
|
|
98
98
|
assert struct_fields[1].name == "fname"
|
|
99
|
-
assert struct_fields[1].dataType == types.
|
|
99
|
+
assert struct_fields[1].dataType == types.VarcharType(16777216)
|
|
100
100
|
assert struct_fields[2].name == "lname"
|
|
101
|
-
assert struct_fields[2].dataType == types.
|
|
101
|
+
assert struct_fields[2].dataType == types.VarcharType(16777216)
|
|
102
102
|
assert struct_fields[3].name == "age"
|
|
103
103
|
assert struct_fields[3].dataType == types.DecimalType(38, 0)
|
|
104
104
|
assert struct_fields[4].name == "store_id"
|
|
@@ -114,10 +114,10 @@ def test_schema_nested(snowflake_datatypes: SnowflakeDataFrame):
|
|
|
114
114
|
assert struct_fields[1].name == "double_col"
|
|
115
115
|
assert struct_fields[1].dataType == types.FloatType()
|
|
116
116
|
assert struct_fields[2].name == "string_col"
|
|
117
|
-
assert struct_fields[2].dataType == types.
|
|
117
|
+
assert struct_fields[2].dataType == types.VarcharType(16777216)
|
|
118
118
|
assert struct_fields[3].name == "map_string_bigint__col"
|
|
119
119
|
assert struct_fields[3].dataType == types.MapType(
|
|
120
|
-
types.
|
|
120
|
+
types.VarcharType(16777216),
|
|
121
121
|
types.DecimalType(38, 0),
|
|
122
122
|
)
|
|
123
123
|
assert struct_fields[4].name == "array_struct_a_bigint_b_bigint__"
|