diff --git a/.github/workflows/conda-lock.yml b/.github/workflows/conda-lock.yml index d4a1a2390409..e4bf0ad64314 100644 --- a/.github/workflows/conda-lock.yml +++ b/.github/workflows/conda-lock.yml @@ -12,7 +12,6 @@ jobs: strategy: matrix: python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/.github/workflows/ibis-backends-cloud.yml b/.github/workflows/ibis-backends-cloud.yml index 67bd4e872534..5c7be8b9897f 100644 --- a/.github/workflows/ibis-backends-cloud.yml +++ b/.github/workflows/ibis-backends-cloud.yml @@ -29,7 +29,7 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" + - "3.9" - "3.11" backend: - name: bigquery diff --git a/.github/workflows/ibis-backends.yml b/.github/workflows/ibis-backends.yml index eacaef5ad020..1edd253b2257 100644 --- a/.github/workflows/ibis-backends.yml +++ b/.github/workflows/ibis-backends.yml @@ -43,7 +43,7 @@ jobs: fail-fast: false matrix: python-version: - - "3.8" + - "3.9" - "3.11" steps: - name: checkout @@ -91,7 +91,7 @@ jobs: - ubuntu-latest - windows-latest python-version: - - "3.8" + - "3.9" - "3.11" backend: - name: dask @@ -411,7 +411,7 @@ jobs: - ubuntu-latest - windows-latest python-version: - - "3.8" + - "3.9" - "3.11" backend: - name: dask @@ -547,7 +547,7 @@ jobs: - snowflake-connector-python include: - os: ubuntu-latest - python-version: "3.8" + python-version: "3.9" pandas: version: "1.5.*" - os: ubuntu-latest @@ -805,7 +805,7 @@ jobs: - ubuntu-latest - windows-latest python-version: - - "3.8" + - "3.9" - "3.11" steps: - name: checkout diff --git a/.github/workflows/ibis-main.yml b/.github/workflows/ibis-main.yml index 5b86af1864f8..69690a1e7947 100644 --- a/.github/workflows/ibis-main.yml +++ b/.github/workflows/ibis-main.yml @@ -44,7 +44,6 @@ jobs: - ubuntu-latest - windows-latest python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/.github/workflows/nix-skip-helper.yml b/.github/workflows/nix-skip-helper.yml index ff61ceb4cb04..fd521d578eef 100644 --- a/.github/workflows/nix-skip-helper.yml +++ b/.github/workflows/nix-skip-helper.yml @@ -31,7 +31,6 @@ jobs: os: - ubuntu-latest python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 97cdb5366c15..b804caa01756 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -32,7 +32,6 @@ jobs: os: - ubuntu-latest python-version: - - "3.8" - "3.9" - "3.10" - "3.11" diff --git a/ibis/backends/tests/test_aggregation.py b/ibis/backends/tests/test_aggregation.py index 5b5d22b35888..fdb475824a88 100644 --- a/ibis/backends/tests/test_aggregation.py +++ b/ibis/backends/tests/test_aggregation.py @@ -1,5 +1,3 @@ -import sys - import numpy as np import pandas as pd import pytest @@ -12,7 +10,6 @@ import ibis.expr.datatypes as dt from ibis import _ from ibis import literal as L -from ibis.backends.conftest import WINDOWS from ibis.udf.vectorized import reduction try: @@ -124,12 +121,6 @@ def mean_udf(s): def make_argidx_params(marks): marks = [ pytest.mark.notyet(marks, raises=com.OperationNotDefinedError), - pytest.mark.broken( - ["sqlite"], - condition=WINDOWS and sys.version_info < (3, 11), - reason="JSON functions aren't available", - raises=sa.exc.OperationalError, - ), ] return [ param( @@ -465,12 +456,6 @@ def mean_and_std(v): ], raises=com.OperationNotDefinedError, ), - pytest.mark.broken( - ["sqlite"], - condition=WINDOWS and sys.version_info < (3, 11), - reason="JSON functions aren't available", - raises=sa.exc.OperationalError, - ), ], ), param( @@ -489,12 +474,6 @@ def mean_and_std(v): ], raises=com.OperationNotDefinedError, ), - pytest.mark.broken( - ["sqlite"], - condition=WINDOWS and sys.version_info < (3, 11), - reason="JSON functions aren't available", - raises=sa.exc.OperationalError, - ), ], ), param( diff --git a/ibis/util.py b/ibis/util.py index 5d33fe58cbd6..8f1e1e03ec4c 100644 --- a/ibis/util.py +++ b/ibis/util.py @@ -511,13 +511,6 @@ def import_object(qualname: str) -> Any: def normalize_filename(source: str | Path) -> str: - def _removeprefix(text, prefix): - # TODO: remove when we drop Python 3.8 - try: - return text.removeprefix(prefix) - except AttributeError: - return text[text.startswith(prefix) and len(prefix) :] - source = str(source) for prefix in ( "parquet", @@ -529,7 +522,7 @@ def _removeprefix(text, prefix): "tsv.gz", "file", ): - source = _removeprefix(source, f"{prefix}://") + source = source.removeprefix(f"{prefix}://") def _absolufy_paths(name): if not name.startswith(("http", "s3", "az", "abfs", "abfss", "adl", "gs")): diff --git a/nix/overlay.nix b/nix/overlay.nix index 3ae7ddc432a6..2ce30ff2ec8c 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -25,12 +25,10 @@ in sha256 = "sha256-q1b5IcOl5oIFXP7/P5RufncjHEVrWp4NjoU2uo/BE9U="; }; - ibis38 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python38; }; ibis39 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python39; }; ibis310 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python310; }; ibis311 = pkgs.callPackage ./ibis.nix { python3 = pkgs.python311; }; - ibisDevEnv38 = mkPoetryDevEnv pkgs.python38; ibisDevEnv39 = mkPoetryDevEnv pkgs.python39; ibisDevEnv310 = mkPoetryDevEnv pkgs.python310; ibisDevEnv311 = mkPoetryDevEnv pkgs.python311; diff --git a/poetry.lock b/poetry.lock index 79625ac5e3ad..e941954dd9b3 100644 --- a/poetry.lock +++ b/poetry.lock @@ -85,9 +85,6 @@ files = [ {file = "Babel-2.12.1.tar.gz", hash = "sha256:cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455"}, ] -[package.dependencies] -pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} - [[package]] name = "backcall" version = "0.2.0" @@ -100,35 +97,6 @@ files = [ {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, ] -[[package]] -name = "backports-zoneinfo" -version = "0.2.1" -description = "Backport of the standard library zoneinfo module" -category = "main" -optional = true -python-versions = ">=3.6" -files = [ - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win32.whl", hash = "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08"}, - {file = "backports.zoneinfo-0.2.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win32.whl", hash = "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b"}, - {file = "backports.zoneinfo-0.2.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win32.whl", hash = "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328"}, - {file = "backports.zoneinfo-0.2.1-cp38-cp38-win_amd64.whl", hash = "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6"}, - {file = "backports.zoneinfo-0.2.1.tar.gz", hash = "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2"}, -] - -[package.extras] -tzdata = ["tzdata"] - [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -1932,25 +1900,6 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] -[[package]] -name = "importlib-resources" -version = "5.12.0" -description = "Read resources from Python packages" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"}, - {file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"}, -] - -[package.dependencies] -zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] - [[package]] name = "impyla" version = "0.18.0" @@ -2110,8 +2059,6 @@ files = [ [package.dependencies] attrs = ">=17.4.0" -importlib-resources = {version = ">=1.4.0", markers = "python_version < \"3.9\""} -pkgutil-resolve-name = {version = ">=1.3.10", markers = "python_version < \"3.9\""} pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" [package.extras] @@ -3087,18 +3034,6 @@ files = [ {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, ] -[[package]] -name = "pkgutil-resolve-name" -version = "1.3.10" -description = "Resolve a name to an object." -category = "dev" -optional = false -python-versions = ">=3.6" -files = [ - {file = "pkgutil_resolve_name-1.3.10-py3-none-any.whl", hash = "sha256:ca27cc078d25c5ad71a9de0a7a330146c4e014c2462d9af19c6b828280649c5e"}, - {file = "pkgutil_resolve_name-1.3.10.tar.gz", hash = "sha256:357d6c9e6a755653cfd78893817c0853af365dd51ec97f3d358a819373bbd174"}, -] - [[package]] name = "platformdirs" version = "3.8.0" @@ -4379,7 +4314,6 @@ files = [ [package.dependencies] markdown-it-py = ">=2.2.0" pygments = ">=2.13.0,<3.0.0" -typing-extensions = {version = ">=4.0.0,<5.0", markers = "python_version < \"3.9\""} [package.extras] jupyter = ["ipywidgets (>=7.5.1,<9)"] @@ -4963,7 +4897,6 @@ files = [ ] [package.dependencies] -"backports.zoneinfo" = {version = "*", markers = "python_version < \"3.9\""} python-dateutil = "*" pytz = "*" requests = ">=2.31.0" @@ -5014,7 +4947,6 @@ files = [ ] [package.dependencies] -"backports.zoneinfo" = {version = "*", markers = "python_version < \"3.9\""} tzdata = {version = "*", markers = "platform_system == \"Windows\""} [package.extras] @@ -5350,5 +5282,5 @@ visualization = ["graphviz"] [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "47becf622f72a82bbe297bb0b99c2d5561c118fc05a0aedfe2d102b5e80e4d41" +python-versions = "^3.9" +content-hash = "8a3e8252fb6687b20187d460dcbcceeb8dd787228cfe07c885b74a9200a053eb" diff --git a/pyproject.toml b/pyproject.toml index 5c679be97561..c19df4e1e08c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,11 +29,10 @@ classifiers = [ "Issue Tracker" = "https://github.com/ibis-project/ibis/issues" [tool.poetry.dependencies] -python = "^3.8" +python = "^3.9" atpublic = ">=2.3,<5" bidict = ">=0.22.1,<1" filelock = ">=3.7.0,<4" -importlib-resources = { version = ">=5,<6", python = "<3.9" } multipledispatch = ">=0.6,<2" numpy = ">=1,<2" pandas = ">=1.2.5,<3" diff --git a/requirements.txt b/requirements.txt index dd3afcef0279..01fce261c18f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,221 +1,218 @@ -appnope==0.1.3 ; python_version >= "3.8" and python_version < "4.0" and sys_platform == "darwin" or python_version >= "3.8" and python_version < "4.0" and platform_system == "Darwin" -asn1crypto==1.5.1 ; python_version >= "3.8" and python_version < "4.0" -asttokens==2.2.1 ; python_version >= "3.8" and python_version < "4.0" -atpublic==4.0 ; python_version >= "3.8" and python_version < "4.0" -attrs==23.1.0 ; python_version >= "3.8" and python_version < "4.0" -babel==2.12.1 ; python_version >= "3.8" and python_version < "4.0" -backcall==0.2.0 ; python_version >= "3.8" and python_version < "4.0" -backports-zoneinfo==0.2.1 ; python_version >= "3.8" and python_version < "3.9" -beautifulsoup4==4.12.2 ; python_version >= "3.8" and python_version < "4.0" -bidict==0.22.1 ; python_version >= "3.8" and python_version < "4.0" -bitarray==2.7.6 ; python_version >= "3.8" and python_version < "4.0" -black==23.3.0 ; python_version >= "3.8" and python_version < "4.0" -bleach==6.0.0 ; python_version >= "3.8" and python_version < "4.0" -cachetools==5.3.1 ; python_version >= "3.8" and python_version < "4.0" -certifi==2023.5.7 ; python_version >= "3.8" and python_version < "4.0" -cffi==1.15.1 ; python_version >= "3.8" and python_version < "4.0" -cfgv==3.3.1 ; python_version >= "3.8" and python_version < "4.0" -chardet==5.1.0 ; python_version >= "3.8" and python_version < "4.0" -charset-normalizer==3.1.0 ; python_version >= "3.8" and python_version < "4.0" -click-plugins==1.1.1 ; python_version >= "3.8" and python_version < "4.0" -click==8.1.3 ; python_version >= "3.8" and python_version < "4.0" -clickhouse-connect[arrow,numpy,pandas]==0.6.4 ; python_version >= "3.8" and python_version < "4.0" -cligj==0.7.2 ; python_version >= "3.8" and python_version < "4" -cloudpickle==2.2.1 ; python_version >= "3.8" and python_version < "4.0" -codespell[hard-encoding-detection,toml]==2.2.5 ; python_version >= "3.8" and python_version < "4.0" -colorama==0.4.6 ; python_version >= "3.8" and python_version < "4.0" -comm==0.1.3 ; python_version >= "3.8" and python_version < "4.0" -coverage[toml]==7.2.7 ; python_version >= "3.8" and python_version < "4.0" -cryptography==40.0.2 ; python_version >= "3.8" and python_version < "4.0" -dask[array,dataframe]==2023.5.0 ; python_version >= "3.8" and python_version < "4.0" -datafusion==22.0.0 ; python_version >= "3.8" and python_version < "4.0" -db-dtypes==1.1.1 ; python_version >= "3.8" and python_version < "4.0" -debugpy==1.6.7 ; python_version >= "3.8" and python_version < "4.0" -decorator==5.1.1 ; python_version >= "3.8" and python_version < "4.0" -defusedxml==0.7.1 ; python_version >= "3.8" and python_version < "4.0" -deltalake==0.10.0 ; python_version >= "3.8" and python_version < "4.0" -distlib==0.3.6 ; python_version >= "3.8" and python_version < "4.0" -duckdb-engine==0.9.0 ; python_version >= "3.8" and python_version < "4.0" -duckdb==0.8.1 ; python_version >= "3.8" and python_version < "4.0" -dunamai==1.17.0 ; python_version >= "3.8" and python_version < "4.0" -exceptiongroup==1.1.1 ; python_version >= "3.8" and python_version < "3.11" -execnet==1.9.0 ; python_version >= "3.8" and python_version < "4.0" -executing==1.2.0 ; python_version >= "3.8" and python_version < "4.0" -fastjsonschema==2.17.1 ; python_version >= "3.8" and python_version < "4.0" -filelock==3.12.2 ; python_version >= "3.8" and python_version < "4.0" -fiona==1.9.4.post1 ; python_version >= "3.8" and python_version < "4.0" -fsspec==2023.6.0 ; python_version >= "3.8" and python_version < "4.0" -geoalchemy2==0.13.3 ; python_version >= "3.8" and python_version < "4.0" -geopandas==0.13.2 ; python_version >= "3.8" and python_version < "4.0" -ghp-import==2.1.0 ; python_version >= "3.8" and python_version < "4.0" -gitdb==4.0.10 ; python_version >= "3.8" and python_version < "4.0" -gitpython==3.1.31 ; python_version >= "3.8" and python_version < "4.0" -google-api-core==2.11.1 ; python_version >= "3.8" and python_version < "4.0" -google-api-core[grpc]==2.11.1 ; python_version >= "3.8" and python_version < "4.0" -google-auth-oauthlib==1.0.0 ; python_version >= "3.8" and python_version < "4.0" -google-auth==2.20.0 ; python_version >= "3.8" and python_version < "4.0" -google-cloud-bigquery-storage==2.20.0 ; python_version >= "3.8" and python_version < "4.0" -google-cloud-bigquery==3.11.2 ; python_version >= "3.8" and python_version < "4.0" -google-cloud-core==2.3.2 ; python_version >= "3.8" and python_version < "4.0" -google-cloud-storage==2.9.0 ; python_version >= "3.8" and python_version < "4.0" -google-crc32c==1.5.0 ; python_version >= "3.8" and python_version < "4.0" -google-resumable-media==2.5.0 ; python_version >= "3.8" and python_version < "4.0" -googleapis-common-protos==1.59.1 ; python_version < "4.0" and python_version >= "3.8" -graphviz==0.20.1 ; python_version >= "3.8" and python_version < "4.0" -greenlet==2.0.2 ; python_version >= "3.8" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") and python_version < "4.0" -griffe==0.29.1 ; python_version >= "3.8" and python_version < "4.0" -grpcio-status==1.56.0 ; python_version < "4.0" and python_version >= "3.8" -grpcio==1.56.0 ; python_version < "4.0" and python_version >= "3.8" -hypothesis==6.79.3 ; python_version >= "3.8" and python_version < "4.0" -identify==2.5.24 ; python_version >= "3.8" and python_version < "4.0" -idna==3.4 ; python_version >= "3.8" and python_version < "4.0" -importlib-metadata==6.7.0 ; python_version >= "3.8" and python_version < "4.0" -importlib-resources==5.12.0 ; python_version >= "3.8" and python_version < "3.9" -impyla==0.18.0 ; python_version >= "3.8" and python_version < "4.0" -iniconfig==2.0.0 ; python_version >= "3.8" and python_version < "4.0" -ipykernel==6.23.3 ; python_version >= "3.8" and python_version < "4.0" -ipython==8.12.2 ; python_version >= "3.8" and python_version < "4.0" -jedi==0.18.2 ; python_version >= "3.8" and python_version < "4.0" -jinja2==3.1.2 ; python_version >= "3.8" and python_version < "4.0" -jsonschema==4.17.3 ; python_version >= "3.8" and python_version < "4.0" -jupyter-client==8.3.0 ; python_version >= "3.8" and python_version < "4.0" -jupyter-core==5.3.1 ; python_version >= "3.8" and python_version < "4.0" -jupyterlab-pygments==0.2.2 ; python_version >= "3.8" and python_version < "4.0" -jupytext==1.14.6 ; python_version >= "3.8" and python_version < "4.0" -locket==1.0.0 ; python_version >= "3.8" and python_version < "4.0" -lz4==4.3.2 ; python_version >= "3.8" and python_version < "4.0" -markdown-it-py==2.2.0 ; python_version >= "3.8" and python_version < "4.0" -markdown==3.3.7 ; python_version >= "3.8" and python_version < "4.0" -markupsafe==2.1.3 ; python_version >= "3.8" and python_version < "4.0" -matplotlib-inline==0.1.6 ; python_version >= "3.8" and python_version < "4.0" -mdit-py-plugins==0.4.0 ; python_version >= "3.8" and python_version < "4.0" -mdurl==0.1.2 ; python_version >= "3.8" and python_version < "4.0" -mergedeep==1.3.4 ; python_version >= "3.8" and python_version < "4.0" -mistune==3.0.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-autorefs==0.4.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-exclude==1.0.2 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-gen-files==0.5.0 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-git-revision-date-localized-plugin==1.2.0 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-jupyter==0.24.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-literate-nav==0.6.0 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-macros-plugin==1.0.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-material-extensions==1.1.1 ; python_version >= "3.8" and python_version < "4.0" -mkdocs-material==9.1.17 ; python_version >= "3.8" and python_version < "4.0" -mkdocs==1.4.3 ; python_version >= "3.8" and python_version < "4.0" -mkdocstrings-python==1.1.2 ; python_version >= "3.8" and python_version < "4.0" -mkdocstrings==0.22.0 ; python_version >= "3.8" and python_version < "4.0" -multipledispatch==1.0.0 ; python_version >= "3.8" and python_version < "4.0" -mypy-extensions==1.0.0 ; python_version >= "3.8" and python_version < "4.0" -nbclient==0.8.0 ; python_version >= "3.8" and python_version < "4.0" -nbconvert==7.6.0 ; python_version >= "3.8" and python_version < "4.0" -nbformat==5.9.0 ; python_version >= "3.8" and python_version < "4.0" -nest-asyncio==1.5.6 ; python_version >= "3.8" and python_version < "4.0" -nodeenv==1.8.0 ; python_version >= "3.8" and python_version < "4.0" -numpy==1.24.3 ; python_version < "4.0" and python_version >= "3.8" -oauthlib==3.2.2 ; python_version >= "3.8" and python_version < "4.0" -oracledb==1.3.2 ; python_version >= "3.8" and python_version < "4.0" -oscrypto==1.3.0 ; python_version >= "3.8" and python_version < "4.0" -packaging==23.1 ; python_version >= "3.8" and python_version < "4.0" -pandas==2.0.2 ; python_version >= "3.8" and python_version < "4.0" -pandocfilters==1.5.0 ; python_version >= "3.8" and python_version < "4.0" -parso==0.8.3 ; python_version >= "3.8" and python_version < "4.0" -parsy==2.1 ; python_version >= "3.8" and python_version < "4.0" -partd==1.4.0 ; python_version >= "3.8" and python_version < "4.0" -pathspec==0.11.1 ; python_version >= "3.8" and python_version < "4.0" -pexpect==4.8.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform != "win32" -pickleshare==0.7.5 ; python_version >= "3.8" and python_version < "4.0" -pkgutil-resolve-name==1.3.10 ; python_version >= "3.8" and python_version < "3.9" -platformdirs==3.8.0 ; python_version >= "3.8" and python_version < "4.0" -pluggy==1.2.0 ; python_version >= "3.8" and python_version < "4.0" -poetry-dynamic-versioning==0.23.0 ; python_version >= "3.8" and python_version < "4.0" -polars==0.18.4 ; python_version >= "3.8" and python_version < "4.0" -pooch[progress,xxhash]==1.7.0 ; python_version >= "3.8" and python_version < "4.0" -pprintpp==0.4.0 ; python_version >= "3.8" and python_version < "4.0" -pre-commit==3.3.3 ; python_version >= "3.8" and python_version < "4.0" -prompt-toolkit==3.0.38 ; python_version >= "3.8" and python_version < "4.0" -proto-plus==1.22.3 ; python_version < "4.0" and python_version >= "3.8" -protobuf==4.23.3 ; python_version < "4.0" and python_version >= "3.8" -psutil==5.9.5 ; python_version >= "3.8" and python_version < "4.0" -psycopg2==2.9.6 ; python_version >= "3.8" and python_version < "4.0" -ptyprocess==0.7.0 ; python_version >= "3.8" and python_version < "4.0" and sys_platform != "win32" -pure-eval==0.2.2 ; python_version >= "3.8" and python_version < "4.0" -pure-sasl==0.6.2 ; python_version >= "3.8" and python_version < "4.0" -py-cpuinfo==9.0.0 ; python_version >= "3.8" and python_version < "4.0" -py4j==0.10.9.5 ; python_version >= "3.8" and python_version < "4.0" -pyarrow==10.0.1 ; python_version >= "3.8" and python_version < "4.0" -pyasn1-modules==0.3.0 ; python_version >= "3.8" and python_version < "4.0" -pyasn1==0.5.0 ; python_version >= "3.8" and python_version < "4.0" -pycparser==2.21 ; python_version >= "3.8" and python_version < "4.0" -pycryptodomex==3.18.0 ; python_version >= "3.8" and python_version < "4.0" -pydata-google-auth==1.8.0 ; python_version >= "3.8" and python_version < "4.0" -pydeps==1.12.8 ; python_version >= "3.8" and python_version < "4.0" -pydruid[sqlalchemy]==0.6.5 ; python_version >= "3.8" and python_version < "4.0" -pygments==2.15.1 ; python_version >= "3.8" and python_version < "4.0" -pyjwt==2.7.0 ; python_version >= "3.8" and python_version < "4.0" -pymdown-extensions==10.0.1 ; python_version >= "3.8" and python_version < "4.0" -pymssql==2.2.7 ; python_version >= "3.8" and python_version < "4.0" -pymysql==1.1.0 ; python_version >= "3.8" and python_version < "4.0" -pyopenssl==23.2.0 ; python_version >= "3.8" and python_version < "4.0" -pyproj==3.5.0 ; python_version >= "3.8" and python_version < "4.0" -pyrsistent==0.19.3 ; python_version >= "3.8" and python_version < "4.0" -pyspark==3.3.2 ; python_version >= "3.8" and python_version < "4.0" -pytest-benchmark==4.0.0 ; python_version >= "3.8" and python_version < "4.0" -pytest-clarity==1.0.1 ; python_version >= "3.8" and python_version < "4.0" -pytest-cov==4.1.0 ; python_version >= "3.8" and python_version < "4.0" -pytest-httpserver==1.0.8 ; python_version >= "3.8" and python_version < "4.0" -pytest-mock==3.11.1 ; python_version >= "3.8" and python_version < "4.0" -pytest-randomly==3.12.0 ; python_version >= "3.8" and python_version < "4.0" -pytest-repeat==0.9.1 ; python_version >= "3.8" and python_version < "4.0" -pytest-snapshot==0.9.0 ; python_version >= "3.8" and python_version < "4.0" -pytest-xdist==3.3.1 ; python_version >= "3.8" and python_version < "4.0" -pytest==7.4.0 ; python_version >= "3.8" and python_version < "4.0" -python-dateutil==2.8.2 ; python_version >= "3.8" and python_version < "4.0" -pytz==2023.3 ; python_version >= "3.8" and python_version < "4.0" -pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.8" and python_version < "4.0" -pyyaml-env-tag==0.1 ; python_version >= "3.8" and python_version < "4.0" -pyyaml==6.0 ; python_version >= "3.8" and python_version < "4.0" -pyzmq==25.1.0 ; python_version >= "3.8" and python_version < "4.0" -regex==2023.6.3 ; python_version >= "3.8" and python_version < "4.0" -requests-oauthlib==1.3.1 ; python_version >= "3.8" and python_version < "4.0" -requests==2.31.0 ; python_version >= "3.8" and python_version < "4.0" -rich==13.4.2 ; python_version >= "3.8" and python_version < "4.0" -rsa==4.9 ; python_version >= "3.8" and python_version < "4" -ruff==0.0.275 ; python_version >= "3.8" and python_version < "4.0" -setuptools==68.0.0 ; python_version >= "3.8" and python_version < "4.0" -shapely==2.0.1 ; python_version >= "3.8" and python_version < "4.0" -six==1.16.0 ; python_version >= "3.8" and python_version < "4.0" -smmap==5.0.0 ; python_version >= "3.8" and python_version < "4.0" -snowflake-connector-python==3.0.4 ; python_version >= "3.8" and python_version < "4.0" -snowflake-connector-python[pandas]==3.0.4 ; python_version >= "3.8" and python_version < "4.0" -snowflake-sqlalchemy[pandas]==1.4.7 ; python_version >= "3.8" and python_version < "4.0" -sortedcontainers==2.4.0 ; python_version >= "3.8" and python_version < "4.0" -soupsieve==2.4.1 ; python_version >= "3.8" and python_version < "4.0" -sqlalchemy-views==0.3.2 ; python_version >= "3.8" and python_version < "4.0" -sqlalchemy==1.4.48 ; python_version >= "3.8" and python_version < "4.0" -sqlglot==16.4.2 ; python_version >= "3.8" and python_version < "4.0" -stack-data==0.6.2 ; python_version >= "3.8" and python_version < "4.0" -stdlib-list==0.9.0 ; python_version >= "3.8" and python_version < "4.0" -termcolor==2.3.0 ; python_version >= "3.8" and python_version < "4.0" -thrift-sasl==0.4.3 ; python_version >= "3.8" and python_version < "4.0" -thrift==0.16.0 ; python_version >= "3.8" and python_version < "4.0" -tinycss2==1.2.1 ; python_version >= "3.8" and python_version < "4.0" -toml==0.10.2 ; python_version >= "3.8" and python_version < "4.0" -tomli==2.0.1 ; python_version >= "3.8" and python_full_version <= "3.11.0a6" -tomlkit==0.11.8 ; python_version >= "3.8" and python_version < "4.0" -toolz==0.12.0 ; python_version >= "3.8" and python_version < "4.0" -tornado==6.3.2 ; python_version >= "3.8" and python_version < "4.0" -tqdm==4.65.0 ; python_version >= "3.8" and python_version < "4.0" -traitlets==5.9.0 ; python_version >= "3.8" and python_version < "4.0" -trino[sqlalchemy]==0.326.0 ; python_version >= "3.8" and python_version < "4.0" -typing-extensions==4.6.3 ; python_version >= "3.8" and python_version < "4.0" -tzdata==2023.3 ; python_version >= "3.8" and python_version < "4.0" -tzlocal==5.0.1 ; python_version >= "3.8" and python_version < "4.0" -urllib3==1.26.16 ; python_version >= "3.8" and python_version < "4.0" -virtualenv==20.23.1 ; python_version >= "3.8" and python_version < "4.0" -watchdog==3.0.0 ; python_version >= "3.8" and python_version < "4.0" -wcwidth==0.2.6 ; python_version >= "3.8" and python_version < "4.0" -webencodings==0.5.1 ; python_version >= "3.8" and python_version < "4.0" -werkzeug==2.3.6 ; python_version >= "3.8" and python_version < "4.0" -xxhash==3.2.0 ; python_version >= "3.8" and python_version < "4.0" -zipp==3.15.0 ; python_version >= "3.8" and python_version < "4.0" -zstandard==0.21.0 ; python_version >= "3.8" and python_version < "4.0" +appnope==0.1.3 ; python_version >= "3.9" and python_version < "4.0" and sys_platform == "darwin" or python_version >= "3.9" and python_version < "4.0" and platform_system == "Darwin" +asn1crypto==1.5.1 ; python_version >= "3.9" and python_version < "4.0" +asttokens==2.2.1 ; python_version >= "3.9" and python_version < "4.0" +atpublic==4.0 ; python_version >= "3.9" and python_version < "4.0" +attrs==23.1.0 ; python_version >= "3.9" and python_version < "4.0" +babel==2.12.1 ; python_version >= "3.9" and python_version < "4.0" +backcall==0.2.0 ; python_version >= "3.9" and python_version < "4.0" +beautifulsoup4==4.12.2 ; python_version >= "3.9" and python_version < "4.0" +bidict==0.22.1 ; python_version >= "3.9" and python_version < "4.0" +bitarray==2.7.6 ; python_version >= "3.9" and python_version < "4.0" +black==23.3.0 ; python_version >= "3.9" and python_version < "4.0" +bleach==6.0.0 ; python_version >= "3.9" and python_version < "4.0" +cachetools==5.3.1 ; python_version >= "3.9" and python_version < "4.0" +certifi==2023.5.7 ; python_version >= "3.9" and python_version < "4.0" +cffi==1.15.1 ; python_version >= "3.9" and python_version < "4.0" +cfgv==3.3.1 ; python_version >= "3.9" and python_version < "4.0" +chardet==5.1.0 ; python_version >= "3.9" and python_version < "4.0" +charset-normalizer==3.1.0 ; python_version >= "3.9" and python_version < "4.0" +click-plugins==1.1.1 ; python_version >= "3.9" and python_version < "4.0" +click==8.1.3 ; python_version >= "3.9" and python_version < "4.0" +clickhouse-connect[arrow,numpy,pandas]==0.6.4 ; python_version >= "3.9" and python_version < "4.0" +cligj==0.7.2 ; python_version >= "3.9" and python_version < "4" +cloudpickle==2.2.1 ; python_version >= "3.9" and python_version < "4.0" +codespell[hard-encoding-detection,toml]==2.2.5 ; python_version >= "3.9" and python_version < "4.0" +colorama==0.4.6 ; python_version >= "3.9" and python_version < "4.0" +comm==0.1.3 ; python_version >= "3.9" and python_version < "4.0" +coverage[toml]==7.2.7 ; python_version >= "3.9" and python_version < "4.0" +cryptography==40.0.2 ; python_version >= "3.9" and python_version < "4.0" +dask[array,dataframe]==2023.5.0 ; python_version >= "3.9" and python_version < "4.0" +datafusion==22.0.0 ; python_version >= "3.9" and python_version < "4.0" +db-dtypes==1.1.1 ; python_version >= "3.9" and python_version < "4.0" +debugpy==1.6.7 ; python_version >= "3.9" and python_version < "4.0" +decorator==5.1.1 ; python_version >= "3.9" and python_version < "4.0" +defusedxml==0.7.1 ; python_version >= "3.9" and python_version < "4.0" +deltalake==0.10.0 ; python_version >= "3.9" and python_version < "4.0" +distlib==0.3.6 ; python_version >= "3.9" and python_version < "4.0" +duckdb-engine==0.9.0 ; python_version >= "3.9" and python_version < "4.0" +duckdb==0.8.1 ; python_version >= "3.9" and python_version < "4.0" +dunamai==1.17.0 ; python_version >= "3.9" and python_version < "4.0" +exceptiongroup==1.1.1 ; python_version >= "3.9" and python_version < "3.11" +execnet==1.9.0 ; python_version >= "3.9" and python_version < "4.0" +executing==1.2.0 ; python_version >= "3.9" and python_version < "4.0" +fastjsonschema==2.17.1 ; python_version >= "3.9" and python_version < "4.0" +filelock==3.12.2 ; python_version >= "3.9" and python_version < "4.0" +fiona==1.9.4.post1 ; python_version >= "3.9" and python_version < "4.0" +fsspec==2023.6.0 ; python_version >= "3.9" and python_version < "4.0" +geoalchemy2==0.13.3 ; python_version >= "3.9" and python_version < "4.0" +geopandas==0.13.2 ; python_version >= "3.9" and python_version < "4.0" +ghp-import==2.1.0 ; python_version >= "3.9" and python_version < "4.0" +gitdb==4.0.10 ; python_version >= "3.9" and python_version < "4.0" +gitpython==3.1.31 ; python_version >= "3.9" and python_version < "4.0" +google-api-core==2.11.1 ; python_version >= "3.9" and python_version < "4.0" +google-api-core[grpc]==2.11.1 ; python_version >= "3.9" and python_version < "4.0" +google-auth-oauthlib==1.0.0 ; python_version >= "3.9" and python_version < "4.0" +google-auth==2.20.0 ; python_version >= "3.9" and python_version < "4.0" +google-cloud-bigquery-storage==2.20.0 ; python_version >= "3.9" and python_version < "4.0" +google-cloud-bigquery==3.11.2 ; python_version >= "3.9" and python_version < "4.0" +google-cloud-core==2.3.2 ; python_version >= "3.9" and python_version < "4.0" +google-cloud-storage==2.9.0 ; python_version >= "3.9" and python_version < "4.0" +google-crc32c==1.5.0 ; python_version >= "3.9" and python_version < "4.0" +google-resumable-media==2.5.0 ; python_version >= "3.9" and python_version < "4.0" +googleapis-common-protos==1.59.1 ; python_version < "4.0" and python_version >= "3.9" +graphviz==0.20.1 ; python_version >= "3.9" and python_version < "4.0" +greenlet==2.0.2 ; python_version >= "3.9" and (platform_machine == "aarch64" or platform_machine == "ppc64le" or platform_machine == "x86_64" or platform_machine == "amd64" or platform_machine == "AMD64" or platform_machine == "win32" or platform_machine == "WIN32") and python_version < "4.0" +griffe==0.29.1 ; python_version >= "3.9" and python_version < "4.0" +grpcio-status==1.56.0 ; python_version < "4.0" and python_version >= "3.9" +grpcio==1.56.0 ; python_version < "4.0" and python_version >= "3.9" +hypothesis==6.79.3 ; python_version >= "3.9" and python_version < "4.0" +identify==2.5.24 ; python_version >= "3.9" and python_version < "4.0" +idna==3.4 ; python_version >= "3.9" and python_version < "4.0" +importlib-metadata==6.7.0 ; python_version >= "3.9" and python_version < "4.0" +impyla==0.18.0 ; python_version >= "3.9" and python_version < "4.0" +iniconfig==2.0.0 ; python_version >= "3.9" and python_version < "4.0" +ipykernel==6.23.3 ; python_version >= "3.9" and python_version < "4.0" +ipython==8.12.2 ; python_version >= "3.9" and python_version < "4.0" +jedi==0.18.2 ; python_version >= "3.9" and python_version < "4.0" +jinja2==3.1.2 ; python_version >= "3.9" and python_version < "4.0" +jsonschema==4.17.3 ; python_version >= "3.9" and python_version < "4.0" +jupyter-client==8.3.0 ; python_version >= "3.9" and python_version < "4.0" +jupyter-core==5.3.1 ; python_version >= "3.9" and python_version < "4.0" +jupyterlab-pygments==0.2.2 ; python_version >= "3.9" and python_version < "4.0" +jupytext==1.14.6 ; python_version >= "3.9" and python_version < "4.0" +locket==1.0.0 ; python_version >= "3.9" and python_version < "4.0" +lz4==4.3.2 ; python_version >= "3.9" and python_version < "4.0" +markdown-it-py==2.2.0 ; python_version >= "3.9" and python_version < "4.0" +markdown==3.3.7 ; python_version >= "3.9" and python_version < "4.0" +markupsafe==2.1.3 ; python_version >= "3.9" and python_version < "4.0" +matplotlib-inline==0.1.6 ; python_version >= "3.9" and python_version < "4.0" +mdit-py-plugins==0.4.0 ; python_version >= "3.9" and python_version < "4.0" +mdurl==0.1.2 ; python_version >= "3.9" and python_version < "4.0" +mergedeep==1.3.4 ; python_version >= "3.9" and python_version < "4.0" +mistune==3.0.1 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-autorefs==0.4.1 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-exclude==1.0.2 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-gen-files==0.5.0 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-git-revision-date-localized-plugin==1.2.0 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-jupyter==0.24.1 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-literate-nav==0.6.0 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-macros-plugin==1.0.1 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-material-extensions==1.1.1 ; python_version >= "3.9" and python_version < "4.0" +mkdocs-material==9.1.17 ; python_version >= "3.9" and python_version < "4.0" +mkdocs==1.4.3 ; python_version >= "3.9" and python_version < "4.0" +mkdocstrings-python==1.1.2 ; python_version >= "3.9" and python_version < "4.0" +mkdocstrings==0.22.0 ; python_version >= "3.9" and python_version < "4.0" +multipledispatch==1.0.0 ; python_version >= "3.9" and python_version < "4.0" +mypy-extensions==1.0.0 ; python_version >= "3.9" and python_version < "4.0" +nbclient==0.8.0 ; python_version >= "3.9" and python_version < "4.0" +nbconvert==7.6.0 ; python_version >= "3.9" and python_version < "4.0" +nbformat==5.9.0 ; python_version >= "3.9" and python_version < "4.0" +nest-asyncio==1.5.6 ; python_version >= "3.9" and python_version < "4.0" +nodeenv==1.8.0 ; python_version >= "3.9" and python_version < "4.0" +numpy==1.24.3 ; python_version < "4.0" and python_version >= "3.9" +oauthlib==3.2.2 ; python_version >= "3.9" and python_version < "4.0" +oracledb==1.3.2 ; python_version >= "3.9" and python_version < "4.0" +oscrypto==1.3.0 ; python_version >= "3.9" and python_version < "4.0" +packaging==23.1 ; python_version >= "3.9" and python_version < "4.0" +pandas==2.0.2 ; python_version >= "3.9" and python_version < "4.0" +pandocfilters==1.5.0 ; python_version >= "3.9" and python_version < "4.0" +parso==0.8.3 ; python_version >= "3.9" and python_version < "4.0" +parsy==2.1 ; python_version >= "3.9" and python_version < "4.0" +partd==1.4.0 ; python_version >= "3.9" and python_version < "4.0" +pathspec==0.11.1 ; python_version >= "3.9" and python_version < "4.0" +pexpect==4.8.0 ; python_version >= "3.9" and python_version < "4.0" and sys_platform != "win32" +pickleshare==0.7.5 ; python_version >= "3.9" and python_version < "4.0" +platformdirs==3.8.0 ; python_version >= "3.9" and python_version < "4.0" +pluggy==1.2.0 ; python_version >= "3.9" and python_version < "4.0" +poetry-dynamic-versioning==0.23.0 ; python_version >= "3.9" and python_version < "4.0" +polars==0.18.4 ; python_version >= "3.9" and python_version < "4.0" +pooch[progress,xxhash]==1.7.0 ; python_version >= "3.9" and python_version < "4.0" +pprintpp==0.4.0 ; python_version >= "3.9" and python_version < "4.0" +pre-commit==3.3.3 ; python_version >= "3.9" and python_version < "4.0" +prompt-toolkit==3.0.38 ; python_version >= "3.9" and python_version < "4.0" +proto-plus==1.22.3 ; python_version < "4.0" and python_version >= "3.9" +protobuf==4.23.3 ; python_version < "4.0" and python_version >= "3.9" +psutil==5.9.5 ; python_version >= "3.9" and python_version < "4.0" +psycopg2==2.9.6 ; python_version >= "3.9" and python_version < "4.0" +ptyprocess==0.7.0 ; python_version >= "3.9" and python_version < "4.0" and sys_platform != "win32" +pure-eval==0.2.2 ; python_version >= "3.9" and python_version < "4.0" +pure-sasl==0.6.2 ; python_version >= "3.9" and python_version < "4.0" +py-cpuinfo==9.0.0 ; python_version >= "3.9" and python_version < "4.0" +py4j==0.10.9.5 ; python_version >= "3.9" and python_version < "4.0" +pyarrow==10.0.1 ; python_version >= "3.9" and python_version < "4.0" +pyasn1-modules==0.3.0 ; python_version >= "3.9" and python_version < "4.0" +pyasn1==0.5.0 ; python_version >= "3.9" and python_version < "4.0" +pycparser==2.21 ; python_version >= "3.9" and python_version < "4.0" +pycryptodomex==3.18.0 ; python_version >= "3.9" and python_version < "4.0" +pydata-google-auth==1.8.0 ; python_version >= "3.9" and python_version < "4.0" +pydeps==1.12.8 ; python_version >= "3.9" and python_version < "4.0" +pydruid[sqlalchemy]==0.6.5 ; python_version >= "3.9" and python_version < "4.0" +pygments==2.15.1 ; python_version >= "3.9" and python_version < "4.0" +pyjwt==2.7.0 ; python_version >= "3.9" and python_version < "4.0" +pymdown-extensions==10.0.1 ; python_version >= "3.9" and python_version < "4.0" +pymssql==2.2.7 ; python_version >= "3.9" and python_version < "4.0" +pymysql==1.1.0 ; python_version >= "3.9" and python_version < "4.0" +pyopenssl==23.2.0 ; python_version >= "3.9" and python_version < "4.0" +pyproj==3.5.0 ; python_version >= "3.9" and python_version < "4.0" +pyrsistent==0.19.3 ; python_version >= "3.9" and python_version < "4.0" +pyspark==3.3.2 ; python_version >= "3.9" and python_version < "4.0" +pytest-benchmark==4.0.0 ; python_version >= "3.9" and python_version < "4.0" +pytest-clarity==1.0.1 ; python_version >= "3.9" and python_version < "4.0" +pytest-cov==4.1.0 ; python_version >= "3.9" and python_version < "4.0" +pytest-httpserver==1.0.8 ; python_version >= "3.9" and python_version < "4.0" +pytest-mock==3.11.1 ; python_version >= "3.9" and python_version < "4.0" +pytest-randomly==3.12.0 ; python_version >= "3.9" and python_version < "4.0" +pytest-repeat==0.9.1 ; python_version >= "3.9" and python_version < "4.0" +pytest-snapshot==0.9.0 ; python_version >= "3.9" and python_version < "4.0" +pytest-xdist==3.3.1 ; python_version >= "3.9" and python_version < "4.0" +pytest==7.4.0 ; python_version >= "3.9" and python_version < "4.0" +python-dateutil==2.8.2 ; python_version >= "3.9" and python_version < "4.0" +pytz==2023.3 ; python_version >= "3.9" and python_version < "4.0" +pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.9" and python_version < "4.0" +pyyaml-env-tag==0.1 ; python_version >= "3.9" and python_version < "4.0" +pyyaml==6.0 ; python_version >= "3.9" and python_version < "4.0" +pyzmq==25.1.0 ; python_version >= "3.9" and python_version < "4.0" +regex==2023.6.3 ; python_version >= "3.9" and python_version < "4.0" +requests-oauthlib==1.3.1 ; python_version >= "3.9" and python_version < "4.0" +requests==2.31.0 ; python_version >= "3.9" and python_version < "4.0" +rich==13.4.2 ; python_version >= "3.9" and python_version < "4.0" +rsa==4.9 ; python_version >= "3.9" and python_version < "4" +ruff==0.0.275 ; python_version >= "3.9" and python_version < "4.0" +setuptools==68.0.0 ; python_version >= "3.9" and python_version < "4.0" +shapely==2.0.1 ; python_version >= "3.9" and python_version < "4.0" +six==1.16.0 ; python_version >= "3.9" and python_version < "4.0" +smmap==5.0.0 ; python_version >= "3.9" and python_version < "4.0" +snowflake-connector-python==3.0.4 ; python_version >= "3.9" and python_version < "4.0" +snowflake-connector-python[pandas]==3.0.4 ; python_version >= "3.9" and python_version < "4.0" +snowflake-sqlalchemy[pandas]==1.4.7 ; python_version >= "3.9" and python_version < "4.0" +sortedcontainers==2.4.0 ; python_version >= "3.9" and python_version < "4.0" +soupsieve==2.4.1 ; python_version >= "3.9" and python_version < "4.0" +sqlalchemy-views==0.3.2 ; python_version >= "3.9" and python_version < "4.0" +sqlalchemy==1.4.48 ; python_version >= "3.9" and python_version < "4.0" +sqlglot==16.4.2 ; python_version >= "3.9" and python_version < "4.0" +stack-data==0.6.2 ; python_version >= "3.9" and python_version < "4.0" +stdlib-list==0.9.0 ; python_version >= "3.9" and python_version < "4.0" +termcolor==2.3.0 ; python_version >= "3.9" and python_version < "4.0" +thrift-sasl==0.4.3 ; python_version >= "3.9" and python_version < "4.0" +thrift==0.16.0 ; python_version >= "3.9" and python_version < "4.0" +tinycss2==1.2.1 ; python_version >= "3.9" and python_version < "4.0" +toml==0.10.2 ; python_version >= "3.9" and python_version < "4.0" +tomli==2.0.1 ; python_version >= "3.9" and python_full_version <= "3.11.0a6" +tomlkit==0.11.8 ; python_version >= "3.9" and python_version < "4.0" +toolz==0.12.0 ; python_version >= "3.9" and python_version < "4.0" +tornado==6.3.2 ; python_version >= "3.9" and python_version < "4.0" +tqdm==4.65.0 ; python_version >= "3.9" and python_version < "4.0" +traitlets==5.9.0 ; python_version >= "3.9" and python_version < "4.0" +trino[sqlalchemy]==0.326.0 ; python_version >= "3.9" and python_version < "4.0" +typing-extensions==4.6.3 ; python_version >= "3.9" and python_version < "4.0" +tzdata==2023.3 ; python_version >= "3.9" and python_version < "4.0" +tzlocal==5.0.1 ; python_version >= "3.9" and python_version < "4.0" +urllib3==1.26.16 ; python_version >= "3.9" and python_version < "4.0" +virtualenv==20.23.1 ; python_version >= "3.9" and python_version < "4.0" +watchdog==3.0.0 ; python_version >= "3.9" and python_version < "4.0" +wcwidth==0.2.6 ; python_version >= "3.9" and python_version < "4.0" +webencodings==0.5.1 ; python_version >= "3.9" and python_version < "4.0" +werkzeug==2.3.6 ; python_version >= "3.9" and python_version < "4.0" +xxhash==3.2.0 ; python_version >= "3.9" and python_version < "4.0" +zipp==3.15.0 ; python_version >= "3.9" and python_version < "4.0" +zstandard==0.21.0 ; python_version >= "3.9" and python_version < "4.0"