sqlframe 3.24.1__tar.gz → 3.26.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.24.1 → sqlframe-3.26.0}/PKG-INFO +1 -1
- {sqlframe-3.24.1 → sqlframe-3.26.0}/setup.py +2 -2
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/_version.py +2 -2
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/function_alternatives.py +11 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/functions.py +34 -8
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/functions.pyi +2 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe.egg-info/requires.txt +2 -2
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_int_functions.py +11 -7
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.gitignore +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/LICENSE +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/Makefile +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/README.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/bigquery.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/configuration.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/databricks.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/duckdb.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/images/SF.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/index.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/postgres.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/redshift.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/requirements.txt +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/snowflake.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/spark.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/standalone.md +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/mkdocs.yml +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/pytest.ini +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/renovate.json +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/setup.cfg +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/py.typed +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/conftest.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.24.1 → sqlframe-3.26.0}/tests/unit/test_util.py +0 -0
|
@@ -20,7 +20,7 @@ setup(
|
|
|
20
20
|
python_requires=">=3.9",
|
|
21
21
|
install_requires=[
|
|
22
22
|
"prettytable<4",
|
|
23
|
-
"sqlglot>=24.0.0,<26.
|
|
23
|
+
"sqlglot>=24.0.0,<26.12",
|
|
24
24
|
"typing_extensions",
|
|
25
25
|
],
|
|
26
26
|
extras_require={
|
|
@@ -43,7 +43,7 @@ setup(
|
|
|
43
43
|
"pytest-postgresql>=6,<8",
|
|
44
44
|
"pytest-xdist>=3.6,<3.7",
|
|
45
45
|
"pre-commit>=3.7,<5",
|
|
46
|
-
"ruff>=0.4.4,<0.
|
|
46
|
+
"ruff>=0.4.4,<0.12",
|
|
47
47
|
"types-psycopg2>=2.9,<3",
|
|
48
48
|
],
|
|
49
49
|
"docs": [
|
|
@@ -551,6 +551,17 @@ def sha1_force_sha1_and_to_hex(col: ColumnOrName) -> Column:
|
|
|
551
551
|
)
|
|
552
552
|
|
|
553
553
|
|
|
554
|
+
def sha2_sha265(col: ColumnOrName) -> Column:
|
|
555
|
+
col_func = get_func_from_session("col")
|
|
556
|
+
|
|
557
|
+
return Column(
|
|
558
|
+
expression.Anonymous(
|
|
559
|
+
this="SHA256",
|
|
560
|
+
expressions=[col_func(col).column_expression],
|
|
561
|
+
)
|
|
562
|
+
)
|
|
563
|
+
|
|
564
|
+
|
|
554
565
|
def hash_from_farm_fingerprint(*cols: ColumnOrName) -> Column:
|
|
555
566
|
if len(cols) > 1:
|
|
556
567
|
raise ValueError("This dialect only supports a single column for calculating hash")
|
|
@@ -1492,7 +1492,7 @@ def md5(col: ColumnOrName) -> Column:
|
|
|
1492
1492
|
return Column.invoke_expression_over_column(col, expression.MD5)
|
|
1493
1493
|
|
|
1494
1494
|
|
|
1495
|
-
@meta(unsupported_engines=["
|
|
1495
|
+
@meta(unsupported_engines=["postgres"])
|
|
1496
1496
|
def sha1(col: ColumnOrName) -> Column:
|
|
1497
1497
|
from sqlframe.base.function_alternatives import sha1_force_sha1_and_to_hex
|
|
1498
1498
|
|
|
@@ -1504,8 +1504,18 @@ def sha1(col: ColumnOrName) -> Column:
|
|
|
1504
1504
|
return Column.invoke_expression_over_column(col, expression.SHA)
|
|
1505
1505
|
|
|
1506
1506
|
|
|
1507
|
-
@meta(unsupported_engines=["bigquery", "
|
|
1507
|
+
@meta(unsupported_engines=["bigquery", "postgres"])
|
|
1508
1508
|
def sha2(col: ColumnOrName, numBits: int) -> Column:
|
|
1509
|
+
from sqlframe.base.function_alternatives import sha2_sha265
|
|
1510
|
+
|
|
1511
|
+
session = _get_session()
|
|
1512
|
+
|
|
1513
|
+
if session._is_duckdb:
|
|
1514
|
+
if numBits in [256, 0]:
|
|
1515
|
+
return sha2_sha265(col)
|
|
1516
|
+
else:
|
|
1517
|
+
raise ValueError("This dialect only supports SHA-265 (numBits=256 or numBits=0)")
|
|
1518
|
+
|
|
1509
1519
|
return Column.invoke_expression_over_column(col, expression.SHA2, length=lit(numBits))
|
|
1510
1520
|
|
|
1511
1521
|
|
|
@@ -2355,15 +2365,31 @@ def from_json(
|
|
|
2355
2365
|
schema = schema.simpleString()
|
|
2356
2366
|
schema = schema if isinstance(schema, Column) else lit(schema)
|
|
2357
2367
|
if options is not None:
|
|
2358
|
-
options_col = create_map([lit(x) for x in _flatten(options.items())])
|
|
2368
|
+
options_col = create_map([lit(str(x)) for x in _flatten(options.items())])
|
|
2359
2369
|
return Column.invoke_anonymous_function(col, "FROM_JSON", schema, options_col)
|
|
2360
2370
|
return Column.invoke_anonymous_function(col, "FROM_JSON", schema)
|
|
2361
2371
|
|
|
2362
2372
|
|
|
2363
|
-
@meta(unsupported_engines=["bigquery", "
|
|
2373
|
+
@meta(unsupported_engines=["bigquery", "postgres", "snowflake"])
|
|
2364
2374
|
def to_json(col: ColumnOrName, options: t.Optional[t.Dict[str, str]] = None) -> Column:
|
|
2375
|
+
session = _get_session()
|
|
2376
|
+
if session._is_duckdb:
|
|
2377
|
+
# check if Spark options match DuckDB's default behavior
|
|
2378
|
+
is_spark_equivalent = (
|
|
2379
|
+
options
|
|
2380
|
+
and list(options.keys()) == ["ignoreNullFields"] # only one option specified
|
|
2381
|
+
and str(options.get("ignoreNullFields", "true")).lower() == "false"
|
|
2382
|
+
)
|
|
2383
|
+
if not is_spark_equivalent:
|
|
2384
|
+
logger.warning(
|
|
2385
|
+
"Options for `to_json()` ignored, since not supported in this dialect."
|
|
2386
|
+
+ " Potential `null` values are included in the returned JSON string."
|
|
2387
|
+
+ " This is different from Spark's default behavior."
|
|
2388
|
+
)
|
|
2389
|
+
options = None
|
|
2390
|
+
|
|
2365
2391
|
if options is not None:
|
|
2366
|
-
options_col = create_map([lit(x) for x in _flatten(options.items())])
|
|
2392
|
+
options_col = create_map([lit(str(x)) for x in _flatten(options.items())])
|
|
2367
2393
|
return Column.invoke_expression_over_column(col, expression.JSONFormat, options=options_col)
|
|
2368
2394
|
return Column.invoke_expression_over_column(col, expression.JSONFormat)
|
|
2369
2395
|
|
|
@@ -2373,7 +2399,7 @@ def schema_of_json(col: ColumnOrName, options: t.Optional[t.Dict[str, str]] = No
|
|
|
2373
2399
|
if isinstance(col, str):
|
|
2374
2400
|
col = lit(col)
|
|
2375
2401
|
if options is not None:
|
|
2376
|
-
options_col = create_map([lit(x) for x in _flatten(options.items())])
|
|
2402
|
+
options_col = create_map([lit(str(x)) for x in _flatten(options.items())])
|
|
2377
2403
|
return Column.invoke_anonymous_function(col, "SCHEMA_OF_JSON", options_col)
|
|
2378
2404
|
return Column.invoke_anonymous_function(col, "SCHEMA_OF_JSON")
|
|
2379
2405
|
|
|
@@ -2383,7 +2409,7 @@ def schema_of_csv(col: ColumnOrName, options: t.Optional[t.Dict[str, str]] = Non
|
|
|
2383
2409
|
if isinstance(col, str):
|
|
2384
2410
|
col = lit(col)
|
|
2385
2411
|
if options is not None:
|
|
2386
|
-
options_col = create_map([lit(x) for x in _flatten(options.items())])
|
|
2412
|
+
options_col = create_map([lit(str(x)) for x in _flatten(options.items())])
|
|
2387
2413
|
return Column.invoke_anonymous_function(col, "SCHEMA_OF_CSV", options_col)
|
|
2388
2414
|
return Column.invoke_anonymous_function(col, "SCHEMA_OF_CSV")
|
|
2389
2415
|
|
|
@@ -2391,7 +2417,7 @@ def schema_of_csv(col: ColumnOrName, options: t.Optional[t.Dict[str, str]] = Non
|
|
|
2391
2417
|
@meta(unsupported_engines=["bigquery", "duckdb", "postgres", "snowflake"])
|
|
2392
2418
|
def to_csv(col: ColumnOrName, options: t.Optional[t.Dict[str, str]] = None) -> Column:
|
|
2393
2419
|
if options is not None:
|
|
2394
|
-
options_col = create_map([lit(x) for x in _flatten(options.items())])
|
|
2420
|
+
options_col = create_map([lit(str(x)) for x in _flatten(options.items())])
|
|
2395
2421
|
return Column.invoke_anonymous_function(col, "TO_CSV", options_col)
|
|
2396
2422
|
return Column.invoke_anonymous_function(col, "TO_CSV")
|
|
2397
2423
|
|
|
@@ -166,6 +166,7 @@ from sqlframe.base.functions import rpad as rpad
|
|
|
166
166
|
from sqlframe.base.functions import rtrim as rtrim
|
|
167
167
|
from sqlframe.base.functions import second as second
|
|
168
168
|
from sqlframe.base.functions import sequence as sequence
|
|
169
|
+
from sqlframe.base.functions import sha1 as sha1
|
|
169
170
|
from sqlframe.base.functions import shiftLeft as shiftLeft
|
|
170
171
|
from sqlframe.base.functions import shiftleft as shiftleft
|
|
171
172
|
from sqlframe.base.functions import shiftRight as shiftRight
|
|
@@ -194,6 +195,7 @@ from sqlframe.base.functions import sumDistinct as sumDistinct
|
|
|
194
195
|
from sqlframe.base.functions import tan as tan
|
|
195
196
|
from sqlframe.base.functions import timestamp_seconds as timestamp_seconds
|
|
196
197
|
from sqlframe.base.functions import to_date as to_date
|
|
198
|
+
from sqlframe.base.functions import to_json as to_json
|
|
197
199
|
from sqlframe.base.functions import to_timestamp as to_timestamp
|
|
198
200
|
from sqlframe.base.functions import to_unix_timestamp as to_unix_timestamp
|
|
199
201
|
from sqlframe.base.functions import toDegrees as toDegrees
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
prettytable<4
|
|
2
|
-
sqlglot<26.
|
|
2
|
+
sqlglot<26.12,>=24.0.0
|
|
3
3
|
typing_extensions
|
|
4
4
|
|
|
5
5
|
[bigquery]
|
|
@@ -24,7 +24,7 @@ pytest-forked
|
|
|
24
24
|
pytest-postgresql<8,>=6
|
|
25
25
|
pytest-xdist<3.7,>=3.6
|
|
26
26
|
pytest<8.4,>=8.2.0
|
|
27
|
-
ruff<0.
|
|
27
|
+
ruff<0.12,>=0.4.4
|
|
28
28
|
types-psycopg2<3,>=2.9
|
|
29
29
|
|
|
30
30
|
[docs]
|
|
@@ -2460,15 +2460,19 @@ def test_from_json(get_session_and_func, get_types, get_func):
|
|
|
2460
2460
|
|
|
2461
2461
|
def test_to_json(get_session_and_func, get_types, get_func):
|
|
2462
2462
|
session, to_json = get_session_and_func("to_json")
|
|
2463
|
-
data = [(1, Row(
|
|
2463
|
+
data = [(1, Row(id=2, name="Alice", birthday=datetime.date(1995, 1, 9)))]
|
|
2464
2464
|
df = session.createDataFrame(data, ("key", "value"))
|
|
2465
|
-
assert df.select(
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2465
|
+
assert df.select(
|
|
2466
|
+
to_json(df.value, options={"ignoreNullFields": False, "dateFormat": "yyyy-MM-dd"}).alias(
|
|
2467
|
+
"json"
|
|
2468
|
+
)
|
|
2469
|
+
).collect() == [Row(json='{"id":2,"name":"Alice","birthday":"1995-01-09"}')]
|
|
2470
|
+
data = [(1, [Row(id=2, name="Alice"), Row(id=3, name="Bob"), Row(id=4, name=None)])]
|
|
2469
2471
|
df = session.createDataFrame(data, ("key", "value"))
|
|
2470
|
-
assert df.select(
|
|
2471
|
-
|
|
2472
|
+
assert df.select(
|
|
2473
|
+
to_json(df.value, options={"ignoreNullFields": "false"}).alias("json")
|
|
2474
|
+
).collect() == [
|
|
2475
|
+
Row(json='[{"id":2,"name":"Alice"},{"id":3,"name":"Bob"},{"id":4,"name":null}]')
|
|
2472
2476
|
]
|
|
2473
2477
|
data = [(1, {"name": "Alice"})]
|
|
2474
2478
|
df = session.createDataFrame(data, ("key", "value"))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
|
File without changes
|
|
File without changes
|
{sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
|
File without changes
|
{sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
|
File without changes
|
{sqlframe-3.24.1 → sqlframe-3.26.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
|
File without changes
|
{sqlframe-3.24.1 → sqlframe-3.26.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|