sqlframe 3.40.1__tar.gz → 3.41.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.40.1 → sqlframe-3.41.0}/PKG-INFO +1 -1
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/duckdb.md +1 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/snowflake.md +1 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/setup.py +3 -3
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/_version.py +3 -3
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/functions.py +9 -1
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/readerwriter.py +10 -7
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe.egg-info/SOURCES.txt +1 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe.egg-info/requires.txt +3 -3
- sqlframe-3.41.0/tests/fixtures/netflix_daily_top_10.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_reader.py +18 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_dataframe.py +1 -1
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_functions.py +2 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.gitignore +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/LICENSE +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/Makefile +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/README.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/bigquery.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/configuration.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/databricks.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/images/SF.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/index.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/postgres.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/redshift.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/requirements.txt +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/spark.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/standalone.md +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/mkdocs.yml +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/pytest.ini +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/renovate.json +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/setup.cfg +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/py.typed +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/conftest.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_int_functions.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/duck/test_reader_options.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/spark/test_reader_options.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/test_base_reader_options.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/test_catalog.py +0 -0
- {sqlframe-3.40.1 → sqlframe-3.41.0}/tests/unit/test_util.py +0 -0
@@ -435,6 +435,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
435
435
|
* [rank](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.rank.html)
|
436
436
|
* [regexp](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp.html)
|
437
437
|
* [regexp_extract](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract.html)
|
438
|
+
* [regexp_extract_all](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract_all.html)
|
438
439
|
* [regexp_like](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_like.html)
|
439
440
|
* [regexp_replace](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_replace.html)
|
440
441
|
* [repeat](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.repeat.html)
|
@@ -472,6 +472,7 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
472
472
|
* [rand](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.rand.html)
|
473
473
|
* [rank](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.rank.html)
|
474
474
|
* [regexp_extract](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract.html)
|
475
|
+
* [regexp_extract_all](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_extract_all.html)
|
475
476
|
* [regexp_replace](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.regexp_replace.html)
|
476
477
|
* [repeat](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.repeat.html)
|
477
478
|
* [replace](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.replace.html)
|
@@ -20,7 +20,7 @@ setup(
|
|
20
20
|
python_requires=">=3.9",
|
21
21
|
install_requires=[
|
22
22
|
"prettytable<4",
|
23
|
-
"sqlglot>=24.0.0,<27.
|
23
|
+
"sqlglot>=24.0.0,<27.15",
|
24
24
|
"typing_extensions",
|
25
25
|
"more-itertools",
|
26
26
|
],
|
@@ -32,7 +32,7 @@ setup(
|
|
32
32
|
"dev": [
|
33
33
|
"duckdb>=1.2,<1.4",
|
34
34
|
"findspark>=2,<3",
|
35
|
-
"mypy>=1.10.0,<1.
|
35
|
+
"mypy>=1.10.0,<1.19",
|
36
36
|
"openai>=1.30,<2",
|
37
37
|
"pandas>=2,<3",
|
38
38
|
"pandas-stubs>=2,<3",
|
@@ -45,7 +45,7 @@ setup(
|
|
45
45
|
"pytest-rerunfailures",
|
46
46
|
"pytest-xdist>=3.6,<3.9",
|
47
47
|
"pre-commit>=3.7,<5",
|
48
|
-
"ruff>=0.4.4,<0.
|
48
|
+
"ruff>=0.4.4,<0.14",
|
49
49
|
"types-psycopg2>=2.9,<3",
|
50
50
|
],
|
51
51
|
"docs": [
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
28
28
|
commit_id: COMMIT_ID
|
29
29
|
__commit_id__: COMMIT_ID
|
30
30
|
|
31
|
-
__version__ = version = '3.
|
32
|
-
__version_tuple__ = version_tuple = (3,
|
31
|
+
__version__ = version = '3.41.0'
|
32
|
+
__version_tuple__ = version_tuple = (3, 41, 0)
|
33
33
|
|
34
|
-
__commit_id__ = commit_id = '
|
34
|
+
__commit_id__ = commit_id = 'g961d3fda2'
|
@@ -2133,6 +2133,11 @@ def bit_xor(col: ColumnOrName) -> Column:
|
|
2133
2133
|
|
2134
2134
|
@meta(unsupported_engines=["postgres", "snowflake"])
|
2135
2135
|
def bit_count(col: ColumnOrName) -> Column:
|
2136
|
+
session = _get_session()
|
2137
|
+
|
2138
|
+
if session._is_duckdb:
|
2139
|
+
return Column.invoke_anonymous_function(col, "BIT_COUNT")
|
2140
|
+
|
2136
2141
|
return Column.invoke_expression_over_column(col, expression.BitwiseCountAgg)
|
2137
2142
|
|
2138
2143
|
|
@@ -5216,7 +5221,7 @@ def regexp_count(str: ColumnOrName, regexp: ColumnOrName) -> Column:
|
|
5216
5221
|
return Column.invoke_anonymous_function(str, "regexp_count", regexp)
|
5217
5222
|
|
5218
5223
|
|
5219
|
-
@meta(unsupported_engines="
|
5224
|
+
@meta(unsupported_engines=["bigquery", "postgres"])
|
5220
5225
|
def regexp_extract_all(
|
5221
5226
|
str: ColumnOrName, regexp: ColumnOrName, idx: t.Optional[t.Union[int, Column]] = None
|
5222
5227
|
) -> Column:
|
@@ -5251,6 +5256,9 @@ def regexp_extract_all(
|
|
5251
5256
|
>>> df.select(regexp_extract_all('str', col("regexp")).alias('d')).collect()
|
5252
5257
|
[Row(d=['100', '300'])]
|
5253
5258
|
"""
|
5259
|
+
if idx is None:
|
5260
|
+
idx = 1
|
5261
|
+
|
5254
5262
|
return Column.invoke_expression_over_column(
|
5255
5263
|
str, expression.RegexpExtractAll, expression=regexp, group=idx
|
5256
5264
|
)
|
@@ -61,14 +61,17 @@ class _BaseDataFrameReader(t.Generic[SESSION, DF, TABLE]):
|
|
61
61
|
def _to_casted_columns(self, column_mapping: t.Dict) -> t.List[Column]:
|
62
62
|
from sqlframe.base.column import Column
|
63
63
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
64
|
+
results = []
|
65
|
+
for k, v in column_mapping.items():
|
66
|
+
column = exp.to_column(k, dialect=self.session.input_dialect)
|
67
|
+
results.append(
|
68
|
+
Column(
|
69
|
+
exp.cast(
|
70
|
+
column, to=exp.DataType.build(v, dialect=self.session.input_dialect)
|
71
|
+
).as_(column.this)
|
72
|
+
)
|
69
73
|
)
|
70
|
-
|
71
|
-
]
|
74
|
+
return results
|
72
75
|
|
73
76
|
def format(self, source: str) -> "Self":
|
74
77
|
"""Specifies the input data source format.
|
@@ -193,6 +193,7 @@ tests/fixtures/employee.json
|
|
193
193
|
tests/fixtures/employee.parquet
|
194
194
|
tests/fixtures/employee_extra_line.csv
|
195
195
|
tests/fixtures/issue_219.csv
|
196
|
+
tests/fixtures/netflix_daily_top_10.parquet
|
196
197
|
tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc
|
197
198
|
tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc
|
198
199
|
tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc
|
@@ -1,6 +1,6 @@
|
|
1
1
|
more-itertools
|
2
2
|
prettytable<4
|
3
|
-
sqlglot<27.
|
3
|
+
sqlglot<27.15,>=24.0.0
|
4
4
|
typing_extensions
|
5
5
|
|
6
6
|
[bigquery]
|
@@ -13,7 +13,7 @@ databricks-sql-connector[pyarrow]<5,>=3.6
|
|
13
13
|
[dev]
|
14
14
|
duckdb<1.4,>=1.2
|
15
15
|
findspark<3,>=2
|
16
|
-
mypy<1.
|
16
|
+
mypy<1.19,>=1.10.0
|
17
17
|
openai<2,>=1.30
|
18
18
|
pandas-stubs<3,>=2
|
19
19
|
pandas<3,>=2
|
@@ -26,7 +26,7 @@ pytest-postgresql<8,>=6
|
|
26
26
|
pytest-rerunfailures
|
27
27
|
pytest-xdist<3.9,>=3.6
|
28
28
|
pytest<8.5,>=8.2.0
|
29
|
-
ruff<0.
|
29
|
+
ruff<0.14,>=0.4.4
|
30
30
|
types-psycopg2<3,>=2.9
|
31
31
|
|
32
32
|
[docs]
|
Binary file
|
@@ -145,3 +145,21 @@ def test_read_parquet_optimize(duckdb_session: DuckDBSession):
|
|
145
145
|
) # Contains a `person_id` and a `person_source_value` column
|
146
146
|
df.createOrReplaceTempView("employee")
|
147
147
|
duckdb_session.table("employee").sql(optimize=True) # type: ignore
|
148
|
+
|
149
|
+
|
150
|
+
# https://github.com/eakmanrq/sqlframe/issues/499
|
151
|
+
def test_quoted_columns_parquet(duckdb_session: DuckDBSession):
|
152
|
+
df = duckdb_session.read.parquet("tests/fixtures/netflix_daily_top_10.parquet")
|
153
|
+
df = (
|
154
|
+
df.filter(F.col("Type") == "TV Show")
|
155
|
+
.groupBy("Title")
|
156
|
+
.agg(F.max(F.col("Days In Top 10")).alias("max_days_in_top_10"))
|
157
|
+
.orderBy(F.desc("max_days_in_top_10"))
|
158
|
+
.limit(4)
|
159
|
+
)
|
160
|
+
assert df.collect() == [
|
161
|
+
Row(**{"Title": "Cocomelon", "max_days_in_top_10": 428}),
|
162
|
+
Row(**{"Title": "Ozark", "max_days_in_top_10": 89}),
|
163
|
+
Row(**{"Title": "Cobra Kai", "max_days_in_top_10": 81}),
|
164
|
+
Row(**{"Title": "Manifest", "max_days_in_top_10": 80}),
|
165
|
+
]
|
@@ -178,7 +178,7 @@ def test_lineage(standalone_employee: StandaloneDataFrame):
|
|
178
178
|
def test_unquoted_identifiers(standalone_employee: StandaloneDataFrame):
|
179
179
|
assert (
|
180
180
|
standalone_employee.sql(dialect="snowflake", pretty=False, quote_identifiers=False)
|
181
|
-
== """SELECT A1.EMPLOYEE_ID AS "employee_id", CAST(A1.FNAME AS
|
181
|
+
== """SELECT A1.EMPLOYEE_ID AS "employee_id", CAST(A1.FNAME AS VARCHAR) AS "fname", CAST(A1.LNAME AS VARCHAR) AS "lname", A1.AGE AS "age", A1.STORE_ID AS "store_id" FROM (VALUES (1, 'Jack', 'Shephard', 37, 1), (2, 'John', 'Locke', 65, 1), (3, 'Kate', 'Austen', 37, 2), (4, 'Claire', 'Littleton', 27, 2), (5, 'Hugo', 'Reyes', 29, 100)) AS A1(EMPLOYEE_ID, FNAME, LNAME, AGE, STORE_ID)"""
|
182
182
|
)
|
183
183
|
|
184
184
|
|
@@ -19,6 +19,7 @@ def test_invoke_anonymous(name, func):
|
|
19
19
|
# ltrim/rtrim - don't seem to convert correctly on some engines
|
20
20
|
# unix_micros - it is actually supported just an engine specific override uses an anonymous function
|
21
21
|
# format_string - seemed like a complex match that had overrides so not worth it
|
22
|
+
# bit_count - requires an override for DuckDB
|
22
23
|
ignore_funcs = {
|
23
24
|
"array_size",
|
24
25
|
"exists",
|
@@ -30,6 +31,7 @@ def test_invoke_anonymous(name, func):
|
|
30
31
|
"current_schema",
|
31
32
|
"unix_micros",
|
32
33
|
"format_string",
|
34
|
+
"bit_count",
|
33
35
|
}
|
34
36
|
if "invoke_anonymous_function" in inspect.getsource(func) and name not in ignore_funcs:
|
35
37
|
func = parse_one(f"{name}()", read="spark", error_level=ErrorLevel.IGNORE)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
File without changes
|
File without changes
|
{sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
File without changes
|
{sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
File without changes
|
{sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
File without changes
|
{sqlframe-3.40.1 → sqlframe-3.41.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|