sqlframe 3.21.0__tar.gz → 3.21.1__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sqlframe-3.21.0 → sqlframe-3.21.1}/PKG-INFO +1 -1
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/duckdb.md +0 -1
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/snowflake.md +0 -1
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/_version.py +2 -2
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/dataframe.py +23 -14
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/function_alternatives.py +0 -4
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/functions.py +22 -4
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/util.py +1 -5
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_dataframe.py +31 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_int_functions.py +1 -5
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_dataframe.py +1 -1
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.github/CODEOWNERS +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.gitignore +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/.readthedocs.yaml +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/LICENSE +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/Makefile +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/README.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/cake.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/bigquery.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/configuration.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/databricks.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/images/favicon_old.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/docs/postgres.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/images/SF.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/images/favicon.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/images/favicon_old.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/images/sqlframe_diagram.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/index.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/postgres.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/redshift.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/requirements.txt +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/spark.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/standalone.md +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/mkdocs.yml +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/pytest.ini +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/renovate.json +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/setup.cfg +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/setup.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/LICENSE +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/base/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe.egg-info/requires.txt +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/common_fixtures.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/conftest.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/conftest.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_functions.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_types.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.21.0 → sqlframe-3.21.1}/tests/unit/test_util.py +0 -0
@@ -448,7 +448,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
448
448
|
* [sin](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sin.html)
|
449
449
|
* [size](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.size.html)
|
450
450
|
* [skewness](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.skewness.html)
|
451
|
-
* Returned value is different but is still calculating the same thing. Need to investigate difference in calculation
|
452
451
|
* [slice](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.slice.html)
|
453
452
|
* [sort_array](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sort_array.html)
|
454
453
|
* [soundex](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.soundex.html)
|
@@ -487,7 +487,6 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
487
487
|
* [sinh](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sinh.html)
|
488
488
|
* [size](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.size.html)
|
489
489
|
* [skewness](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.skewness.html)
|
490
|
-
* Skewness is calculated differently
|
491
490
|
* [slice](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.slice.html)
|
492
491
|
* [sort_array](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.sort_array.html)
|
493
492
|
* [soundex](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.soundex.html)
|
@@ -296,6 +296,12 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
296
296
|
|
297
297
|
@property
|
298
298
|
def columns(self) -> t.List[str]:
|
299
|
+
expression_display_names = self.expression.copy()
|
300
|
+
self._set_display_names(expression_display_names)
|
301
|
+
return expression_display_names.named_selects
|
302
|
+
|
303
|
+
@property
|
304
|
+
def _columns(self) -> t.List[str]:
|
299
305
|
return self.expression.named_selects
|
300
306
|
|
301
307
|
@property
|
@@ -611,6 +617,18 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
611
617
|
}
|
612
618
|
self.display_name_mapping.update(zipped)
|
613
619
|
|
620
|
+
def _set_display_names(self, select_expression: exp.Select) -> None:
|
621
|
+
for index, column in enumerate(select_expression.expressions):
|
622
|
+
column_name = quote_preserving_alias_or_name(column)
|
623
|
+
if column_name in self.display_name_mapping:
|
624
|
+
display_name_identifier = exp.to_identifier(
|
625
|
+
self.display_name_mapping[column_name], quoted=True
|
626
|
+
)
|
627
|
+
display_name_identifier._meta = {"case_sensitive": True, **(column._meta or {})}
|
628
|
+
select_expression.expressions[index] = exp.alias_(
|
629
|
+
column.unalias(), display_name_identifier, quoted=True
|
630
|
+
)
|
631
|
+
|
614
632
|
def _get_expressions(
|
615
633
|
self,
|
616
634
|
optimize: bool = True,
|
@@ -631,16 +649,7 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
631
649
|
select_expression = select_expression.transform(
|
632
650
|
replace_id_value, replacement_mapping
|
633
651
|
).assert_is(exp.Select)
|
634
|
-
|
635
|
-
column_name = quote_preserving_alias_or_name(column)
|
636
|
-
if column_name in self.display_name_mapping:
|
637
|
-
display_name_identifier = exp.to_identifier(
|
638
|
-
self.display_name_mapping[column_name], quoted=True
|
639
|
-
)
|
640
|
-
display_name_identifier._meta = {"case_sensitive": True, **(column._meta or {})}
|
641
|
-
select_expression.expressions[index] = exp.alias_(
|
642
|
-
column.unalias(), display_name_identifier, quoted=True
|
643
|
-
)
|
652
|
+
self._set_display_names(select_expression)
|
644
653
|
if optimize:
|
645
654
|
select_expression = t.cast(
|
646
655
|
exp.Select,
|
@@ -1158,8 +1167,8 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
1158
1167
|
|
1159
1168
|
@operation(Operation.FROM)
|
1160
1169
|
def unionByName(self, other: Self, allowMissingColumns: bool = False) -> Self:
|
1161
|
-
l_columns = self.
|
1162
|
-
r_columns = other.
|
1170
|
+
l_columns = self._columns
|
1171
|
+
r_columns = other._columns
|
1163
1172
|
if not allowMissingColumns:
|
1164
1173
|
l_expressions = l_columns
|
1165
1174
|
r_expressions = l_columns
|
@@ -1619,9 +1628,9 @@ class BaseDataFrame(t.Generic[SESSION, WRITER, NA, STAT, GROUP_DATA]):
|
|
1619
1628
|
| 16| Bob|
|
1620
1629
|
+---+-----+
|
1621
1630
|
"""
|
1622
|
-
if len(cols) != len(self.
|
1631
|
+
if len(cols) != len(self._columns):
|
1623
1632
|
raise ValueError(
|
1624
|
-
f"Number of column names does not match number of columns: {len(cols)} != {len(self.
|
1633
|
+
f"Number of column names does not match number of columns: {len(cols)} != {len(self._columns)}"
|
1625
1634
|
)
|
1626
1635
|
expression = self.expression.copy()
|
1627
1636
|
expression = expression.select(
|
@@ -193,10 +193,6 @@ def factorial_ensure_int(col: ColumnOrName) -> Column:
|
|
193
193
|
return Column.invoke_anonymous_function(col_func(col).cast("integer"), "FACTORIAL")
|
194
194
|
|
195
195
|
|
196
|
-
def skewness_from_skew(col: ColumnOrName) -> Column:
|
197
|
-
return Column.invoke_anonymous_function(col, "SKEW")
|
198
|
-
|
199
|
-
|
200
196
|
def isnan_using_equal(col: ColumnOrName) -> Column:
|
201
197
|
lit = get_func_from_session("lit")
|
202
198
|
return Column(
|
@@ -486,14 +486,32 @@ def var_pop(col: ColumnOrName) -> Column:
|
|
486
486
|
|
487
487
|
@meta(unsupported_engines=["bigquery", "postgres"])
|
488
488
|
def skewness(col: ColumnOrName) -> Column:
|
489
|
-
from sqlframe.base.function_alternatives import skewness_from_skew
|
490
|
-
|
491
489
|
session = _get_session()
|
492
490
|
|
491
|
+
func_name = "SKEWNESS"
|
492
|
+
|
493
493
|
if session._is_snowflake:
|
494
|
-
|
494
|
+
func_name = "SKEW"
|
495
|
+
|
496
|
+
if session._is_duckdb or session._is_snowflake:
|
497
|
+
when_func = get_func_from_session("when")
|
498
|
+
count_func = get_func_from_session("count")
|
499
|
+
count_star = count_func("*")
|
500
|
+
lit_func = get_func_from_session("lit")
|
501
|
+
sqrt_func = get_func_from_session("sqrt")
|
502
|
+
col = Column.ensure_col(col)
|
503
|
+
return (
|
504
|
+
when_func(count_star == lit_func(0), lit_func(None))
|
505
|
+
.when(count_star == lit_func(1), lit_func(float("nan")))
|
506
|
+
.when(count_star == lit_func(2), lit_func(0.0))
|
507
|
+
.otherwise(
|
508
|
+
Column.invoke_anonymous_function(col, func_name)
|
509
|
+
* (count_star - lit_func(2))
|
510
|
+
/ (sqrt_func(count_star * (count_star - lit_func(1))))
|
511
|
+
)
|
512
|
+
)
|
495
513
|
|
496
|
-
return Column.invoke_anonymous_function(col,
|
514
|
+
return Column.invoke_anonymous_function(col, func_name)
|
497
515
|
|
498
516
|
|
499
517
|
@meta(unsupported_engines=["bigquery", "postgres"])
|
@@ -97,12 +97,8 @@ def get_column_mapping_from_schema_input(
|
|
97
97
|
else:
|
98
98
|
value = {x.strip(): None for x in schema}
|
99
99
|
return {
|
100
|
-
|
101
|
-
if v is not None
|
102
|
-
else v
|
103
|
-
for k, v in value.items()
|
100
|
+
k: exp.DataType.build(v, dialect=dialect) if v is not None else v for k, v in value.items()
|
104
101
|
}
|
105
|
-
# return {x.strip(): None for x in schema} # type: ignore
|
106
102
|
|
107
103
|
|
108
104
|
def get_tables_from_expression_with_join(expression: exp.Select) -> t.List[exp.Table]:
|
@@ -109,6 +109,7 @@ def test_show_from_create_version_1(get_session: t.Callable[[], _BaseSession], c
|
|
109
109
|
+-----+-----+
|
110
110
|
""".strip()
|
111
111
|
)
|
112
|
+
assert df.columns == ["foo", "BAR"]
|
112
113
|
|
113
114
|
|
114
115
|
# https://github.com/eakmanrq/sqlframe/issues/294
|
@@ -133,8 +134,10 @@ def test_show_from_create_version_2(get_session: t.Callable[[], _BaseSession], c
|
|
133
134
|
+---+-----+
|
134
135
|
""".strip()
|
135
136
|
)
|
137
|
+
assert df.columns == ["a", "BAR"]
|
136
138
|
|
137
139
|
|
140
|
+
# https://github.com/eakmanrq/sqlframe/issues/291
|
138
141
|
def test_show_from_create_with_space(get_session: t.Callable[[], _BaseSession], capsys):
|
139
142
|
session = get_session()
|
140
143
|
df = session.createDataFrame(
|
@@ -154,3 +157,31 @@ def test_show_from_create_with_space(get_session: t.Callable[[], _BaseSession],
|
|
154
157
|
+--------+
|
155
158
|
""".strip()
|
156
159
|
)
|
160
|
+
|
161
|
+
|
162
|
+
# https://github.com/eakmanrq/sqlframe/issues/291
|
163
|
+
def test_show_from_create_with_space_with_schema(get_session: t.Callable[[], _BaseSession], capsys):
|
164
|
+
session = get_session()
|
165
|
+
data = {"an tan": [1, 3, 2], "b": [4, 4, 6], "z": [7.0, 8.0, 9.0]}
|
166
|
+
|
167
|
+
df = session.createDataFrame([*zip(*data.values())], schema=[*data.keys()])
|
168
|
+
df.show()
|
169
|
+
captured = capsys.readouterr()
|
170
|
+
assert (
|
171
|
+
captured.out.strip()
|
172
|
+
== """
|
173
|
+
+--------+---+-----+
|
174
|
+
| an tan | b | z |
|
175
|
+
+--------+---+-----+
|
176
|
+
| 1 | 4 | 7.0 |
|
177
|
+
| 3 | 4 | 8.0 |
|
178
|
+
| 2 | 6 | 9.0 |
|
179
|
+
+--------+---+-----+
|
180
|
+
""".strip()
|
181
|
+
)
|
182
|
+
assert df.columns == ["an tan", "b", "z"]
|
183
|
+
assert df.collect() == [
|
184
|
+
Row(**{"an tan": 1, "b": 4, "z": 7.0}),
|
185
|
+
Row(**{"an tan": 3, "b": 4, "z": 8.0}),
|
186
|
+
Row(**{"an tan": 2, "b": 6, "z": 9.0}),
|
187
|
+
]
|
@@ -690,11 +690,7 @@ def test_var_pop(get_session_and_func):
|
|
690
690
|
def test_skewness(get_session_and_func):
|
691
691
|
session, skewness = get_session_and_func("skewness")
|
692
692
|
df = session.createDataFrame([[1], [1], [2]], ["c"])
|
693
|
-
|
694
|
-
# DuckDB calculates skewness differently than spark
|
695
|
-
assert round(df.select(skewness("c")).first()[0], 4) == 1.7321
|
696
|
-
else:
|
697
|
-
assert math.isclose(df.select(skewness(df.c)).first()[0], 0.7071067811865475)
|
693
|
+
assert math.isclose(df.select(skewness(df.c)).first()[0], 0.7071067811865475, rel_tol=1e-5)
|
698
694
|
|
699
695
|
|
700
696
|
def test_kurtosis(get_session_and_func):
|
@@ -51,7 +51,7 @@ def test_persist_storagelevel(standalone_employee: StandaloneDataFrame, compare_
|
|
51
51
|
|
52
52
|
def test_with_column_duplicate_alias(standalone_employee: StandaloneDataFrame):
|
53
53
|
df = standalone_employee.withColumn("fName", F.col("age").cast("string"))
|
54
|
-
assert df.columns == ["employee_id", "
|
54
|
+
assert df.columns == ["employee_id", "fName", "lname", "age", "store_id"]
|
55
55
|
# Make sure that the new columns is added with an alias to `fname`
|
56
56
|
assert (
|
57
57
|
df.sql(pretty=False)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
File without changes
|
File without changes
|
{sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
File without changes
|
{sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
File without changes
|
{sqlframe-3.21.0 → sqlframe-3.21.1}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
File without changes
|
{sqlframe-3.21.0 → sqlframe-3.21.1}/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
|