sqlframe 3.36.3__tar.gz → 3.37.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.36.3 → sqlframe-3.37.0}/PKG-INFO +1 -1
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/bigquery.md +6 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/duckdb.md +4 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/postgres.md +3 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/snowflake.md +4 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/setup.py +3 -3
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/_version.py +2 -2
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/functions.py +10 -10
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/types.py +1 -1
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe.egg-info/PKG-INFO +1 -1
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe.egg-info/requires.txt +3 -3
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_int_functions.py +30 -16
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_functions.py +8 -8
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_types.py +2 -2
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.github/CODEOWNERS +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.github/workflows/main.workflow.yaml +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.github/workflows/publish.workflow.yaml +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.gitignore +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.pre-commit-config.yaml +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/.readthedocs.yaml +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/LICENSE +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/Makefile +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/README.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/add_chatgpt_support.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/adding_ai_to_meal.jpeg +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/hype_train.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/nonsense_sql.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/sunny_shake_head_no.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/but_wait_theres_more.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/cake.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/you_get_pyspark_api.gif +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/sqlframe_universal_dataframe_api.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/configuration.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/databricks.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/bigquery.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/duckdb.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/images/SF.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/images/favicon.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/docs/postgres.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/images/SF.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/images/favicon.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/images/sqlframe_logo.png +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/index.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/redshift.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/requirements.txt +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/spark.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/standalone.md +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/docs/stylesheets/extra.css +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/mkdocs.yml +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/pytest.ini +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/renovate.json +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/setup.cfg +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/LICENSE +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/_typing.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/decorators.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/exceptions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/function_alternatives.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/mixins/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/mixins/catalog_mixins.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/mixins/dataframe_mixins.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/mixins/readwriter_mixins.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/mixins/table_mixins.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/normalize.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/operations.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/readerwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/transforms.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/util.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/base/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/bigquery/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/databricks/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/duckdb/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/postgres/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/py.typed +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/redshift/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/snowflake/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/functions.pyi +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/spark/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/functions.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/group.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/readwriter.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/standalone/window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/testing/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe/testing/utils.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe.egg-info/SOURCES.txt +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe.egg-info/dependency_links.txt +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/sqlframe.egg-info/top_level.txt +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/common_fixtures.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/conftest.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee.csv +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee.json +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/.part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/_delta_log/.00000000000000000000.json.crc +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/_delta_log/00000000000000000000.json +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00000-e5965c7b-e58f-4d3c-ad56-002876814e3a-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00002-3fed7f18-370f-4b16-b232-504d6194eb52-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00004-143c5da1-d5ab-4706-8e84-0d2a324c6894-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00006-64f07e25-c30e-4075-acc6-b3c69c4ce80b-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00008-89ccad8d-df73-4ad5-8850-82ef3884db60-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_delta/part-00010-812b3382-8c7f-4c4e-9bcd-09ce8664f6e0-c000.snappy.parquet +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/employee_extra_line.csv +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/issue_219.csv +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds1.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds10.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds11.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds12.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds13.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds14.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds15.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds16.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds17.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds18.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds19.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds2.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds20.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds21.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds22.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds23.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds24.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds25.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds26.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds27.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds28.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds29.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds3.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds30.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds31.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds32.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds33.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds34.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds35.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds36.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds37.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds38.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds39.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds4.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds40.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds41.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds42.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds43.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds44.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds45.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds46.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds47.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds48.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds49.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds5.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds50.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds51.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds52.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds53.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds54.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds55.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds56.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds57.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds58.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds59.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds6.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds60.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds61.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds62.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds63.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds64.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds65.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds66.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds67.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds68.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds69.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds7.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds70.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds71.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds72.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds73.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds74.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds75.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds76.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds77.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds78.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds79.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds8.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds80.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds81.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds82.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds83.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds84.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds85.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds86.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds87.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds88.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds89.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds9.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds90.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds91.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds92.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds93.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds94.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds95.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds96.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds97.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds98.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/fixtures/tpcds/tpcds99.sql +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/bigquery/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/bigquery/test_bigquery_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/bigquery/test_bigquery_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/bigquery/test_bigquery_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/databricks/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/databricks/test_databricks_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/databricks/test_databricks_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/databricks/test_databricks_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_reader.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_duckdb_udf.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/duck/test_tpcds.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/postgres/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/postgres/test_postgres_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/postgres/test_postgres_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/postgres/test_postgres_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/postgres/test_postgres_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/redshift/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/redshift/test_redshift_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/redshift/test_redshift_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/snowflake/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/snowflake/test_snowflake_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/snowflake/test_snowflake_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/snowflake/test_snowflake_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/spark/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/spark/test_spark_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/spark/test_spark_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_reader.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_table.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_engine_writer.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/engines/test_int_testing.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/fixtures.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/test_int_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/test_int_dataframe_stats.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/test_int_grouped_data.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/integration/test_int_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/types.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/bigquery/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/bigquery/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/conftest.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/databricks/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/databricks/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/duck/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/duck/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/duck/test_reader_options.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/postgres/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/postgres/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/redshift/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/redshift/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/snowflake/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/snowflake/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/spark/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/spark/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/spark/test_reader_options.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/__init__.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/fixtures.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_column.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_dataframe.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_dataframe_writer.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_session.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_session_case_sensitivity.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/standalone/test_window.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/test_activate.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/test_base_reader_options.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/test_catalog.py +0 -0
- {sqlframe-3.36.3 → sqlframe-3.37.0}/tests/unit/test_util.py +0 -0
@@ -332,8 +332,12 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
332
332
|
* [avg](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.avg.html)
|
333
333
|
* [base64](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.base64.html)
|
334
334
|
* [bin](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bin.html)
|
335
|
+
* [bit_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_and.html)
|
336
|
+
* [bit_count](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_count.html)
|
335
337
|
* [bit_length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_length.html)
|
336
338
|
* Symbols are not supported
|
339
|
+
* [bit_or](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_or.html)
|
340
|
+
* [bit_xor](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_xor.html)
|
337
341
|
* [bitwiseNOT](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwiseNOT.html)
|
338
342
|
* [bitwise_not](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwise_not.html)
|
339
343
|
* [bool_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bool_and.html)
|
@@ -416,6 +420,8 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
416
420
|
* [isnull](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.isnull.html)
|
417
421
|
* [lag](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lag.html)
|
418
422
|
* [last_day](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.last_day.html)
|
423
|
+
* [last_value](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.last_value.html)
|
424
|
+
* Must be used with a window function
|
419
425
|
* [lcase](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lcase.html)
|
420
426
|
* [lead](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lead.html)
|
421
427
|
* [least](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.least.html)
|
@@ -295,7 +295,11 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
295
295
|
* [avg](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.avg.html)
|
296
296
|
* [base64](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.base64.html)
|
297
297
|
* [bin](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bin.html)
|
298
|
+
* [bit_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_and.html)
|
299
|
+
* [bit_count](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_count.html)
|
298
300
|
* [bit_length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_length.html)
|
301
|
+
* [bit_or](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_or.html)
|
302
|
+
* [bit_xor](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_xor.html)
|
299
303
|
* [bitwiseNOT](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwiseNOT.html)
|
300
304
|
* [bitwise_not](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwise_not.html)
|
301
305
|
* [bool_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bool_and.html)
|
@@ -304,7 +304,10 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
304
304
|
* [atanh](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.atanh.html)
|
305
305
|
* [avg](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.avg.html)
|
306
306
|
* [base64](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.base64.html)
|
307
|
+
* [bit_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_and.html)
|
307
308
|
* [bit_length](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_length.html)
|
309
|
+
* [bit_or](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_or.html)
|
310
|
+
* [bit_xor](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bit_xor.html)
|
308
311
|
* [bitwiseNOT](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwiseNOT.html)
|
309
312
|
* [bitwise_not](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bitwise_not.html)
|
310
313
|
* [bool_and](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.bool_and.html)
|
@@ -394,6 +394,8 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
394
394
|
* [expr](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.expr.html)
|
395
395
|
* [extract](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.extract.html)
|
396
396
|
* [factorial](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.factorial.html)
|
397
|
+
* [first_value](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.first_value.html)
|
398
|
+
* Must be used with a window function and `ignoreNulls` can behave slightly different in certain situations
|
397
399
|
* [flatten](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.flatten.html)
|
398
400
|
* [floor](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.floor.html)
|
399
401
|
* [format_number](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.format_number.html)
|
@@ -414,6 +416,8 @@ See something that you would like to see supported? [Open an issue](https://gith
|
|
414
416
|
* [kurtosis](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.kurtosis.html)
|
415
417
|
* [lag](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lag.html)
|
416
418
|
* [last_day](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.last_day.html)
|
419
|
+
* [last_value](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.last_value.html)
|
420
|
+
* Must be used with a window function
|
417
421
|
* [lead](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.lead.html)
|
418
422
|
* [least](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.least.html)
|
419
423
|
* [left](https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql/api/pyspark.sql.functions.left.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,<
|
23
|
+
"sqlglot>=24.0.0,<27.2",
|
24
24
|
"typing_extensions",
|
25
25
|
],
|
26
26
|
extras_require={
|
@@ -31,12 +31,12 @@ setup(
|
|
31
31
|
"dev": [
|
32
32
|
"duckdb>=1.2,<1.4",
|
33
33
|
"findspark>=2,<3",
|
34
|
-
"mypy>=1.10.0,<1.
|
34
|
+
"mypy>=1.10.0,<1.18",
|
35
35
|
"openai>=1.30,<2",
|
36
36
|
"pandas>=2,<3",
|
37
37
|
"pandas-stubs>=2,<3",
|
38
38
|
"psycopg>=3.1,<4",
|
39
|
-
"pyarrow>=10,<
|
39
|
+
"pyarrow>=10,<22",
|
40
40
|
"pyspark>=2,<3.6",
|
41
41
|
"pytest>=8.2.0,<8.5",
|
42
42
|
"pytest-forked",
|
@@ -2110,24 +2110,24 @@ def array_size(col: ColumnOrName) -> Column:
|
|
2110
2110
|
return Column.invoke_expression_over_column(col, expression.ArraySize)
|
2111
2111
|
|
2112
2112
|
|
2113
|
-
@meta(unsupported_engines="
|
2113
|
+
@meta(unsupported_engines="snowflake")
|
2114
2114
|
def bit_and(col: ColumnOrName) -> Column:
|
2115
|
-
return Column.
|
2115
|
+
return Column.invoke_expression_over_column(col, expression.BitwiseAndAgg)
|
2116
2116
|
|
2117
2117
|
|
2118
|
-
@meta(unsupported_engines="
|
2118
|
+
@meta(unsupported_engines="snowflake")
|
2119
2119
|
def bit_or(col: ColumnOrName) -> Column:
|
2120
|
-
return Column.
|
2120
|
+
return Column.invoke_expression_over_column(col, expression.BitwiseOrAgg)
|
2121
2121
|
|
2122
2122
|
|
2123
|
-
@meta(unsupported_engines="
|
2123
|
+
@meta(unsupported_engines="snowflake")
|
2124
2124
|
def bit_xor(col: ColumnOrName) -> Column:
|
2125
|
-
return Column.
|
2125
|
+
return Column.invoke_expression_over_column(col, expression.BitwiseXorAgg)
|
2126
2126
|
|
2127
2127
|
|
2128
|
-
@meta(unsupported_engines="
|
2128
|
+
@meta(unsupported_engines=["postgres", "snowflake"])
|
2129
2129
|
def bit_count(col: ColumnOrName) -> Column:
|
2130
|
-
return Column.
|
2130
|
+
return Column.invoke_expression_over_column(col, expression.BitwiseCountAgg)
|
2131
2131
|
|
2132
2132
|
|
2133
2133
|
@meta(unsupported_engines="*")
|
@@ -3293,7 +3293,7 @@ def find_in_set(str: ColumnOrName, str_array: ColumnOrName) -> Column:
|
|
3293
3293
|
return Column.invoke_anonymous_function(str, "find_in_set", str_array)
|
3294
3294
|
|
3295
3295
|
|
3296
|
-
@meta(unsupported_engines=["bigquery", "postgres"
|
3296
|
+
@meta(unsupported_engines=["bigquery", "postgres"])
|
3297
3297
|
def first_value(col: ColumnOrName, ignoreNulls: t.Optional[t.Union[bool, Column]] = None) -> Column:
|
3298
3298
|
"""Returns the first value of `col` for a group of rows. It will return the first non-null
|
3299
3299
|
value it sees when `ignoreNulls` is set to true. If all values are null, then null is returned.
|
@@ -3959,7 +3959,7 @@ def json_object_keys(col: ColumnOrName) -> Column:
|
|
3959
3959
|
return Column.invoke_anonymous_function(col, "json_object_keys")
|
3960
3960
|
|
3961
3961
|
|
3962
|
-
@meta(unsupported_engines=
|
3962
|
+
@meta(unsupported_engines="postgres")
|
3963
3963
|
def last_value(col: ColumnOrName, ignoreNulls: t.Optional[t.Union[bool, Column]] = None) -> Column:
|
3964
3964
|
"""Returns the last value of `col` for a group of rows. It will return the last non-null
|
3965
3965
|
value it sees when `ignoreNulls` is set to true. If all values are null, then null is returned.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
prettytable<4
|
2
|
-
sqlglot<
|
2
|
+
sqlglot<27.2,>=24.0.0
|
3
3
|
typing_extensions
|
4
4
|
|
5
5
|
[bigquery]
|
@@ -12,13 +12,13 @@ databricks-sql-connector[pyarrow]<5,>=3.6
|
|
12
12
|
[dev]
|
13
13
|
duckdb<1.4,>=1.2
|
14
14
|
findspark<3,>=2
|
15
|
-
mypy<1.
|
15
|
+
mypy<1.18,>=1.10.0
|
16
16
|
openai<2,>=1.30
|
17
17
|
pandas-stubs<3,>=2
|
18
18
|
pandas<3,>=2
|
19
19
|
pre-commit<5,>=3.7
|
20
20
|
psycopg<4,>=3.1
|
21
|
-
pyarrow<
|
21
|
+
pyarrow<22,>=10
|
22
22
|
pyspark<3.6,>=2
|
23
23
|
pytest-forked
|
24
24
|
pytest-postgresql<8,>=6
|
@@ -1572,6 +1572,16 @@ def test_timestamp_add(get_session_and_func, get_func):
|
|
1572
1572
|
actual = row[0].replace(tzinfo=None) if row[0] else None
|
1573
1573
|
assert actual == expected_days[i], f"Day subtraction failed for row {i}"
|
1574
1574
|
|
1575
|
+
# Test adding quarters
|
1576
|
+
result = df.select(timestamp_add("quarter", lit(2), "ts")).collect()
|
1577
|
+
expected_quarters = [
|
1578
|
+
datetime.datetime(2016, 9, 11, 9, 0, 7),
|
1579
|
+
datetime.datetime(2024, 10, 2, 9, 0, 7),
|
1580
|
+
]
|
1581
|
+
for i, row in enumerate(result):
|
1582
|
+
actual = row[0].replace(tzinfo=None) if row[0] else None
|
1583
|
+
assert actual == expected_quarters[i], f"Quarter addition failed for row {i}"
|
1584
|
+
|
1575
1585
|
|
1576
1586
|
def test_window(get_session_and_func, get_func):
|
1577
1587
|
session, window = get_session_and_func("window")
|
@@ -3825,14 +3835,15 @@ def test_first_value(get_session_and_func, get_func, get_window):
|
|
3825
3835
|
session, first_value = get_session_and_func("first_value")
|
3826
3836
|
col = get_func("col", session)
|
3827
3837
|
Window = get_window(session)
|
3828
|
-
|
3829
|
-
|
3830
|
-
|
3831
|
-
|
3832
|
-
|
3833
|
-
|
3834
|
-
|
3835
|
-
|
3838
|
+
if not isinstance(session, (BigQuerySession, SnowflakeSession)):
|
3839
|
+
assert session.createDataFrame(
|
3840
|
+
[(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
|
3841
|
+
).select(first_value("a"), first_value("b")).collect() == [Row(value1=None, value2=1)]
|
3842
|
+
assert session.createDataFrame(
|
3843
|
+
[(None, 1), ("a", 2), ("a", 3), ("b", 8), ("b", 2)], ["a", "b"]
|
3844
|
+
).select(first_value("a", True), first_value("b", True)).collect() == [
|
3845
|
+
Row(value1="a", value2=1)
|
3846
|
+
]
|
3836
3847
|
data = {
|
3837
3848
|
"b": [None, None, "a", None, "b", "c", None, None, None, "d"],
|
3838
3849
|
"idx": list(range(10)),
|
@@ -3843,8 +3854,8 @@ def test_first_value(get_session_and_func, get_func, get_window):
|
|
3843
3854
|
assert session.createDataFrame(pd.DataFrame(data)).withColumn(
|
3844
3855
|
"bf", first_value("b", ignoreNulls=True).over(window)
|
3845
3856
|
).collect() == [
|
3846
|
-
Row(b=None, idx=0, bf=None),
|
3847
|
-
Row(b=None, idx=1, bf=None),
|
3857
|
+
Row(b=None, idx=0, bf=None if not isinstance(session, SnowflakeSession) else "a"),
|
3858
|
+
Row(b=None, idx=1, bf=None if not isinstance(session, SnowflakeSession) else "a"),
|
3848
3859
|
Row(b="a", idx=2, bf="a"),
|
3849
3860
|
Row(b=None, idx=3, bf="a"),
|
3850
3861
|
Row(b="b", idx=4, bf="a"),
|
@@ -4069,12 +4080,15 @@ def test_last_value(get_session_and_func, get_func, get_window):
|
|
4069
4080
|
session, last_value = get_session_and_func("last_value")
|
4070
4081
|
col = get_func("col", session)
|
4071
4082
|
Window = get_window(session)
|
4072
|
-
|
4073
|
-
|
4074
|
-
|
4075
|
-
|
4076
|
-
|
4077
|
-
|
4083
|
+
if not isinstance(session, (BigQuerySession, SnowflakeSession)):
|
4084
|
+
assert session.createDataFrame(
|
4085
|
+
[("a", 1), ("a", 2), ("a", 3), ("b", 8), (None, 2)], ["a", "b"]
|
4086
|
+
).select(last_value("a"), last_value("b")).collect() == [Row(value1=None, value2=2)]
|
4087
|
+
assert session.createDataFrame(
|
4088
|
+
[("a", 1), ("a", 2), ("a", 3), ("b", 8), (None, 2)], ["a", "b"]
|
4089
|
+
).select(last_value("a", True), last_value("b", True)).collect() == [
|
4090
|
+
Row(value1="b", value2=2)
|
4091
|
+
]
|
4078
4092
|
data = {
|
4079
4093
|
"b": ["a", None, None, None, "b", "c", None, None, None, "d"],
|
4080
4094
|
"idx": list(range(10)),
|
@@ -1256,8 +1256,8 @@ def test_month(expression, expected):
|
|
1256
1256
|
@pytest.mark.parametrize(
|
1257
1257
|
"expression, expected",
|
1258
1258
|
[
|
1259
|
-
(SF.dayofweek("cola"), "DAYOFWEEK(
|
1260
|
-
(SF.dayofweek(SF.col("cola")), "DAYOFWEEK(
|
1259
|
+
(SF.dayofweek("cola"), "DAYOFWEEK(cola)"),
|
1260
|
+
(SF.dayofweek(SF.col("cola")), "DAYOFWEEK(cola)"),
|
1261
1261
|
],
|
1262
1262
|
)
|
1263
1263
|
def test_dayofweek(expression, expected):
|
@@ -1267,8 +1267,8 @@ def test_dayofweek(expression, expected):
|
|
1267
1267
|
@pytest.mark.parametrize(
|
1268
1268
|
"expression, expected",
|
1269
1269
|
[
|
1270
|
-
(SF.dayofmonth("cola"), "DAYOFMONTH(
|
1271
|
-
(SF.dayofmonth(SF.col("cola")), "DAYOFMONTH(
|
1270
|
+
(SF.dayofmonth("cola"), "DAYOFMONTH(cola)"),
|
1271
|
+
(SF.dayofmonth(SF.col("cola")), "DAYOFMONTH(cola)"),
|
1272
1272
|
],
|
1273
1273
|
)
|
1274
1274
|
def test_dayofmonth(expression, expected):
|
@@ -1278,8 +1278,8 @@ def test_dayofmonth(expression, expected):
|
|
1278
1278
|
@pytest.mark.parametrize(
|
1279
1279
|
"expression, expected",
|
1280
1280
|
[
|
1281
|
-
(SF.dayofyear("cola"), "DAYOFYEAR(
|
1282
|
-
(SF.dayofyear(SF.col("cola")), "DAYOFYEAR(
|
1281
|
+
(SF.dayofyear("cola"), "DAYOFYEAR(cola)"),
|
1282
|
+
(SF.dayofyear(SF.col("cola")), "DAYOFYEAR(cola)"),
|
1283
1283
|
],
|
1284
1284
|
)
|
1285
1285
|
def test_dayofyear(expression, expected):
|
@@ -1322,8 +1322,8 @@ def test_second(expression, expected):
|
|
1322
1322
|
@pytest.mark.parametrize(
|
1323
1323
|
"expression, expected",
|
1324
1324
|
[
|
1325
|
-
(SF.weekofyear("cola"), "WEEKOFYEAR(
|
1326
|
-
(SF.weekofyear(SF.col("cola")), "WEEKOFYEAR(
|
1325
|
+
(SF.weekofyear("cola"), "WEEKOFYEAR(cola)"),
|
1326
|
+
(SF.weekofyear(SF.col("cola")), "WEEKOFYEAR(cola)"),
|
1327
1327
|
],
|
1328
1328
|
)
|
1329
1329
|
def test_weekofyear(expression, expected):
|
@@ -7,8 +7,8 @@ from sqlframe.standalone import types
|
|
7
7
|
"dtype, expected",
|
8
8
|
[
|
9
9
|
(types.StringType(), "string"),
|
10
|
-
(types.CharType(100), "char"),
|
11
|
-
(types.VarcharType(65), "varchar"),
|
10
|
+
(types.CharType(100), "char(100)"),
|
11
|
+
(types.VarcharType(65), "varchar(65)"),
|
12
12
|
(types.BinaryType(), "binary"),
|
13
13
|
(types.BooleanType(), "boolean"),
|
14
14
|
(types.DateType(), "date"),
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
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.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/marvin_paranoid_robot.gif
RENAMED
File without changes
|
File without changes
|
{sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/openai_full_rewrite.png
RENAMED
File without changes
|
{sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/openai_replacing_cte_names.png
RENAMED
File without changes
|
{sqlframe-3.36.3 → sqlframe-3.37.0}/blogs/images/add_chatgpt_support/sqlglot_optimized_code.png
RENAMED
File without changes
|
{sqlframe-3.36.3 → sqlframe-3.37.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
|