sqlframe 3.7.0__tar.gz → 3.8.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.7.0 → sqlframe-3.8.1}/PKG-INFO +1 -1
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/bigquery.md +1 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/duckdb.md +3 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/snowflake.md +4 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/setup.py +3 -3
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/_version.py +2 -2
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/function_alternatives.py +1 -1
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/functions.py +11 -11
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe.egg-info/requires.txt +3 -3
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_functions.py +4 -2
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.github/CODEOWNERS +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.gitignore +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/.readthedocs.yaml +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/LICENSE +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/Makefile +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/README.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/cake.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/configuration.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/docs/postgres.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/images/SF.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/images/favicon.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/index.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/postgres.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/requirements.txt +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/spark.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/standalone.md +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/mkdocs.yml +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/pytest.ini +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/renovate.json +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/setup.cfg +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/LICENSE +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/util.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/base/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/common_fixtures.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/conftest.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_int_functions.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/conftest.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.7.0 → sqlframe-3.8.1}/tests/unit/test_util.py +0 -0
|
@@ -425,6 +425,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
425
425
|
* [max_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.max_by.html)
|
|
426
426
|
* [md5](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.md5.html)
|
|
427
427
|
* [mean](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.mean.html)
|
|
428
|
+
* [median](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.median.html)
|
|
428
429
|
* [min](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min.html)
|
|
429
430
|
* [min_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min_by.html)
|
|
430
431
|
* [minute](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.minute.html)
|
|
@@ -308,6 +308,8 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
308
308
|
* [concat](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.concat.html)
|
|
309
309
|
* Only works on strings (does not work on arrays)
|
|
310
310
|
* [concat_ws](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.concat_ws.html)
|
|
311
|
+
* [contains](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.contains.html)
|
|
312
|
+
* Only works on strings (does not support binary)
|
|
311
313
|
* [convert_timezone](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.convert_timezone.html)
|
|
312
314
|
* [corr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.corr.html)
|
|
313
315
|
* [cos](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.cos.html)
|
|
@@ -395,6 +397,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
395
397
|
* [max_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.max_by.html)
|
|
396
398
|
* [md5](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.md5.html)
|
|
397
399
|
* [mean](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.mean.html)
|
|
400
|
+
* [median](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.median.html)
|
|
398
401
|
* [min](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min.html)
|
|
399
402
|
* [min_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min_by.html)
|
|
400
403
|
* [minute](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.minute.html)
|
|
@@ -344,6 +344,8 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
344
344
|
* [concat](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.concat.html)
|
|
345
345
|
* Can only concat strings not arrays
|
|
346
346
|
* [concat_ws](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.concat_ws.html)
|
|
347
|
+
* [contains](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.contains.html)
|
|
348
|
+
* * Only works on strings (does not support binary)
|
|
347
349
|
* [convert_timezone](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.convert_timezone.html)
|
|
348
350
|
* [corr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.corr.html)
|
|
349
351
|
* [cos](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.cos.html)
|
|
@@ -428,6 +430,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
428
430
|
* [max_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.max_by.html)
|
|
429
431
|
* [md5](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.md5.html)
|
|
430
432
|
* [mean](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.mean.html)
|
|
433
|
+
* [median](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.median.html)
|
|
431
434
|
* [min](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min.html)
|
|
432
435
|
* [min_by](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.min_by.html)
|
|
433
436
|
* [minute](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.minute.html)
|
|
@@ -510,6 +513,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
|
510
513
|
* [ucase](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.ucase.html)
|
|
511
514
|
* [unbase64](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.unbase64.html)
|
|
512
515
|
* [unhex](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.unhex.html)
|
|
516
|
+
* [unix_seconds](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.unix_seconds.html)
|
|
513
517
|
* [unix_timestamp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.unix_timestamp.html)
|
|
514
518
|
* [upper](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.upper.html)
|
|
515
519
|
* [var_pop](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.var_pop.html)
|
|
@@ -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,<25.
|
|
23
|
+
"sqlglot>=24.0.0,<25.32",
|
|
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.14",
|
|
35
|
-
"openai>=1.30,<1.
|
|
35
|
+
"openai>=1.30,<1.55",
|
|
36
36
|
"pandas>=2,<3",
|
|
37
37
|
"pandas-stubs>=2,<3",
|
|
38
38
|
"psycopg>=3.1,<4",
|
|
@@ -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.55",
|
|
62
62
|
],
|
|
63
63
|
"pandas": [
|
|
64
64
|
"pandas>=2,<3",
|
|
@@ -1593,7 +1593,7 @@ def try_to_timestamp_pgtemp(col: ColumnOrName, format: t.Optional[ColumnOrName]
|
|
|
1593
1593
|
def typeof_pg_typeof(col: ColumnOrName) -> Column:
|
|
1594
1594
|
return (
|
|
1595
1595
|
Column.invoke_anonymous_function(col, "pg_typeof")
|
|
1596
|
-
.cast(expression.DataType.
|
|
1596
|
+
.cast(expression.DataType(this=expression.DataType.Type.USERDEFINED, kind="regtype"))
|
|
1597
1597
|
.cast("text")
|
|
1598
1598
|
)
|
|
1599
1599
|
|
|
@@ -2069,9 +2069,11 @@ def character_length(str: ColumnOrName) -> Column:
|
|
|
2069
2069
|
return Column.invoke_anonymous_function(str, "character_length")
|
|
2070
2070
|
|
|
2071
2071
|
|
|
2072
|
-
@meta()
|
|
2072
|
+
@meta(unsupported_engines=["bigquery", "postgres"])
|
|
2073
2073
|
def contains(left: ColumnOrName, right: ColumnOrName) -> Column:
|
|
2074
|
-
return Column.
|
|
2074
|
+
return Column.invoke_expression_over_column(
|
|
2075
|
+
left, expression.Contains, expression=Column.ensure_col(right).expression
|
|
2076
|
+
)
|
|
2075
2077
|
|
|
2076
2078
|
|
|
2077
2079
|
@meta(unsupported_engines=["bigquery", "postgres"])
|
|
@@ -3484,7 +3486,7 @@ def mask(
|
|
|
3484
3486
|
)
|
|
3485
3487
|
|
|
3486
3488
|
|
|
3487
|
-
@meta(unsupported_engines="
|
|
3489
|
+
@meta(unsupported_engines=["bigquery"])
|
|
3488
3490
|
def median(col: ColumnOrName) -> Column:
|
|
3489
3491
|
"""
|
|
3490
3492
|
Returns the median of the values in a group.
|
|
@@ -3520,7 +3522,7 @@ def median(col: ColumnOrName) -> Column:
|
|
|
3520
3522
|
|dotNET| 10000.0|
|
|
3521
3523
|
+------+----------------+
|
|
3522
3524
|
"""
|
|
3523
|
-
return Column.
|
|
3525
|
+
return Column.invoke_expression_over_column(col, expression.Median)
|
|
3524
3526
|
|
|
3525
3527
|
|
|
3526
3528
|
@meta(unsupported_engines="*")
|
|
@@ -4106,11 +4108,9 @@ def regexp_extract_all(
|
|
|
4106
4108
|
>>> df.select(regexp_extract_all('str', col("regexp")).alias('d')).collect()
|
|
4107
4109
|
[Row(d=['100', '300'])]
|
|
4108
4110
|
"""
|
|
4109
|
-
|
|
4110
|
-
|
|
4111
|
-
|
|
4112
|
-
idx = lit(idx) if isinstance(idx, int) else idx
|
|
4113
|
-
return Column.invoke_anonymous_function(str, "regexp_extract_all", regexp, idx)
|
|
4111
|
+
return Column.invoke_expression_over_column(
|
|
4112
|
+
str, expression.RegexpExtractAll, expression=regexp, group=idx
|
|
4113
|
+
)
|
|
4114
4114
|
|
|
4115
4115
|
|
|
4116
4116
|
@meta(unsupported_engines="*")
|
|
@@ -5426,7 +5426,7 @@ def unix_millis(col: ColumnOrName) -> Column:
|
|
|
5426
5426
|
return Column.invoke_anonymous_function(col, "unix_millis")
|
|
5427
5427
|
|
|
5428
5428
|
|
|
5429
|
-
@meta(unsupported_engines="
|
|
5429
|
+
@meta(unsupported_engines=["bigquery", "duckdb", "postgres"])
|
|
5430
5430
|
def unix_seconds(col: ColumnOrName) -> Column:
|
|
5431
5431
|
"""Returns the number of seconds since 1970-01-01 00:00:00 UTC.
|
|
5432
5432
|
Truncates higher levels of precision.
|
|
@@ -5441,7 +5441,7 @@ def unix_seconds(col: ColumnOrName) -> Column:
|
|
|
5441
5441
|
[Row(n=1437584400)]
|
|
5442
5442
|
>>> spark.conf.unset("spark.sql.session.timeZone")
|
|
5443
5443
|
"""
|
|
5444
|
-
return Column.
|
|
5444
|
+
return Column.invoke_expression_over_column(col, expression.UnixSeconds)
|
|
5445
5445
|
|
|
5446
5446
|
|
|
5447
5447
|
@meta(unsupported_engines="*")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<3.12.1
|
|
2
|
-
sqlglot<25.
|
|
2
|
+
sqlglot<25.32,>=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.14,>=1.10.0
|
|
13
|
-
openai<1.
|
|
13
|
+
openai<1.55,>=1.30
|
|
14
14
|
pandas-stubs<3,>=2
|
|
15
15
|
pandas<3,>=2
|
|
16
16
|
psycopg<4,>=3.1
|
|
@@ -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.55,>=1.30
|
|
44
44
|
|
|
45
45
|
[pandas]
|
|
46
46
|
pandas<3,>=2
|
|
@@ -13,9 +13,11 @@ from sqlframe.standalone import functions as SF
|
|
|
13
13
|
@pytest.mark.parametrize("name,func", inspect.getmembers(SF, inspect.isfunction))
|
|
14
14
|
def test_invoke_anonymous(name, func):
|
|
15
15
|
# array_size - converts to `size` but `array_size` and `size` behave differently
|
|
16
|
+
# exists - the spark exists takes a lambda function and the exists in SQLGlot seems more basic
|
|
17
|
+
# make_interval - SQLGlot doesn't support week
|
|
16
18
|
# to_char - convert to a cast that ignores the format provided
|
|
17
19
|
# ltrim/rtrim - don't seem to convert correctly on some engines
|
|
18
|
-
ignore_funcs = {"array_size", "to_char", "ltrim", "rtrim"}
|
|
20
|
+
ignore_funcs = {"array_size", "exists", "make_interval", "to_char", "ltrim", "rtrim"}
|
|
19
21
|
if "invoke_anonymous_function" in inspect.getsource(func) and name not in ignore_funcs:
|
|
20
22
|
func = parse_one(f"{name}()", read="spark", error_level=ErrorLevel.IGNORE)
|
|
21
23
|
assert isinstance(func, exp.Anonymous)
|
|
@@ -4224,7 +4226,7 @@ def test_regexp_count(expression, expected):
|
|
|
4224
4226
|
SF.regexp_extract_all("cola", "colb", SF.col("colc")),
|
|
4225
4227
|
"REGEXP_EXTRACT_ALL(cola, colb, colc)",
|
|
4226
4228
|
),
|
|
4227
|
-
(SF.regexp_extract_all("cola", "colb",
|
|
4229
|
+
(SF.regexp_extract_all("cola", "colb", 2), "REGEXP_EXTRACT_ALL(cola, colb, 2)"),
|
|
4228
4230
|
],
|
|
4229
4231
|
)
|
|
4230
4232
|
def test_regexp_extract_all(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.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sqlframe-3.7.0 → sqlframe-3.8.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.7.0 → sqlframe-3.8.1}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|