sqlframe 3.3.0__tar.gz → 3.4.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.3.0 → sqlframe-3.4.0}/PKG-INFO +1 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/bigquery.md +0 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/duckdb.md +0 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/snowflake.md +0 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/setup.py +4 -4
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/_version.py +2 -2
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/functions.py +11 -10
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/functions.pyi +1 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/functions.pyi +1 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/session.py +4 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/functions.pyi +1 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/functions.py +1 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/functions.pyi +1 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe.egg-info/requires.txt +4 -4
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/common_fixtures.py +5 -2
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_catalog.py +3 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_int_functions.py +1 -1
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_functions.py +8 -8
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.gitignore +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/LICENSE +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/Makefile +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/README.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/configuration.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/images/SF.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/index.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/postgres.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/requirements.txt +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/spark.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/standalone.md +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/mkdocs.yml +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/pytest.ini +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/renovate.json +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/setup.cfg +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/conftest.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.3.0 → sqlframe-3.4.0}/tests/unit/test_util.py +0 -0
|
@@ -234,7 +234,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
234
234
|
* sql
|
|
235
235
|
* SQLFrame Specific: Get the SQL representation of a given column
|
|
236
236
|
* [startswith](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.startswith.html)
|
|
237
|
-
* [substr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.substr.html)
|
|
238
237
|
* [when](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.when.html)
|
|
239
238
|
|
|
240
239
|
### DataFrame Class
|
|
@@ -198,7 +198,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
198
198
|
* sql
|
|
199
199
|
* SQLFrame Specific: Get the SQL representation of a given column
|
|
200
200
|
* [startswith](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.startswith.html)
|
|
201
|
-
* [substr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.substr.html)
|
|
202
201
|
* [when](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.when.html)
|
|
203
202
|
|
|
204
203
|
### DataFrame Class
|
|
@@ -230,7 +230,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
230
230
|
* sql
|
|
231
231
|
* SQLFrame Specific: Get the SQL representation of a given column
|
|
232
232
|
* [startswith](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.startswith.html)
|
|
233
|
-
* [substr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.substr.html)
|
|
234
233
|
* [when](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.Column.when.html)
|
|
235
234
|
|
|
236
235
|
### DataFrame Class
|
|
@@ -20,7 +20,7 @@ setup(
|
|
|
20
20
|
python_requires=">=3.8",
|
|
21
21
|
install_requires=[
|
|
22
22
|
"prettytable<3.11.1",
|
|
23
|
-
"sqlglot>=24.0.0,<25.
|
|
23
|
+
"sqlglot>=24.0.0,<25.25",
|
|
24
24
|
"typing_extensions>=4.8,<5",
|
|
25
25
|
],
|
|
26
26
|
extras_require={
|
|
@@ -32,7 +32,7 @@ setup(
|
|
|
32
32
|
"duckdb>=0.9,<1.2",
|
|
33
33
|
"findspark>=2,<3",
|
|
34
34
|
"mypy>=1.10.0,<1.12",
|
|
35
|
-
"openai>=1.30,<1.
|
|
35
|
+
"openai>=1.30,<1.52",
|
|
36
36
|
"pandas>=2,<3",
|
|
37
37
|
"pandas-stubs>=2,<3",
|
|
38
38
|
"psycopg>=3.1,<4",
|
|
@@ -42,7 +42,7 @@ setup(
|
|
|
42
42
|
"pytest-postgresql>=6,<7",
|
|
43
43
|
"pytest-xdist>=3.6,<3.7",
|
|
44
44
|
"pre-commit>=3.5;python_version=='3.8'",
|
|
45
|
-
"pre-commit>=3.7,<
|
|
45
|
+
"pre-commit>=3.7,<4.1;python_version>='3.9'",
|
|
46
46
|
"ruff>=0.4.4,<0.7",
|
|
47
47
|
"types-psycopg2>=2.9,<3",
|
|
48
48
|
],
|
|
@@ -58,7 +58,7 @@ setup(
|
|
|
58
58
|
"pandas>=2,<3",
|
|
59
59
|
],
|
|
60
60
|
"openai": [
|
|
61
|
-
"openai>=1.30,<1.
|
|
61
|
+
"openai>=1.30,<1.52",
|
|
62
62
|
],
|
|
63
63
|
"pandas": [
|
|
64
64
|
"pandas>=2,<3",
|
|
@@ -1129,11 +1129,15 @@ def overlay(
|
|
|
1129
1129
|
pos: t.Union[ColumnOrName, int],
|
|
1130
1130
|
len: t.Optional[t.Union[ColumnOrName, int]] = None,
|
|
1131
1131
|
) -> Column:
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1132
|
+
return Column.invoke_expression_over_column(
|
|
1133
|
+
src,
|
|
1134
|
+
expression.Overlay,
|
|
1135
|
+
**{
|
|
1136
|
+
"expression": Column(replace).expression,
|
|
1137
|
+
"from": lit(pos).expression,
|
|
1138
|
+
"for": lit(len).expression if len is not None else None,
|
|
1139
|
+
},
|
|
1140
|
+
)
|
|
1137
1141
|
|
|
1138
1142
|
|
|
1139
1143
|
@meta(unsupported_engines=["bigquery", "duckdb", "postgres", "snowflake"])
|
|
@@ -4834,7 +4838,7 @@ def str_to_map(
|
|
|
4834
4838
|
)
|
|
4835
4839
|
|
|
4836
4840
|
|
|
4837
|
-
@meta(unsupported_engines="
|
|
4841
|
+
@meta(unsupported_engines="postgres")
|
|
4838
4842
|
def substr(str: ColumnOrName, pos: ColumnOrName, len: t.Optional[ColumnOrName] = None) -> Column:
|
|
4839
4843
|
"""
|
|
4840
4844
|
Returns the substring of `str` that starts at `pos` and is of length `len`,
|
|
@@ -4873,10 +4877,7 @@ def substr(str: ColumnOrName, pos: ColumnOrName, len: t.Optional[ColumnOrName] =
|
|
|
4873
4877
|
| k SQL|
|
|
4874
4878
|
+------------------------+
|
|
4875
4879
|
"""
|
|
4876
|
-
|
|
4877
|
-
return Column.invoke_anonymous_function(str, "substr", pos, len)
|
|
4878
|
-
else:
|
|
4879
|
-
return Column.invoke_anonymous_function(str, "substr", pos)
|
|
4880
|
+
return Column.invoke_expression_over_column(str, expression.Substring, start=pos, length=len)
|
|
4880
4881
|
|
|
4881
4882
|
|
|
4882
4883
|
@meta(unsupported_engines="*")
|
|
@@ -251,6 +251,7 @@ from sqlframe.base.functions import stddev as stddev
|
|
|
251
251
|
from sqlframe.base.functions import stddev_pop as stddev_pop
|
|
252
252
|
from sqlframe.base.functions import stddev_samp as stddev_samp
|
|
253
253
|
from sqlframe.base.functions import struct as struct
|
|
254
|
+
from sqlframe.base.functions import substr as substr
|
|
254
255
|
from sqlframe.base.functions import substring as substring
|
|
255
256
|
from sqlframe.base.functions import sum as sum
|
|
256
257
|
from sqlframe.base.functions import sum_distinct as sum_distinct
|
|
@@ -52,6 +52,10 @@ class DuckDBSession(
|
|
|
52
52
|
super().__init__(conn, *args, **kwargs)
|
|
53
53
|
self._last_result = None
|
|
54
54
|
|
|
55
|
+
@cached_property
|
|
56
|
+
def _cur(self) -> DuckDBPyConnection: # type: ignore
|
|
57
|
+
return self._conn
|
|
58
|
+
|
|
55
59
|
@classmethod
|
|
56
60
|
def _try_get_map(cls, value: t.Any) -> t.Optional[t.Dict[str, t.Any]]:
|
|
57
61
|
if value and isinstance(value, dict):
|
|
@@ -2,6 +2,7 @@ from sqlframe.base.function_alternatives import ( # noqa
|
|
|
2
2
|
percentile_without_disc as percentile,
|
|
3
3
|
add_months_by_multiplication as add_months,
|
|
4
4
|
arrays_overlap_renamed as arrays_overlap,
|
|
5
|
+
try_element_at_zero_based as try_element_at,
|
|
5
6
|
)
|
|
6
7
|
from sqlframe.base.functions import (
|
|
7
8
|
abs as abs,
|
|
@@ -372,7 +373,6 @@ from sqlframe.base.functions import (
|
|
|
372
373
|
try_aes_decrypt as try_aes_decrypt,
|
|
373
374
|
try_avg as try_avg,
|
|
374
375
|
try_divide as try_divide,
|
|
375
|
-
try_element_at as try_element_at,
|
|
376
376
|
try_multiply as try_multiply,
|
|
377
377
|
try_subtract as try_subtract,
|
|
378
378
|
try_sum as try_sum,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<3.11.1
|
|
2
|
-
sqlglot<25.
|
|
2
|
+
sqlglot<25.25,>=24.0.0
|
|
3
3
|
typing_extensions<5,>=4.8
|
|
4
4
|
|
|
5
5
|
[bigquery]
|
|
@@ -10,7 +10,7 @@ google-cloud-bigquery[pandas]<4,>=3
|
|
|
10
10
|
duckdb<1.2,>=0.9
|
|
11
11
|
findspark<3,>=2
|
|
12
12
|
mypy<1.12,>=1.10.0
|
|
13
|
-
openai<1.
|
|
13
|
+
openai<1.52,>=1.30
|
|
14
14
|
pandas-stubs<3,>=2
|
|
15
15
|
pandas<3,>=2
|
|
16
16
|
psycopg<4,>=3.1
|
|
@@ -26,7 +26,7 @@ types-psycopg2<3,>=2.9
|
|
|
26
26
|
pre-commit>=3.5
|
|
27
27
|
|
|
28
28
|
[dev:python_version >= "3.9"]
|
|
29
|
-
pre-commit<
|
|
29
|
+
pre-commit<4.1,>=3.7
|
|
30
30
|
|
|
31
31
|
[docs]
|
|
32
32
|
mkdocs-include-markdown-plugin==6.0.6
|
|
@@ -40,7 +40,7 @@ duckdb<1.2,>=0.9
|
|
|
40
40
|
pandas<3,>=2
|
|
41
41
|
|
|
42
42
|
[openai]
|
|
43
|
-
openai<1.
|
|
43
|
+
openai<1.52,>=1.30
|
|
44
44
|
|
|
45
45
|
[pandas]
|
|
46
46
|
pandas<3,>=2
|
|
@@ -117,8 +117,11 @@ def spark_session(pyspark_session: PySparkSession) -> SparkSession:
|
|
|
117
117
|
|
|
118
118
|
@pytest.fixture(scope="function")
|
|
119
119
|
def duckdb_session() -> DuckDBSession:
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
connector = duckdb.connect()
|
|
121
|
+
connector.execute("set TimeZone = 'UTC'")
|
|
122
|
+
connector.execute("SELECT * FROM duckdb_settings() WHERE name = 'TimeZone'")
|
|
123
|
+
assert connector.fetchone()[1] == "UTC" # type: ignore
|
|
124
|
+
return DuckDBSession(conn=connector)
|
|
122
125
|
|
|
123
126
|
|
|
124
127
|
@pytest.fixture
|
|
@@ -9,7 +9,9 @@ def duckdb_session() -> DuckDBSession:
|
|
|
9
9
|
import duckdb
|
|
10
10
|
|
|
11
11
|
connector = duckdb.connect()
|
|
12
|
-
connector.
|
|
12
|
+
connector.execute("set TimeZone = 'UTC'")
|
|
13
|
+
connector.execute("SELECT * FROM duckdb_settings() WHERE name = 'TimeZone'")
|
|
14
|
+
assert connector.fetchone()[1] == "UTC" # type: ignore
|
|
13
15
|
session = DuckDBSession(connector)
|
|
14
16
|
session._execute('''ATTACH ':memory:' AS "default"''')
|
|
15
17
|
session._execute('''ATTACH ':memory:' AS "catalog1"''')
|
|
@@ -18,7 +18,7 @@ from sqlframe.base.util import (
|
|
|
18
18
|
get_func_from_session as get_func_from_session_without_fallback,
|
|
19
19
|
)
|
|
20
20
|
from sqlframe.bigquery import BigQuerySession
|
|
21
|
-
from sqlframe.duckdb import DuckDBSession
|
|
21
|
+
from sqlframe.duckdb import DuckDBCatalog, DuckDBSession
|
|
22
22
|
from sqlframe.postgres import PostgresDataFrame, PostgresSession
|
|
23
23
|
from sqlframe.snowflake import SnowflakeSession
|
|
24
24
|
from sqlframe.spark.session import SparkSession
|
|
@@ -1823,12 +1823,12 @@ def test_instr(expression, expected):
|
|
|
1823
1823
|
@pytest.mark.parametrize(
|
|
1824
1824
|
"expression, expected",
|
|
1825
1825
|
[
|
|
1826
|
-
(SF.overlay("cola", "colb", 3, 7), "OVERLAY(cola
|
|
1826
|
+
(SF.overlay("cola", "colb", 3, 7), "OVERLAY(cola PLACING colb FROM 3 FOR 7)"),
|
|
1827
1827
|
(
|
|
1828
1828
|
SF.overlay(SF.col("cola"), SF.col("colb"), SF.lit(3), SF.lit(7)),
|
|
1829
|
-
"OVERLAY(cola
|
|
1829
|
+
"OVERLAY(cola PLACING colb FROM 3 FOR 7)",
|
|
1830
1830
|
),
|
|
1831
|
-
(SF.overlay("cola", "colb", 3), "OVERLAY(cola
|
|
1831
|
+
(SF.overlay("cola", "colb", 3), "OVERLAY(cola PLACING colb FROM 3)"),
|
|
1832
1832
|
],
|
|
1833
1833
|
)
|
|
1834
1834
|
def test_overlay(expression, expected):
|
|
@@ -2263,8 +2263,8 @@ def test_array_contains(expression, expected):
|
|
|
2263
2263
|
@pytest.mark.parametrize(
|
|
2264
2264
|
"expression, expected",
|
|
2265
2265
|
[
|
|
2266
|
-
(SF.arrays_overlap("cola", "colb"), "
|
|
2267
|
-
(SF.arrays_overlap(SF.col("cola"), SF.col("colb")), "
|
|
2266
|
+
(SF.arrays_overlap("cola", "colb"), "cola && colb"),
|
|
2267
|
+
(SF.arrays_overlap(SF.col("cola"), SF.col("colb")), "cola && colb"),
|
|
2268
2268
|
],
|
|
2269
2269
|
)
|
|
2270
2270
|
def test_arrays_overlap(expression, expected):
|
|
@@ -4495,9 +4495,9 @@ def test_str_to_map(expression, expected):
|
|
|
4495
4495
|
@pytest.mark.parametrize(
|
|
4496
4496
|
"expression, expected",
|
|
4497
4497
|
[
|
|
4498
|
-
(SF.substr("cola", "colb"), "
|
|
4499
|
-
(SF.substr(SF.col("cola"), SF.col("colb")), "
|
|
4500
|
-
(SF.substr("cola", "colb", "colc"), "
|
|
4498
|
+
(SF.substr("cola", "colb"), "SUBSTRING(cola, colb)"),
|
|
4499
|
+
(SF.substr(SF.col("cola"), SF.col("colb")), "SUBSTRING(cola, colb)"),
|
|
4500
|
+
(SF.substr("cola", "colb", "colc"), "SUBSTRING(cola, colb, colc)"),
|
|
4501
4501
|
],
|
|
4502
4502
|
)
|
|
4503
4503
|
def test_substr(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.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.3.0 → sqlframe-3.4.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
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
|