From b9de17a328b1acb0dd34b83e0f8ef28488c93fae Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 1 Aug 2026 14:18:03 +0200 Subject: [PATCH] [v3-3-test] Limit pandas to < 3 for DataFrame XComs (#70791) * Limit pandas to < 3 for DataFrame XComs Under pandas 3 a DataFrame does not round trip through an XCom the way it does under pandas 2. The public classes moved to the `pandas` namespace, so the same object qualifies as `pandas.DataFrame` rather than `pandas.core.frame.DataFrame` and the serde registry -- keyed on the latter -- does not dispatch to the pandas serializer at all. The caller gets serde's generic "cannot serialize object of type" with nothing pointing at pandas. Beyond that, the dtypes differ: an `object` column reads back as `str` and missing values as `nan` rather than `None`, so the reader's pandas version, not the writer's, decides what a task receives. Declare `pandas<3` where Airflow declares pandas, and back it with a runtime check, since pandas is an optional dependency and the constraint alone cannot be relied on -- a deployment may install pandas 3 directly or pull it in through another package. The check needs the pandas 3 qualname registered to be reachable at all: without `pandas.DataFrame` in the registry the request never reaches this module. It is registered for that reason only, to refuse the value with a message that names pandas and says what to do, not to support it. Reads are refused as well as writes. A payload written under pandas 2 comes back with pandas 3 dtypes, so accepting it would hand the task different data than was pushed, with no signal. Moving from pandas 2 to pandas 3 is a deliberate migration for users to make. Support for it is not dropped, only deferred. Generated-by: Claude Opus 5 (1M context) following the guidelines at https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions * Sync uv.lock with the pandas < 3 constraint * Add significant newsfragment for the pandas < 3 limit * Apply the pandas < 3 limit to the remaining providers The XCom limit only binds where Airflow declares pandas. Thirteen providers pin pandas independently of common-sql, so a deployment installing any of them could still resolve pandas 3 and reach the runtime refusal rather than being held on a supported version by the constraint. pandas-gbq is deliberately untouched -- a different package, unaffected by this. Provider READMEs and uv.lock are regenerated to match. * Regenerate provider docs index for the pandas < 3 pins The update-providers-build-files hook renders the extras table in each provider's docs/index.rst from its pyproject dependencies. Fourteen providers show the pandas extra, so the pin change widens those tables. * Explain the pandas upper bound at every site and drop a vacuous test contributing-docs/13_airflow_dependencies_and_extras.rst asks for a comment saying why whenever a dependency is upper-bound, and AGENTS.md asks for the tracking URL in the file rather than only in a PR comment. All 45 specifiers across 15 files landed without either. Add the rationale and a pointer to the pandas 3 support PR above each block, so whoever decides when the cap comes off does not have to reconstruct it. test_pandas_2_dataframe_xcom_still_round_trips passed unchanged on main: nothing read pd.__version__ before this PR, so monkeypatching it to a 2.x value while the installed pandas is already 2.x changed nothing observable, and the round trip is already covered by test_pandas_serializers. Dropped. --------- Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com> (cherry picked from commit 415cb70f87784cc074d6db7844a07579587b5f0f) --- .../newsfragments/70791.significant.rst | 35 ++ providers/amazon/pyproject.toml | 15 +- providers/apache/hdfs/README.rst | 12 +- providers/apache/hdfs/docs/index.rst | 12 +- providers/apache/hdfs/pyproject.toml | 15 +- providers/apache/hive/README.rst | 12 +- providers/apache/hive/docs/index.rst | 12 +- providers/apache/hive/pyproject.toml | 15 +- providers/common/sql/pyproject.toml | 15 +- providers/databricks/README.rst | 12 +- providers/databricks/docs/index.rst | 12 +- providers/databricks/pyproject.toml | 15 +- providers/exasol/README.rst | 12 +- providers/exasol/docs/index.rst | 12 +- providers/exasol/pyproject.toml | 15 +- providers/google/README.rst | 12 +- providers/google/docs/index.rst | 12 +- providers/google/pyproject.toml | 15 +- providers/papermill/README.rst | 12 +- providers/papermill/docs/index.rst | 12 +- providers/papermill/pyproject.toml | 15 +- providers/postgres/pyproject.toml | 15 +- providers/presto/README.rst | 12 +- providers/presto/docs/index.rst | 12 +- providers/presto/pyproject.toml | 15 +- providers/salesforce/README.rst | 12 +- providers/salesforce/docs/index.rst | 12 +- providers/salesforce/pyproject.toml | 15 +- providers/snowflake/README.rst | 6 +- providers/snowflake/docs/index.rst | 6 +- providers/snowflake/pyproject.toml | 15 +- providers/trino/README.rst | 12 +- providers/trino/docs/index.rst | 12 +- providers/trino/pyproject.toml | 15 +- providers/weaviate/README.rst | 12 +- providers/weaviate/docs/index.rst | 12 +- providers/weaviate/pyproject.toml | 15 +- task-sdk/pyproject.toml | 15 +- .../airflow/sdk/serde/serializers/pandas.py | 45 ++ .../tests/task_sdk/serde/test_serializers.py | 28 + uv.lock | 576 +++++++----------- 41 files changed, 648 insertions(+), 513 deletions(-) create mode 100644 airflow-core/newsfragments/70791.significant.rst diff --git a/airflow-core/newsfragments/70791.significant.rst b/airflow-core/newsfragments/70791.significant.rst new file mode 100644 index 0000000000000..827f22bc68f68 --- /dev/null +++ b/airflow-core/newsfragments/70791.significant.rst @@ -0,0 +1,35 @@ +pandas is limited to ``< 3``; DataFrame XComs are refused on pandas 3 + +A ``pandas.DataFrame`` does not survive an XCom round trip under pandas 3 the way it does +under pandas 2, so this version of Airflow constrains pandas to ``< 3`` and refuses DataFrame +XComs at runtime when a newer pandas is installed anyway. + +Two things change under pandas 3. Its public classes are exposed from the ``pandas`` +namespace, so a DataFrame qualifies as ``pandas.DataFrame`` rather than +``pandas.core.frame.DataFrame`` and the XCom serializer registry -- keyed on the latter -- +never dispatches to the pandas serializer. And the dtypes differ: an ``object`` column reads +back as ``str``, and missing values as ``nan`` rather than ``None``, so the *reader's* pandas +version decides what a task receives rather than the writer's. + +Because pandas is an optional dependency, the ``< 3`` constraint alone cannot be relied on -- +a deployment may install pandas 3 directly, or pull it in through another package. It is +therefore backed by a runtime check. + +**Behaviour changes:** + +- With pandas 3 or newer installed, pushing **or** pulling a ``DataFrame`` through XCom now + raises ``RuntimeError`` naming the installed pandas version and the supported range. + Reads are refused as well as writes, because a payload written under pandas 2 reads back + with pandas 3 dtypes and would otherwise hand the task different data than was pushed, + with no signal. +- Previously the same situation produced an opaque + ``TypeError: cannot serialize object of type `` from the + serializer registry, with nothing identifying pandas as the cause. +- Deployments that pass DataFrames through XCom must pin ``pandas < 3`` in the environment + that runs their tasks. Deployments that do not use DataFrame XComs are unaffected at + runtime. +- Nothing changes for pandas 2 users. + +**This defers pandas 3 support rather than dropping it.** Moving from pandas 2 to pandas 3 +is a deliberate migration for users to make, given the dtype changes it brings to data that +has already been written. Support for pandas 3 will be enabled in a future Airflow release. diff --git a/providers/amazon/pyproject.toml b/providers/amazon/pyproject.toml index ef24eaea8f167..bae2f3cb67f22 100644 --- a/providers/amazon/pyproject.toml +++ b/providers/amazon/pyproject.toml @@ -130,9 +130,18 @@ dependencies = [ "apache-airflow-providers-mongo" ] "pandas" = [ - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] "openlineage" = [ "apache-airflow-providers-openlineage>=2.3.0" diff --git a/providers/apache/hdfs/README.rst b/providers/apache/hdfs/README.rst index 9a78a1043b9d5..a7aab259a60d4 100644 --- a/providers/apache/hdfs/README.rst +++ b/providers/apache/hdfs/README.rst @@ -51,19 +51,19 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``hdfs[avro,dataframe,kerberos]`` ``>=2.5.4; python_version < "3.12"`` ``hdfs[avro,dataframe,kerberos]`` ``>=2.7.3; python_version >= "3.12"`` ``fastavro`` ``>=1.10.0; python_version >= "3.13" and python_version < "3.14"`` ``fastavro`` ``>=1.12.1; python_version >= "3.14"`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================== +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/apache/hdfs/docs/index.rst b/providers/apache/hdfs/docs/index.rst index a28c082a064e6..bbcdf5cb991e3 100644 --- a/providers/apache/hdfs/docs/index.rst +++ b/providers/apache/hdfs/docs/index.rst @@ -85,19 +85,19 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``hdfs[avro,dataframe,kerberos]`` ``>=2.5.4; python_version < "3.12"`` ``hdfs[avro,dataframe,kerberos]`` ``>=2.7.3; python_version >= "3.12"`` ``fastavro`` ``>=1.10.0; python_version >= "3.13" and python_version < "3.14"`` ``fastavro`` ``>=1.12.1; python_version >= "3.14"`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================== +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/apache/hdfs/pyproject.toml b/providers/apache/hdfs/pyproject.toml index 2907dd03abaed..fa9baec7f7e99 100644 --- a/providers/apache/hdfs/pyproject.toml +++ b/providers/apache/hdfs/pyproject.toml @@ -65,9 +65,18 @@ dependencies = [ 'hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>="3.12"', 'fastavro>=1.10.0; python_version>="3.13" and python_version<"3.14"', 'fastavro>=1.12.1; python_version>="3.14"', - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] [dependency-groups] diff --git a/providers/apache/hive/README.rst b/providers/apache/hive/README.rst index 56a4e8be0a2b3..079adfa3f1c2f 100644 --- a/providers/apache/hive/README.rst +++ b/providers/apache/hive/README.rst @@ -50,19 +50,19 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``hmsclient`` ``>=0.1.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyhive[hive_pure_sasl]`` ``>=0.7.0`` ``jmespath`` ``>=0.7.0`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/apache/hive/docs/index.rst b/providers/apache/hive/docs/index.rst index aa9e5204fb18a..e84312278b95c 100644 --- a/providers/apache/hive/docs/index.rst +++ b/providers/apache/hive/docs/index.rst @@ -99,19 +99,19 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``hmsclient`` ``>=0.1.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyhive[hive_pure_sasl]`` ``>=0.7.0`` ``jmespath`` ``>=0.7.0`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/apache/hive/pyproject.toml b/providers/apache/hive/pyproject.toml index 4d535fd769985..8fa62e3ce462a 100644 --- a/providers/apache/hive/pyproject.toml +++ b/providers/apache/hive/pyproject.toml @@ -63,9 +63,18 @@ dependencies = [ "apache-airflow-providers-common-compat>=1.12.0", "apache-airflow-providers-common-sql>=1.32.0", "hmsclient>=0.1.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "pyhive[hive_pure_sasl]>=0.7.0", "jmespath>=0.7.0", ] diff --git a/providers/common/sql/pyproject.toml b/providers/common/sql/pyproject.toml index ddadb5ceb6908..fa3f99c9cf93a 100644 --- a/providers/common/sql/pyproject.toml +++ b/providers/common/sql/pyproject.toml @@ -72,11 +72,20 @@ dependencies = [ # Any change in the dependencies is preserved when the file is regenerated [project.optional-dependencies] "pandas" = [ - 'pandas[sql-other]>=2.1.2; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas[sql-other]>=2.1.2,<3; python_version <"3.13"', # Technically - we should add "sql-other" here as well, but this will only be possible when we move # to sqlalchemy 2+ TODO(potiuk): do so. - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] "openlineage" = [ "apache-airflow-providers-openlineage" diff --git a/providers/databricks/README.rst b/providers/databricks/README.rst index d32098be67796..0fc550eda4567 100644 --- a/providers/databricks/README.rst +++ b/providers/databricks/README.rst @@ -50,9 +50,9 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.13.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` @@ -60,13 +60,13 @@ PIP package Version required ``databricks-sql-connector`` ``>=4.4.0`` ``aiohttp`` ``>=3.14.0,<4`` ``mergedeep`` ``>=1.3.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyarrow`` ``>=16.1.0; python_version < "3.13"`` ``pyarrow`` ``>=18.0.0; python_version >= "3.13" and python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` -========================================== ================================================================== +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/databricks/docs/index.rst b/providers/databricks/docs/index.rst index 80a0a7abacf2c..a4f01c64822ba 100644 --- a/providers/databricks/docs/index.rst +++ b/providers/databricks/docs/index.rst @@ -98,9 +98,9 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.13.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` @@ -108,13 +108,13 @@ PIP package Version required ``databricks-sql-connector`` ``>=4.4.0`` ``aiohttp`` ``>=3.14.0,<4`` ``mergedeep`` ``>=1.3.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyarrow`` ``>=16.1.0; python_version < "3.13"`` ``pyarrow`` ``>=18.0.0; python_version >= "3.13" and python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` -========================================== ================================================================== +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/databricks/pyproject.toml b/providers/databricks/pyproject.toml index d486b4e9b25f1..f55ef7863fdf8 100644 --- a/providers/databricks/pyproject.toml +++ b/providers/databricks/pyproject.toml @@ -66,9 +66,18 @@ dependencies = [ "databricks-sql-connector>=4.4.0", "aiohttp>=3.14.0, <4", "mergedeep>=1.3.4", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "pyarrow>=16.1.0; python_version < '3.13'", "pyarrow>=18.0.0; python_version >= '3.13' and python_version < '3.14'", "pyarrow>=22.0.0; python_version >= '3.14'", diff --git a/providers/exasol/README.rst b/providers/exasol/README.rst index efd92fcdf3472..bfe529b8ed679 100644 --- a/providers/exasol/README.rst +++ b/providers/exasol/README.rst @@ -50,17 +50,17 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``pyexasol`` ``>=0.26.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/exasol/docs/index.rst b/providers/exasol/docs/index.rst index 94ea0bbae141d..242a34559891d 100644 --- a/providers/exasol/docs/index.rst +++ b/providers/exasol/docs/index.rst @@ -95,17 +95,17 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``pyexasol`` ``>=0.26.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/exasol/pyproject.toml b/providers/exasol/pyproject.toml index a3f8a5ac4cecf..a8cce19191f79 100644 --- a/providers/exasol/pyproject.toml +++ b/providers/exasol/pyproject.toml @@ -63,9 +63,18 @@ dependencies = [ "apache-airflow-providers-common-compat>=1.12.0", "apache-airflow-providers-common-sql>=1.32.0", "pyexasol>=0.26.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] # The optional dependencies should be modified in place in the generated file diff --git a/providers/google/README.rst b/providers/google/README.rst index 6a5c22451ab8c..c69e694d33731 100644 --- a/providers/google/README.rst +++ b/providers/google/README.rst @@ -57,9 +57,9 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.13.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` @@ -124,9 +124,9 @@ PIP package Version required ``httpx`` ``>=0.25.0`` ``looker-sdk`` ``>=22.4.0,!=24.18.0`` ``pandas-gbq`` ``>=0.7.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``proto-plus`` ``>=1.26.0`` ``pyarrow`` ``>=18.0.0; python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` @@ -137,7 +137,7 @@ PIP package Version required ``tenacity`` ``>=8.3.0`` ``immutabledict`` ``>=4.2.0`` ``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402`` -========================================== ================================================================== +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/google/docs/index.rst b/providers/google/docs/index.rst index a9a3d257d2208..da7c061edc7a4 100644 --- a/providers/google/docs/index.rst +++ b/providers/google/docs/index.rst @@ -110,9 +110,9 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================== +========================================== ==================================================================== PIP package Version required -========================================== ================================================================== +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.13.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` @@ -177,9 +177,9 @@ PIP package Version required ``httpx`` ``>=0.25.0`` ``looker-sdk`` ``>=22.4.0,!=24.18.0`` ``pandas-gbq`` ``>=0.7.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``proto-plus`` ``>=1.26.0`` ``pyarrow`` ``>=18.0.0; python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` @@ -190,7 +190,7 @@ PIP package Version required ``tenacity`` ``>=8.3.0`` ``immutabledict`` ``>=4.2.0`` ``types-protobuf`` ``>=5.27.0,!=5.29.1.20250402`` -========================================== ================================================================== +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/google/pyproject.toml b/providers/google/pyproject.toml index 332023102e8ac..e3509a6a47dc3 100644 --- a/providers/google/pyproject.toml +++ b/providers/google/pyproject.toml @@ -133,9 +133,18 @@ dependencies = [ # See https://github.com/looker-open-source/sdk-codegen/issues/1518 "looker-sdk>=22.4.0,!=24.18.0", "pandas-gbq>=0.7.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "proto-plus>=1.26.0", # Used to write parquet files by BaseSqlToGCSOperator "pyarrow>=18.0.0; python_version < '3.14'", diff --git a/providers/papermill/README.rst b/providers/papermill/README.rst index 34f7fa16725b0..06b4c948e2c79 100644 --- a/providers/papermill/README.rst +++ b/providers/papermill/README.rst @@ -50,19 +50,19 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``papermill[all]`` ``>=2.6.0`` ``scrapbook[all]`` ``>=0.5.0`` ``ipykernel`` ``>=6.29.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``nbconvert`` ``>=7.16.1`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/papermill/docs/index.rst b/providers/papermill/docs/index.rst index 505def34f1702..6bac256d17ac4 100644 --- a/providers/papermill/docs/index.rst +++ b/providers/papermill/docs/index.rst @@ -97,19 +97,19 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``papermill[all]`` ``>=2.6.0`` ``scrapbook[all]`` ``>=0.5.0`` ``ipykernel`` ``>=6.29.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``nbconvert`` ``>=7.16.1`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/papermill/pyproject.toml b/providers/papermill/pyproject.toml index 37d6fb5ab2878..32ed9c96a91b9 100644 --- a/providers/papermill/pyproject.toml +++ b/providers/papermill/pyproject.toml @@ -64,9 +64,18 @@ dependencies = [ "papermill[all]>=2.6.0", "scrapbook[all]>=0.5.0", "ipykernel>=6.29.4", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "nbconvert>=7.16.1", ] diff --git a/providers/postgres/pyproject.toml b/providers/postgres/pyproject.toml index 83b2b92f61053..10f5e3d018f2e 100644 --- a/providers/postgres/pyproject.toml +++ b/providers/postgres/pyproject.toml @@ -80,9 +80,18 @@ dependencies = [ "apache-airflow-providers-openlineage" ] "pandas" = [ - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] "polars" = [ "polars>=1.26.0" diff --git a/providers/presto/README.rst b/providers/presto/README.rst index e9675edfae590..855b57aa819dc 100644 --- a/providers/presto/README.rst +++ b/providers/presto/README.rst @@ -50,19 +50,19 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``presto-python-client`` ``>=0.8.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``psycopg2-binary`` ``>=2.9.9; python_version < "3.13"`` ``psycopg2-binary`` ``>=2.9.10; python_version >= "3.13"`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/presto/docs/index.rst b/providers/presto/docs/index.rst index 8d7ca4eb5ecc8..a455b2eb8fe09 100644 --- a/providers/presto/docs/index.rst +++ b/providers/presto/docs/index.rst @@ -98,19 +98,19 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` ``presto-python-client`` ``>=0.8.4`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``psycopg2-binary`` ``>=2.9.9; python_version < "3.13"`` ``psycopg2-binary`` ``>=2.9.10; python_version >= "3.13"`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/presto/pyproject.toml b/providers/presto/pyproject.toml index a00507c407e6d..5ca2ef6590a5f 100644 --- a/providers/presto/pyproject.toml +++ b/providers/presto/pyproject.toml @@ -63,9 +63,18 @@ dependencies = [ "apache-airflow-providers-common-compat>=1.12.0", "apache-airflow-providers-common-sql>=1.32.0", "presto-python-client>=0.8.4", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', 'psycopg2-binary>=2.9.9; python_version < "3.13"', 'psycopg2-binary>=2.9.10; python_version >= "3.13"', ] diff --git a/providers/salesforce/README.rst b/providers/salesforce/README.rst index 7dfd1e243098c..753dd43cefebc 100644 --- a/providers/salesforce/README.rst +++ b/providers/salesforce/README.rst @@ -50,16 +50,16 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.10.1`` ``simple-salesforce`` ``>=1.0.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/salesforce/docs/index.rst b/providers/salesforce/docs/index.rst index cd7949bf0e77e..199bb4268241a 100644 --- a/providers/salesforce/docs/index.rst +++ b/providers/salesforce/docs/index.rst @@ -97,16 +97,16 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.10.1`` ``simple-salesforce`` ``>=1.0.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/salesforce/pyproject.toml b/providers/salesforce/pyproject.toml index d16ff50b679ef..c5dd164ed4ce9 100644 --- a/providers/salesforce/pyproject.toml +++ b/providers/salesforce/pyproject.toml @@ -62,9 +62,18 @@ dependencies = [ "apache-airflow>=2.11.0", "apache-airflow-providers-common-compat>=1.10.1", "simple-salesforce>=1.0.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] [dependency-groups] diff --git a/providers/snowflake/README.rst b/providers/snowflake/README.rst index 64637b5c9a0e7..3ce0894f6fec6 100644 --- a/providers/snowflake/README.rst +++ b/providers/snowflake/README.rst @@ -56,9 +56,9 @@ PIP package Version required ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyarrow`` ``>=16.1.0; python_version < "3.13"`` ``pyarrow`` ``>=18.0.0; python_version >= "3.13" and python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` diff --git a/providers/snowflake/docs/index.rst b/providers/snowflake/docs/index.rst index 01ee95f4787c0..b18e0ef4c4a5f 100644 --- a/providers/snowflake/docs/index.rst +++ b/providers/snowflake/docs/index.rst @@ -105,9 +105,9 @@ PIP package Version required ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``pyarrow`` ``>=16.1.0; python_version < "3.13"`` ``pyarrow`` ``>=18.0.0; python_version >= "3.13" and python_version < "3.14"`` ``pyarrow`` ``>=22.0.0; python_version >= "3.14"`` diff --git a/providers/snowflake/pyproject.toml b/providers/snowflake/pyproject.toml index e610eebde8d3b..fb2fc3dc99376 100644 --- a/providers/snowflake/pyproject.toml +++ b/providers/snowflake/pyproject.toml @@ -62,9 +62,18 @@ dependencies = [ "apache-airflow>=2.11.0", "apache-airflow-providers-common-compat>=1.12.0", "apache-airflow-providers-common-sql>=1.32.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "pyarrow>=16.1.0; python_version < '3.13'", "pyarrow>=18.0.0; python_version >= '3.13' and python_version < '3.14'", "pyarrow>=22.0.0; python_version >= '3.14'", diff --git a/providers/trino/README.rst b/providers/trino/README.rst index cf55d356ad71c..584d897d6b65e 100644 --- a/providers/trino/README.rst +++ b/providers/trino/README.rst @@ -50,17 +50,17 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``trino`` ``>=0.319.0`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/trino/docs/index.rst b/providers/trino/docs/index.rst index 52841e1d0bad9..877a7c6061d47 100644 --- a/providers/trino/docs/index.rst +++ b/providers/trino/docs/index.rst @@ -98,17 +98,17 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.12.0`` ``apache-airflow-providers-common-sql`` ``>=1.32.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` ``trino`` ``>=0.319.0`` -========================================== ================================================================= +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/trino/pyproject.toml b/providers/trino/pyproject.toml index f550d172bcc72..1a3b384b2cd87 100644 --- a/providers/trino/pyproject.toml +++ b/providers/trino/pyproject.toml @@ -62,9 +62,18 @@ dependencies = [ "apache-airflow>=2.11.0", "apache-airflow-providers-common-compat>=1.12.0", "apache-airflow-providers-common-sql>=1.32.0", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', "trino>=0.319.0", ] diff --git a/providers/weaviate/README.rst b/providers/weaviate/README.rst index 1fc5c90d18f94..cacb91c2e86de 100644 --- a/providers/weaviate/README.rst +++ b/providers/weaviate/README.rst @@ -50,17 +50,17 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13,3.14 Requirements ------------ -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``httpx`` ``>=0.25.0`` ``weaviate-client`` ``!=4.16.7,>=4.4.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/weaviate/docs/index.rst b/providers/weaviate/docs/index.rst index 591be021d8820..023f0cb46d833 100644 --- a/providers/weaviate/docs/index.rst +++ b/providers/weaviate/docs/index.rst @@ -99,17 +99,17 @@ Requirements The minimum Apache Airflow version supported by this provider distribution is ``2.11.0``. -========================================== ================================================================= +========================================== ==================================================================== PIP package Version required -========================================== ================================================================= +========================================== ==================================================================== ``apache-airflow`` ``>=2.11.0`` ``apache-airflow-providers-common-compat`` ``>=1.8.0`` ``httpx`` ``>=0.25.0`` ``weaviate-client`` ``!=4.16.7,>=4.4.0`` -``pandas`` ``>=2.1.2; python_version < "3.13"`` -``pandas`` ``>=2.2.3; python_version >= "3.13" and python_version < "3.14"`` -``pandas`` ``>=2.3.3; python_version >= "3.14"`` -========================================== ================================================================= +``pandas`` ``>=2.1.2,<3; python_version < "3.13"`` +``pandas`` ``>=2.2.3,<3; python_version >= "3.13" and python_version < "3.14"`` +``pandas`` ``>=2.3.3,<3; python_version >= "3.14"`` +========================================== ==================================================================== Cross provider package dependencies ----------------------------------- diff --git a/providers/weaviate/pyproject.toml b/providers/weaviate/pyproject.toml index 5800e8fb50955..b17680d9675c9 100644 --- a/providers/weaviate/pyproject.toml +++ b/providers/weaviate/pyproject.toml @@ -63,9 +63,18 @@ dependencies = [ "apache-airflow-providers-common-compat>=1.8.0", "httpx>=0.25.0", "weaviate-client>=4.4.0,!=4.16.7", - 'pandas>=2.1.2; python_version <"3.13"', - 'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"', - 'pandas>=2.3.3; python_version >="3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.1.2,<3; python_version <"3.13"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.2.3,<3; python_version >="3.13" and python_version <"3.14"', + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + 'pandas>=2.3.3,<3; python_version >="3.14"', ] [dependency-groups] diff --git a/task-sdk/pyproject.toml b/task-sdk/pyproject.toml index 8b40daca744f2..bcca11768dcd6 100644 --- a/task-sdk/pyproject.toml +++ b/task-sdk/pyproject.toml @@ -224,9 +224,18 @@ dev = [ "apache-airflow-providers-common-sql", "apache-airflow-providers-standard", "apache-airflow-devel-common", - "pandas>=2.1.2; python_version <\"3.13\"", - "pandas>=2.2.3; python_version >=\"3.13\" and python_version <\"3.14\"", - "pandas>=2.3.3; python_version >=\"3.14\"" + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + "pandas>=2.1.2,<3; python_version <\"3.13\"", + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + "pandas>=2.2.3,<3; python_version >=\"3.13\" and python_version <\"3.14\"", + # pandas 3 changes the dtypes a DataFrame reads back with, so DataFrame XComs do not + # round trip; capped until pandas 3 support lands. + # Tracked at https://github.com/apache/airflow/pull/70558 + "pandas>=2.3.3,<3; python_version >=\"3.14\"" ] docs = [ "apache-airflow-devel-common[docs]", diff --git a/task-sdk/src/airflow/sdk/serde/serializers/pandas.py b/task-sdk/src/airflow/sdk/serde/serializers/pandas.py index 72a2e818a1132..a3562f5af4701 100644 --- a/task-sdk/src/airflow/sdk/serde/serializers/pandas.py +++ b/task-sdk/src/airflow/sdk/serde/serializers/pandas.py @@ -22,11 +22,49 @@ from airflow.sdk.module_loading import qualname # lazy loading for performance reasons +# +# ``pandas.core.frame.DataFrame`` is what a DataFrame qualifies as under pandas 2. Under +# pandas 3 the public classes moved to the ``pandas`` namespace, so the same object +# qualifies as ``pandas.DataFrame``. That name is registered too, but *only* so that the +# registry dispatches here and this module can refuse it with an actionable message -- +# without it the caller gets serde's generic "cannot serialize object of type" instead. +# See ``_reject_pandas_3`` below. serializers = [ "pandas.core.frame.DataFrame", + "pandas.DataFrame", ] deserializers = serializers +# First pandas major version whose DataFrame XComs this version of Airflow does not support. +_FIRST_UNSUPPORTED_PANDAS_MAJOR = 3 + + +def _reject_pandas_3(pd) -> None: + """ + Refuse a DataFrame XCom when the installed pandas is 3 or newer. + + pandas is an optional dependency, so the ``<3`` constraint Airflow declares cannot be + relied on: a deployment may install pandas 3 directly, or pull it in through another + package. This is the runtime half of that constraint. + + The failure is deliberate rather than best-effort. Under pandas 3 a DataFrame round + trips through parquet with different dtypes than under pandas 2 -- an ``object`` column + comes back as ``str`` and missing values as ``nan`` rather than ``None`` -- so silently + accepting the value would hand tasks data that differs from what was written, with no + signal. Failing on the write is the louder and more recoverable half of that. + """ + major = int(pd.__version__.split(".")[0]) + if major < _FIRST_UNSUPPORTED_PANDAS_MAJOR: + return + raise RuntimeError( + f"DataFrame XComs are not supported with pandas {pd.__version__}: this version of " + f"Airflow supports pandas < {_FIRST_UNSUPPORTED_PANDAS_MAJOR} for XCom serialization. " + "Pin pandas < 3 in the environment that runs your tasks, or avoid passing DataFrames " + "through XCom. Moving to pandas 3 is a deliberate migration -- its DataFrames read " + "back with different dtypes -- and Airflow will enable it in a future release." + ) + + if TYPE_CHECKING: import pandas as pd @@ -43,6 +81,8 @@ def serialize(o: object) -> tuple[U, str, int, bool]: if not isinstance(o, pd.DataFrame): return "", "", 0, False + _reject_pandas_3(pd) + # for now, we *always* serialize into in memory # until we have a generic backend that manages # sinks @@ -62,6 +102,11 @@ def deserialize(cls: type, version: int, data: object) -> pd.DataFrame: if cls is not pd.DataFrame: raise TypeError(f"do not know how to deserialize {qualname(cls)}") + # Reading is refused too, not just writing: a payload written under pandas 2 comes back + # with pandas 3 dtypes, so the task would silently receive different data than was + # pushed. An error is the safer outcome. + _reject_pandas_3(pd) + if not isinstance(data, str): raise TypeError(f"serialized {qualname(cls)} has wrong data type {type(data)}") diff --git a/task-sdk/tests/task_sdk/serde/test_serializers.py b/task-sdk/tests/task_sdk/serde/test_serializers.py index 7e2ade64ebdcf..8ef21272194e8 100644 --- a/task-sdk/tests/task_sdk/serde/test_serializers.py +++ b/task-sdk/tests/task_sdk/serde/test_serializers.py @@ -286,6 +286,34 @@ def test_pandas_serializers(self): assert serialize(123) == ("", "", 0, False) + def test_pandas_3_dataframe_name_is_registered(self): + """The pandas 3 qualname must be registered, or the guard below is unreachable. + + Under pandas 3 a DataFrame qualifies as ``pandas.DataFrame``. serde dispatches on + that name, so if it is absent from the registry the caller gets the generic + "cannot serialize object of type" from serde and never reaches this module. + """ + from airflow.sdk.serde.serializers.pandas import deserializers, serializers + + assert "pandas.DataFrame" in serializers + assert "pandas.core.frame.DataFrame" in deserializers + + @pytest.mark.parametrize("version", ["3.0.0", "3.0.5", "4.1.2"]) + def test_pandas_3_dataframe_xcom_is_refused(self, monkeypatch, version): + """pandas >= 3 must fail loudly on both write and read, not round trip silently.""" + import pandas as pd + + from airflow.sdk.serde.serializers import pandas as pandas_serializer + + monkeypatch.setattr(pd, "__version__", version) + df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4]}) + + with pytest.raises(RuntimeError, match=rf"DataFrame XComs are not supported with pandas {version}"): + pandas_serializer.serialize(df) + + with pytest.raises(RuntimeError, match=r"DataFrame XComs are not supported with pandas"): + pandas_serializer.deserialize(pd.DataFrame, 1, "") + @pytest.mark.parametrize( ("klass", "version", "data", "msg"), [ diff --git a/uv.lock b/uv.lock index ea294b6c90d4f..a99bc56b34505 100644 --- a/uv.lock +++ b/uv.lock @@ -333,7 +333,7 @@ name = "adbc-driver-manager" version = "1.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e9/5e/50aab18cb501e42d3aca3cd2cc26c6637094fcaf5b6576e350c444188f1f/adbc_driver_manager-1.11.0.tar.gz", hash = "sha256:c64aaabeb5810109ab3d2961008f1b014e9f2d87b3df4416c2a080a40237af50", size = 233059, upload-time = "2026-04-07T00:17:28.263Z" } wheels = [ @@ -378,8 +378,8 @@ name = "adbc-driver-postgresql" version = "1.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "adbc-driver-manager" }, - { name = "importlib-resources" }, + { name = "adbc-driver-manager", marker = "python_full_version < '3.13'" }, + { name = "importlib-resources", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/68/10/2962c25035887cd03af3b348eac3302493936f45048c220021a802d07f12/adbc_driver_postgresql-1.11.0.tar.gz", hash = "sha256:f5688b8648ac7a86d8b89340231bb3686ac5df56ee95d1ca0b875dad5d52b48a", size = 32328, upload-time = "2026-04-07T00:17:29.232Z" } wheels = [ @@ -395,8 +395,8 @@ name = "adbc-driver-sqlite" version = "1.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "adbc-driver-manager" }, - { name = "importlib-resources" }, + { name = "adbc-driver-manager", marker = "python_full_version < '3.13'" }, + { name = "importlib-resources", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3a/dd/8a5f4908aa4bdec64dcd672734fa314d692517458ce169591639d0123fe1/adbc_driver_sqlite-1.11.0.tar.gz", hash = "sha256:a4c6b4962610f7cd67cd754c42dd74e18a2c11fabeec9488c5501d73ae62dc62", size = 28885, upload-time = "2026-04-07T00:17:31.325Z" } wheels = [ @@ -459,7 +459,7 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "caio" }, + { name = "caio", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/67/e2/d7cb819de8df6b5c1968a2756c3cb4122d4fa2b8fc768b53b7c9e5edb646/aiofile-3.9.0.tar.gz", hash = "sha256:e5ad718bb148b265b6df1b3752c4d1d83024b93da9bd599df74b9d9ffcf7919b", size = 17943, upload-time = "2024-10-08T10:39:35.846Z" } wheels = [ @@ -491,7 +491,7 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "caio" }, + { name = "caio", marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/48/41/2fea7e193e061ce54eacc3b7bc0e6a99e4fcff43c78cf0a76dd781ed8334/aiofile-3.11.1.tar.gz", hash = "sha256:1f91912c6643d2a4e49ca4ae3514f0bf3867ce948a36d99a6411b8f4755f4cf9", size = 19342, upload-time = "2026-05-16T08:18:33.538Z" } wheels = [ @@ -658,7 +658,7 @@ name = "aiohttp-cors" version = "0.8.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "aiohttp" }, + { name = "aiohttp", marker = "python_full_version < '3.15'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/d89e846a5444b3d5eb8985a6ddb0daef3774928e1bfbce8e84ec97b0ffa7/aiohttp_cors-0.8.1.tar.gz", hash = "sha256:ccacf9cb84b64939ea15f859a146af1f662a6b1d68175754a07315e305fb1403", size = 38626, upload-time = "2025-03-31T14:16:20.048Z" } wheels = [ @@ -3077,8 +3077,7 @@ openlineage = [ { name = "apache-airflow-providers-openlineage" }, ] pandas = [ - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, ] python3-saml = [ { name = "lxml", marker = "python_full_version < '3.13'" }, @@ -3169,9 +3168,9 @@ requires-dist = [ { name = "jsonpath-ng", specifier = ">=1.5.3" }, { name = "lxml", marker = "python_full_version < '3.13' and extra == 'python3-saml'", specifier = ">=6.0.0" }, { name = "marshmallow", specifier = ">=3" }, - { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3,<3" }, { name = "pyathena", specifier = ">=3.10.0" }, { name = "python3-saml", marker = "python_full_version < '3.13' and extra == 'python3-saml'", specifier = ">=1.16.0" }, { name = "redshift-connector", specifier = ">=2.1.3" }, @@ -3402,8 +3401,7 @@ dependencies = [ { name = "apache-airflow-providers-common-compat" }, { name = "fastavro", marker = "python_full_version >= '3.13'" }, { name = "hdfs", extra = ["avro", "dataframe", "kerberos"] }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, ] [package.dev-dependencies] @@ -3426,9 +3424,9 @@ requires-dist = [ { name = "fastavro", marker = "python_full_version >= '3.14'", specifier = ">=1.12.1" }, { name = "hdfs", extras = ["avro", "dataframe", "kerberos"], marker = "python_full_version < '3.12'", specifier = ">=2.5.4" }, { name = "hdfs", extras = ["avro", "dataframe", "kerberos"], marker = "python_full_version >= '3.12'", specifier = ">=2.7.3" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, ] [package.metadata.requires-dev] @@ -3451,8 +3449,7 @@ dependencies = [ { name = "apache-airflow-providers-common-sql" }, { name = "hmsclient" }, { name = "jmespath" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyhive", extra = ["hive-pure-sasl"] }, ] @@ -3517,9 +3514,9 @@ requires-dist = [ { name = "hmsclient", specifier = ">=0.1.0" }, { name = "jmespath", specifier = ">=0.7.0" }, { name = "kerberos", marker = "sys_platform != 'win32' and extra == 'gssapi'", specifier = ">=1.3.0" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "pyhive", extras = ["hive-pure-sasl"], specifier = ">=0.7.0" }, { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = ">=1.4.54" }, { name = "winkerberos", marker = "sys_platform == 'win32' and extra == 'gssapi'", specifier = ">=0.7.0" }, @@ -4619,9 +4616,8 @@ openlineage = [ { name = "apache-airflow-providers-openlineage" }, ] pandas = [ - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, extra = ["sql-other"], marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, extra = ["sql-other"], marker = "python_full_version >= '3.11' and python_full_version < '3.13'" }, + { name = "pandas" }, + { name = "pandas", extra = ["sql-other"], marker = "python_full_version < '3.13'" }, ] polars = [ { name = "polars" }, @@ -4664,9 +4660,9 @@ requires-dist = [ { name = "datafusion", marker = "extra == 'datafusion'", specifier = ">=50.0.0,<52.0.0" }, { name = "methodtools", specifier = ">=0.4.7" }, { name = "more-itertools", specifier = ">=9.0.0" }, - { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3" }, - { name = "pandas", extras = ["sql-other"], marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2" }, + { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3,<3" }, + { name = "pandas", extras = ["sql-other"], marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2,<3" }, { name = "polars", marker = "extra == 'polars'", specifier = ">=1.26.0" }, { name = "pyiceberg-core", marker = "extra == 'pyiceberg-core'", specifier = ">=0.8.0" }, { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = ">=1.4.54" }, @@ -4706,8 +4702,7 @@ dependencies = [ { name = "apache-airflow-providers-common-sql" }, { name = "databricks-sql-connector" }, { name = "mergedeep" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyarrow" }, { name = "requests" }, ] @@ -4774,9 +4769,9 @@ requires-dist = [ { name = "fastavro", marker = "python_full_version >= '3.14' and extra == 'avro'", specifier = ">=1.12.1" }, { name = "fastavro", marker = "python_full_version < '3.14' and extra == 'avro'", specifier = ">=1.9.0" }, { name = "mergedeep", specifier = ">=1.3.4" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "pyarrow", marker = "python_full_version < '3.13'", specifier = ">=16.1.0" }, { name = "pyarrow", marker = "python_full_version == '3.13.*'", specifier = ">=18.0.0" }, { name = "pyarrow", marker = "python_full_version >= '3.14'", specifier = ">=22.0.0" }, @@ -5110,8 +5105,7 @@ dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, { name = "apache-airflow-providers-common-sql" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyexasol" }, ] @@ -5138,9 +5132,9 @@ requires-dist = [ { name = "apache-airflow", editable = "." }, { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, { name = "apache-airflow-providers-common-sql", editable = "providers/common/sql" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "pyexasol", specifier = ">=0.26.0" }, { name = "sqlalchemy", marker = "extra == 'sqlalchemy'", specifier = ">=1.4.54" }, ] @@ -5461,8 +5455,7 @@ dependencies = [ { name = "httpx" }, { name = "immutabledict" }, { name = "looker-sdk" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pandas-gbq" }, { name = "proto-plus" }, { name = "pyarrow" }, @@ -5655,9 +5648,9 @@ requires-dist = [ { name = "httpx", specifier = ">=0.25.0" }, { name = "immutabledict", specifier = ">=4.2.0" }, { name = "looker-sdk", specifier = ">=22.4.0,!=24.18.0" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "pandas-gbq", specifier = ">=0.7.0" }, { name = "plyvel", marker = "python_full_version < '3.13' and extra == 'leveldb'", specifier = ">=1.5.1" }, { name = "proto-plus", specifier = ">=1.26.0" }, @@ -6953,8 +6946,7 @@ dependencies = [ { name = "apache-airflow-providers-common-compat" }, { name = "ipykernel" }, { name = "nbconvert" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "papermill", extra = ["all"] }, { name = "scrapbook", extra = ["all"] }, ] @@ -6976,9 +6968,9 @@ requires-dist = [ { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, { name = "ipykernel", specifier = ">=6.29.4" }, { name = "nbconvert", specifier = ">=7.16.1" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "papermill", extras = ["all"], specifier = ">=2.6.0" }, { name = "scrapbook", extras = ["all"], specifier = ">=0.5.0" }, ] @@ -7100,8 +7092,7 @@ openlineage = [ { name = "apache-airflow-providers-openlineage" }, ] pandas = [ - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, ] polars = [ { name = "polars" }, @@ -7138,9 +7129,9 @@ requires-dist = [ { name = "apache-airflow-providers-microsoft-azure", marker = "extra == 'microsoft-azure'", editable = "providers/microsoft/azure" }, { name = "apache-airflow-providers-openlineage", marker = "extra == 'openlineage'", editable = "providers/openlineage" }, { name = "asyncpg", specifier = ">=0.30.0" }, - { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version == '3.13.*' and extra == 'pandas'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version < '3.13' and extra == 'pandas'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14' and extra == 'pandas'", specifier = ">=2.3.3,<3" }, { name = "polars", marker = "extra == 'polars'", specifier = ">=1.26.0" }, { name = "psycopg", extras = ["binary"], marker = "python_full_version >= '3.14' and extra == 'psycopg'", specifier = ">=3.3.3" }, { name = "psycopg", extras = ["binary"], marker = "python_full_version < '3.14' and extra == 'psycopg'", specifier = ">=3.2.9" }, @@ -7174,8 +7165,7 @@ dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, { name = "apache-airflow-providers-common-sql" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "presto-python-client" }, { name = "psycopg2-binary" }, ] @@ -7209,9 +7199,9 @@ requires-dist = [ { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, { name = "apache-airflow-providers-common-sql", editable = "providers/common/sql" }, { name = "apache-airflow-providers-google", marker = "extra == 'google'", editable = "providers/google" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "presto-python-client", specifier = ">=0.8.4" }, { name = "psycopg2-binary", marker = "python_full_version < '3.13'", specifier = ">=2.9.9" }, { name = "psycopg2-binary", marker = "python_full_version >= '3.13'", specifier = ">=2.9.10" }, @@ -7323,8 +7313,7 @@ source = { editable = "providers/salesforce" } dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "simple-salesforce" }, ] @@ -7343,9 +7332,9 @@ docs = [ requires-dist = [ { name = "apache-airflow", editable = "." }, { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "simple-salesforce", specifier = ">=1.0.0" }, ] @@ -7670,8 +7659,7 @@ dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, { name = "apache-airflow-providers-common-sql" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyarrow" }, { name = "setuptools" }, { name = "snowflake-connector-python" }, @@ -7709,9 +7697,9 @@ requires-dist = [ { name = "apache-airflow-providers-common-sql", editable = "providers/common/sql" }, { name = "apache-airflow-providers-microsoft-azure", marker = "extra == 'microsoft-azure'", editable = "providers/microsoft/azure" }, { name = "apache-airflow-providers-openlineage", marker = "extra == 'openlineage'", editable = "providers/openlineage" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "pyarrow", marker = "python_full_version < '3.13'", specifier = ">=16.1.0" }, { name = "pyarrow", marker = "python_full_version == '3.13.*'", specifier = ">=18.0.0" }, { name = "pyarrow", marker = "python_full_version >= '3.14'", specifier = ">=22.0.0" }, @@ -8011,8 +7999,7 @@ dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, { name = "apache-airflow-providers-common-sql" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "trino" }, ] @@ -8045,9 +8032,9 @@ requires-dist = [ { name = "apache-airflow-providers-common-sql", editable = "providers/common/sql" }, { name = "apache-airflow-providers-google", marker = "extra == 'google'", editable = "providers/google" }, { name = "apache-airflow-providers-openlineage", marker = "extra == 'openlineage'", editable = "providers/openlineage" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "trino", specifier = ">=0.319.0" }, ] provides-extras = ["google", "openlineage"] @@ -8163,8 +8150,7 @@ dependencies = [ { name = "apache-airflow" }, { name = "apache-airflow-providers-common-compat" }, { name = "httpx" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "weaviate-client" }, ] @@ -8184,9 +8170,9 @@ requires-dist = [ { name = "apache-airflow", editable = "." }, { name = "apache-airflow-providers-common-compat", editable = "providers/common/compat" }, { name = "httpx", specifier = ">=0.25.0" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, { name = "weaviate-client", specifier = ">=4.4.0,!=4.16.7" }, ] @@ -8893,8 +8879,7 @@ dev = [ { name = "apache-airflow-devel-common" }, { name = "apache-airflow-providers-common-sql" }, { name = "apache-airflow-providers-standard" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, ] docs = [ { name = "apache-airflow-devel-common", extra = ["docs"] }, @@ -8958,9 +8943,9 @@ dev = [ { name = "apache-airflow-devel-common", editable = "devel-common" }, { name = "apache-airflow-providers-common-sql", editable = "providers/common/sql" }, { name = "apache-airflow-providers-standard", editable = "providers/standard" }, - { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2" }, - { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3" }, - { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3" }, + { name = "pandas", marker = "python_full_version < '3.13'", specifier = ">=2.1.2,<3" }, + { name = "pandas", marker = "python_full_version == '3.13.*'", specifier = ">=2.2.3,<3" }, + { name = "pandas", marker = "python_full_version >= '3.14'", specifier = ">=2.3.3,<3" }, ] docs = [{ name = "apache-airflow-devel-common", extras = ["docs"], editable = "devel-common" }] mypy = [{ name = "apache-airflow-devel-common", extras = ["mypy"], editable = "devel-common" }] @@ -10343,8 +10328,8 @@ name = "cassandra-driver" version = "3.30.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "deprecated" }, - { name = "geomet" }, + { name = "deprecated", marker = "python_full_version < '3.14'" }, + { name = "geomet", marker = "python_full_version < '3.14'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bb/ed/4e16210e194660f107929ee494f1cf18557252655067d9b39029c241be2d/cassandra_driver-3.30.1.tar.gz", hash = "sha256:0c6a3e1428f7c6a9aa6c944b9c47a37cd2cdbeb5b5a82d42c33afdd56f14e398", size = 289233, upload-time = "2026-07-06T20:14:31.37Z" } wheels = [ @@ -10942,7 +10927,7 @@ name = "colorful" version = "0.5.8" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "colorama", marker = "python_full_version < '3.15' and sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/82/31/109ef4bedeb32b4202e02ddb133162457adc4eb890a9ed9c05c9dd126ed0/colorful-0.5.8.tar.gz", hash = "sha256:bb16502b198be2f1c42ba3c52c703d5f651d826076817185f0294c1a549a7445", size = 209361, upload-time = "2025-10-29T11:53:21.663Z" } wheels = [ @@ -11266,8 +11251,7 @@ dependencies = [ { name = "lz4" }, { name = "oauthlib" }, { name = "openpyxl" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pybreaker" }, { name = "pyjwt" }, { name = "python-dateutil" }, @@ -11372,8 +11356,7 @@ dependencies = [ { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "packaging" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyarrow" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7d/bc/b348b35245452af9a6c8a360ae3434f027b919349a786d1cb73ded0c234e/db_dtypes-1.7.1.tar.gz", hash = "sha256:75adf3bdf3174a6474ea4162d9a345ea0b3102ec4fd603e69ec26b6e8a99145a", size = 36036, upload-time = "2026-07-08T17:03:35.671Z" } @@ -12436,7 +12419,7 @@ name = "geomet" version = "1.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, + { name = "click", marker = "python_full_version < '3.14'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2a/8c/dde022aa6747b114f6b14a7392871275dea8867e2bd26cddb80cc6d66620/geomet-1.1.0.tar.gz", hash = "sha256:51e92231a0ef6aaa63ac20c443377ba78a303fd2ecd179dc3567de79f3c11605", size = 28732, upload-time = "2023-11-14T15:43:36.764Z" } wheels = [ @@ -12674,8 +12657,7 @@ wheels = [ evaluation = [ { name = "jsonschema" }, { name = "litellm" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyyaml" }, { name = "ruamel-yaml" }, { name = "scikit-learn", version = "1.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, @@ -13869,7 +13851,7 @@ name = "gssapi" version = "1.11.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "decorator" }, + { name = "decorator", marker = "python_full_version < '3.11' or sys_platform != 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/23/52/c1e90623c259a42ab0587078bb04f959867b970add46ff66750ead8fc7c5/gssapi-1.11.1.tar.gz", hash = "sha256:2049ee4b1d0c363163a1344b7282a363f9f4094e51d2c36de0cf01d4735e0ae2", size = 95233, upload-time = "2026-01-26T21:01:39.463Z" } wheels = [ @@ -13978,8 +13960,7 @@ avro = [ ] dataframe = [ { name = "fastavro" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, ] kerberos = [ { name = "requests-kerberos" }, @@ -14636,17 +14617,17 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "decorator" }, - { name = "exceptiongroup" }, - { name = "jedi" }, - { name = "matplotlib-inline" }, - { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit" }, - { name = "pygments" }, - { name = "stack-data" }, - { name = "traitlets" }, - { name = "typing-extensions" }, + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version < '3.11'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "jedi", marker = "python_full_version < '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version < '3.11'" }, + { name = "pexpect", marker = "python_full_version < '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "stack-data", marker = "python_full_version < '3.11'" }, + { name = "traitlets", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/40/18/f8598d287006885e7136451fdea0755af4ebcbfe342836f24deefaed1164/ipython-8.39.0.tar.gz", hash = "sha256:4110ae96012c379b8b6db898a07e186c40a2a1ef5d57a7fa83166047d9da7624", size = 5513971, upload-time = "2026-03-27T10:02:13.94Z" } wheels = [ @@ -14678,18 +14659,18 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "decorator" }, - { name = "ipython-pygments-lexers" }, - { name = "jedi" }, - { name = "matplotlib-inline" }, - { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, - { name = "prompt-toolkit" }, - { name = "psutil", marker = "sys_platform != 'cygwin' and sys_platform != 'emscripten'" }, - { name = "pygments" }, - { name = "stack-data" }, - { name = "traitlets" }, - { name = "typing-extensions", marker = "python_full_version < '3.12'" }, + { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, + { name = "decorator", marker = "python_full_version >= '3.11'" }, + { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" }, + { name = "jedi", marker = "python_full_version >= '3.11'" }, + { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" }, + { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" }, + { name = "psutil", marker = "python_full_version >= '3.11' and sys_platform != 'cygwin' and sys_platform != 'emscripten'" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, + { name = "stack-data", marker = "python_full_version >= '3.11'" }, + { name = "traitlets", marker = "python_full_version >= '3.11'" }, + { name = "typing-extensions", marker = "python_full_version == '3.11.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/53/59/165d3b4d75cc34add3122c4417ecb229085140ac573103c223cd01dde96f/ipython-9.15.0.tar.gz", hash = "sha256:da2819ce2aa83135257df830660b1176d986c3d2876db24df01974fa955b2756", size = 4442580, upload-time = "2026-06-26T11:03:35.913Z" } wheels = [ @@ -14701,7 +14682,7 @@ name = "ipython-pygments-lexers" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pygments" }, + { name = "pygments", marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } wheels = [ @@ -17494,8 +17475,7 @@ datalib = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pandas-stubs", version = "2.3.3.260113", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "pandas-stubs", version = "3.0.3.260530", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, ] @@ -17539,9 +17519,9 @@ name = "opencensus" version = "0.11.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "google-api-core" }, - { name = "opencensus-context" }, - { name = "six" }, + { name = "google-api-core", marker = "python_full_version < '3.15'" }, + { name = "opencensus-context", marker = "python_full_version < '3.15'" }, + { name = "six", marker = "python_full_version < '3.15'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/15/a7/a46dcffa1b63084f9f17fe3c8cb20724c4c8f91009fd0b2cfdb27d5d2b35/opencensus-0.11.4.tar.gz", hash = "sha256:cbef87d8b8773064ab60e5c2a1ced58bbaa38a6d052c41aec224958ce544eff2", size = 64966, upload-time = "2024-01-03T18:04:07.085Z" } wheels = [ @@ -18052,12 +18032,10 @@ wheels = [ name = "pandas" version = "2.3.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.11' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", -] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "python-dateutil" }, { name = "pytz" }, { name = "tzdata" }, @@ -18115,91 +18093,9 @@ wheels = [ [package.optional-dependencies] sql-other = [ - { name = "adbc-driver-postgresql" }, - { name = "adbc-driver-sqlite" }, - { name = "sqlalchemy" }, -] - -[[package]] -name = "pandas" -version = "3.0.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.15' and sys_platform == 'win32'", - "python_full_version >= '3.15' and sys_platform == 'emscripten'", - "python_full_version >= '3.15' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version == '3.14.*' and sys_platform == 'win32'", - "python_full_version == '3.14.*' and sys_platform == 'emscripten'", - "python_full_version == '3.14.*' and sys_platform != 'emscripten' and sys_platform != 'win32'", - "python_full_version == '3.13.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.13.*' and sys_platform == 'win32'", - "python_full_version == '3.13.*' and sys_platform == 'emscripten'", - "(python_full_version == '3.13.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", - "python_full_version == '3.12.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.12.*' and sys_platform == 'win32'", - "python_full_version == '3.12.*' and sys_platform == 'emscripten'", - "(python_full_version == '3.12.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", - "python_full_version == '3.11.*' and platform_machine == 'arm64' and sys_platform == 'darwin'", - "python_full_version == '3.11.*' and sys_platform == 'win32'", - "python_full_version == '3.11.*' and sys_platform == 'emscripten'", - "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", -] -dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, - { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "python-dateutil" }, - { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/be/4f/5f3422a2afec5ffc46308b79e53291365a93748b498ac2e58bead0197916/pandas-3.0.5.tar.gz", hash = "sha256:dca3734d6ab7c906e6730f0788b0a1dbb9f2467731f9711f77995c8e9d62d712", size = 4658219, upload-time = "2026-07-22T22:19:28.819Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/48/ef/f1fd7431d635bf20015489bf0bd69c17fff1018de773540f651455a3916b/pandas-3.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2946e77e4a53cd248cbde631a12f0e51c8324ce354c3eba4d20147c1ad6f4282", size = 10397178, upload-time = "2026-07-22T22:17:48.274Z" }, - { url = "https://files.pythonhosted.org/packages/31/b4/0eafac990a431561187694126de01f9b12559549b4d86360c0c4bd870fde/pandas-3.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71ecc8fb7ed1a7aa4392316b5309a6347e8e7f832f38fd897846b3a1457a9298", size = 9990736, upload-time = "2026-07-22T22:17:52.388Z" }, - { url = "https://files.pythonhosted.org/packages/de/21/359880af3ea9b7cb23bea5b51e8e70ef3866c03be09da9a2787e18e330a8/pandas-3.0.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b173f5951ff6b8b0ec7675e20dff3c97b7e7a57dfcce387c2d7c5afe87cb7899", size = 10814438, upload-time = "2026-07-22T22:17:54.708Z" }, - { url = "https://files.pythonhosted.org/packages/d1/50/d6cc4d7e508bbccf5d6027314a8312bc7ac73d0ec7f195f53838daafab40/pandas-3.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c0cf1dd9b55a22d105fc46c1b489af3bd42264fcba7c66297bf47a9a1d9c78a", size = 11323634, upload-time = "2026-07-22T22:17:56.858Z" }, - { url = "https://files.pythonhosted.org/packages/70/2b/d5f0a8c90dd0ae04e64ba53b871afb796ec026b615086d382ddc2ade729b/pandas-3.0.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0fac0010c75e4efb6b99e249c183a8993ce0dc95c240f9b120a5e67c727b7928", size = 11850860, upload-time = "2026-07-22T22:17:59.1Z" }, - { url = "https://files.pythonhosted.org/packages/5c/30/183aec2e19adf778a98d29b5729a0a68f4cc4ebf9b9c3b70d0297355bcb1/pandas-3.0.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:08d24fe11a17dc33bd6e937dc9c665f9cba08fbdc9f657f405713515febe300d", size = 12411100, upload-time = "2026-07-22T22:18:01.485Z" }, - { url = "https://files.pythonhosted.org/packages/fa/9a/31f4983f191af51ab2a8f2d0c7b33dff3a84da26533f982fff02c2f9e28b/pandas-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:b1261758dfb6cf12c3cff8300e21cefad30e7ec709abb4c24ac7318e6a52462a", size = 9968804, upload-time = "2026-07-22T22:18:03.903Z" }, - { url = "https://files.pythonhosted.org/packages/49/97/7886c89a39045c69ad82cbceaf3343810480c8ef49a216319ce8183860a6/pandas-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:679f4e85b30ddb1515458ab1e788d3e260eae369b1f78da7a3aa4cac8ebf4a2a", size = 9205447, upload-time = "2026-07-22T22:18:06.134Z" }, - { url = "https://files.pythonhosted.org/packages/1c/54/1dc810ea558d1320b597aa140a514f2fdf1d2ea09c38cf556f13ea712ec9/pandas-3.0.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa290c16964d4963fbfbc358928239cf3bd755b20e988ce944877def2f44471d", size = 10411717, upload-time = "2026-07-22T22:18:08.307Z" }, - { url = "https://files.pythonhosted.org/packages/68/56/fbe81c09195924d8b7b8d4461a20458fe80a6a5ed6b24f0314da684277e1/pandas-3.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c2e26bb46934b8a2ca0c3de1d3d606fc5f6746584791b2db264d58cf370e08dc", size = 9957095, upload-time = "2026-07-22T22:18:10.6Z" }, - { url = "https://files.pythonhosted.org/packages/e0/51/fac252f4a913ed5eabf3c11b880a9e8d5a6c10f0b2129d0462212d238b4d/pandas-3.0.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73fa87b08a7ef706f8aafda39ddaccf2a99047bea62d8c88a0361bcafb2237bc", size = 10485458, upload-time = "2026-07-22T22:18:12.834Z" }, - { url = "https://files.pythonhosted.org/packages/12/98/e976540c1addf70442be7842a18cf70884a964abbf69442504f4d2939989/pandas-3.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d373ce03ffd84010ed9839fa73672a9c8256990532e158440c0085db7d914b34", size = 10998091, upload-time = "2026-07-22T22:18:15.209Z" }, - { url = "https://files.pythonhosted.org/packages/a4/8c/1f29b5be8d3fc47dd7567eb167fabba2085879b31e0287ce7cba6d3d2ff4/pandas-3.0.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a29c53d85ea98c5e792c59ef82ee9fbe6ca902c0d0adb6b23f45ef894cd7bf6", size = 11499501, upload-time = "2026-07-22T22:18:17.689Z" }, - { url = "https://files.pythonhosted.org/packages/9d/e2/bd9c98ad2df7b38bde002adde4cdf353519da51881634323b126c55997f9/pandas-3.0.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5ad3b02ed6bc7d7ae9b70804b2c6aa31827489d150f8e623ce82491b82085d7", size = 12060559, upload-time = "2026-07-22T22:18:20.147Z" }, - { url = "https://files.pythonhosted.org/packages/f3/9a/ffbd852d58bd74a617fe2f8ee6a58a96982271ce41cf981eab22190b4a4b/pandas-3.0.5-cp312-cp312-pyemscripten_2024_0_wasm32.whl", hash = "sha256:b2acb4650527eec6822c3dadb2b771277b65e7dae7a267d4bccf65fd1bb3fbce", size = 7197652, upload-time = "2026-07-22T22:18:22.502Z" }, - { url = "https://files.pythonhosted.org/packages/70/b5/d2d3e9ae73362ba4229651b0ee1455cf78073a1ce585f6ff693782ce263e/pandas-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:80a611068e8a3ac23f7398c6c14eb46dc974e5cc9997f653e2dcfd1da74edd41", size = 9831691, upload-time = "2026-07-22T22:18:24.534Z" }, - { url = "https://files.pythonhosted.org/packages/52/51/dea1e89d6a6796b9c43f85a09b484ee03edb8a4c4842e73e200a8c11301c/pandas-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:25ff585b972a18ef1fe9ffa3ac6544d9950508aa76832e5147640b6022821e49", size = 9105796, upload-time = "2026-07-22T22:18:27.064Z" }, - { url = "https://files.pythonhosted.org/packages/bf/09/7b95c4a0025227d6f118c4039b423412ac6a982db02864166185d812fbc7/pandas-3.0.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c1c05a767fe8e5b4fe9e1c29806829c582052eaedb9120a3da83ba3f69e24a5b", size = 10385742, upload-time = "2026-07-22T22:18:29.346Z" }, - { url = "https://files.pythonhosted.org/packages/8d/0c/dc78fd8c4da477b4b5e8ad37295af352190d21ef63a9ee1bc071753074cc/pandas-3.0.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b86765f268b56f7e665b93bce9d5df69dee7f99e595cf8fb839483ab315942a3", size = 9932067, upload-time = "2026-07-22T22:18:31.833Z" }, - { url = "https://files.pythonhosted.org/packages/3e/71/3592c055cf44df9808550f9368ceda80ff2b224d355ef73fe251dcda1802/pandas-3.0.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c597ecf5616b5c420372c1d4d4c00dbbfba7398bea857dcc984347e1ea48417b", size = 10466756, upload-time = "2026-07-22T22:18:34.195Z" }, - { url = "https://files.pythonhosted.org/packages/e3/70/4363150359f95b4cb4bcbb34ca23572bb5495749a621a8f3d5a1ddfd293c/pandas-3.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b11c36e218331d0387cbe3a0a5f75162357a1d92d57b2b08a336ff94b19b2be", size = 10938525, upload-time = "2026-07-22T22:18:36.81Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d0/317e7a0c67c0e69fa905a0161409397a7dc2d46ff611f6ca4803352c042b/pandas-3.0.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cf52e1f61d229496da17dc7ab54acdee627357e7008fd4fecba3d0ba2937fa58", size = 11489303, upload-time = "2026-07-22T22:18:39.287Z" }, - { url = "https://files.pythonhosted.org/packages/f1/8d/36dade89b49e4f9d5cbdbe863772581f98c0c6d78fc39ad4c557f6f2e17e/pandas-3.0.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:db172144bb56422bd157812f3b021eacc255451470b31e2c633c349490a1cfee", size = 11989004, upload-time = "2026-07-22T22:18:42.208Z" }, - { url = "https://files.pythonhosted.org/packages/9c/ba/18c4ec8a746e177da05a9e7a7963781d8ea195780724f854601b6ebd6b78/pandas-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:0d298e951f23016ce4699951d044ae6418dbc91bf68cefca0f77666fcbb4e5c6", size = 9826896, upload-time = "2026-07-22T22:18:44.539Z" }, - { url = "https://files.pythonhosted.org/packages/de/ec/28a57266b753799a87b8bc79e7887ac6fd981b8c6d2978a0b7e7b6bd708c/pandas-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:66266d3442a5e8b3c90274c2b8b230bee42dd1c286bc822cc2f9f2c7e12b883e", size = 9094790, upload-time = "2026-07-22T22:18:47.468Z" }, - { url = "https://files.pythonhosted.org/packages/51/2f/cf6aae281264f4463f0875bcbb15fd2bb6d291cc535187dad1732475e4a9/pandas-3.0.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2f264fc46911cc8131a7322a16199bbf8e353d27c10bb211f5bd0c814324dc36", size = 10390034, upload-time = "2026-07-22T22:18:49.818Z" }, - { url = "https://files.pythonhosted.org/packages/06/ec/5189518c7a7659c4bdcc6b1eb32c46c6f3c86b0661ffd84143d1112c7732/pandas-3.0.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:53730687fcd161883b24e10411c06d6a4c0f2275d2faf3bb2bc25deb4ba8007c", size = 9980065, upload-time = "2026-07-22T22:18:52.249Z" }, - { url = "https://files.pythonhosted.org/packages/ea/f1/598503ce8d7e3c35601e0747ba288c7864baae66380725bc12f13f884dfe/pandas-3.0.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:960d3ebcf249f75206899fcd2c6de53f736b7265759ced0d3e559df0b8b709b0", size = 10545532, upload-time = "2026-07-22T22:18:54.813Z" }, - { url = "https://files.pythonhosted.org/packages/fa/de/ceae2adf7034e07e9910299fe412e1819c4f0dd520700a888bcb03625448/pandas-3.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e94c2c5ca43bd3ca32bf64d32308887b65e5f9bfd8023ea52755107a999f93b", size = 10963120, upload-time = "2026-07-22T22:18:57.42Z" }, - { url = "https://files.pythonhosted.org/packages/66/25/86e0f4451874eb79e688deeebe3c451fec4557f8952005818d800ee8ac7e/pandas-3.0.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e819dd5f62966b481a8cb649d3299ebd886a1ea91ed5a99bf7ce77c98d18ab94", size = 11563178, upload-time = "2026-07-22T22:18:59.729Z" }, - { url = "https://files.pythonhosted.org/packages/f3/45/8643daa3b4147e433adfcccefdd0380d3aad79d86b15d8999730fe1944d5/pandas-3.0.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3c5ed2e7c06e91d340dfd091d7934f9bc82e4a36b95f647f090b9d1c9ac649da", size = 12028708, upload-time = "2026-07-22T22:19:02.164Z" }, - { url = "https://files.pythonhosted.org/packages/96/58/ad979ae617615576e8aafd569c9d4b62f1191d896e38f51d66ba06f3b89a/pandas-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:cd8f7c6dc98527058ee6264219343f5392240a6f1bfa654fc5d79023020d0c92", size = 9951806, upload-time = "2026-07-22T22:19:04.596Z" }, - { url = "https://files.pythonhosted.org/packages/69/32/7ac03886b304049a9d2625ee88f59af760d8a93bd30ed9239bce7b9869a8/pandas-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:5183427f5a8156d480f30333777bc978be93650a49a7c01db26adffe95b31e85", size = 9238297, upload-time = "2026-07-22T22:19:06.836Z" }, - { url = "https://files.pythonhosted.org/packages/be/ed/1d1f2ee5547d5167face2376d11c8b2a4c7bfff5a416ee7a9046891fab1e/pandas-3.0.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:303da736987d481074ca720ada325f8bd80c64ebc2d45ed79b29df3aaa4a26ca", size = 10849690, upload-time = "2026-07-22T22:19:09.391Z" }, - { url = "https://files.pythonhosted.org/packages/57/55/17e17152e98fbb0c4b1e562bc65387a2f20a80db0f4a86bf8d3a0e4248d4/pandas-3.0.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3b2801bbb049d0136f6c213eae02b5fca969384fc2064dd728d8620552aa49da", size = 10509945, upload-time = "2026-07-22T22:19:11.773Z" }, - { url = "https://files.pythonhosted.org/packages/88/90/817d44dbf83facf9556f33576d9af0a241981e7bb5c00606c0bcb5df8dda/pandas-3.0.5-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cce3a9d11d2b1f82c69a27ec1f4948a170e2c403c4bbfa8cca62e3fdebe2ef3a", size = 10392197, upload-time = "2026-07-22T22:19:14.024Z" }, - { url = "https://files.pythonhosted.org/packages/f1/da/889f00c0a6f5aa1545add70abbf01502dff87ab577adb855bd631c54d2f2/pandas-3.0.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef01af4d8dc6cd2c8d6c7736f149574ef93fe043811eeb5e445f2647154b5040", size = 10862726, upload-time = "2026-07-22T22:19:16.351Z" }, - { url = "https://files.pythonhosted.org/packages/bc/98/f1e934fb3c98fce859c6147c6785816c7b5b9ab7821115c5d8c4de9842b9/pandas-3.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e2759e890db96dfcffdbd9b86c3c2cb6afaf58def482820317e06163ec1066cd", size = 11414864, upload-time = "2026-07-22T22:19:18.981Z" }, - { url = "https://files.pythonhosted.org/packages/fe/be/d448af7d657d82e1888dd8551f79c6d6fb161080b5b9752d84d910ec2319/pandas-3.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b58b1b39d46a5862e3fb18f50d1a201398619d16a0f9f73f57eea5583cf0e63c", size = 11925105, upload-time = "2026-07-22T22:19:21.515Z" }, - { url = "https://files.pythonhosted.org/packages/29/c1/ccb4238212c8c4f496c584f3044d94e0c030ed8e1d68999db46c91c2242f/pandas-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:1c10461f6eeb35d8f05b6184c65c8b9991663b66c46b1d559b682cb34ae7c6ea", size = 10387612, upload-time = "2026-07-22T22:19:24.257Z" }, - { url = "https://files.pythonhosted.org/packages/d2/cf/6a51b2c38980e04c279fd2fa908a1b0982064e860444acfca4ec2e2c8359/pandas-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:3c5015fd1730fbf883647e88068176c839c102cea883ba1769a6f4593bfc1f8c", size = 9509776, upload-time = "2026-07-22T22:19:26.694Z" }, -] - -[package.optional-dependencies] -sql-other = [ - { name = "adbc-driver-postgresql" }, - { name = "adbc-driver-sqlite" }, - { name = "sqlalchemy" }, + { name = "adbc-driver-postgresql", marker = "python_full_version < '3.13'" }, + { name = "adbc-driver-sqlite", marker = "python_full_version < '3.13'" }, + { name = "sqlalchemy", marker = "python_full_version < '3.13'" }, ] [[package]] @@ -18216,8 +18112,7 @@ dependencies = [ { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, { name = "packaging" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "psutil" }, { name = "pyarrow" }, { name = "pydata-google-auth" }, @@ -18237,8 +18132,8 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, - { name = "types-pytz" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "types-pytz", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/92/5d/be23854a73fda69f1dbdda7bc10fbd6f930bd1fa87aaec389f00c901c1e8/pandas_stubs-2.3.3.260113.tar.gz", hash = "sha256:076e3724bcaa73de78932b012ec64b3010463d377fa63116f4e6850643d93800", size = 116131, upload-time = "2026-01-13T22:30:16.704Z" } wheels = [ @@ -18270,7 +18165,7 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3d/aa/c41a8a0ff86fd85dbb3ec0c1f3fa488ca64a8b5f82654ae1b07d84acefe5/pandas_stubs-3.0.3.260530.tar.gz", hash = "sha256:d1efe47b2e5a312c047d7feabec5cb7a55365747983420077e9fcbe9ab74f714", size = 113183, upload-time = "2026-05-30T17:47:40.34Z" } @@ -20378,8 +20273,7 @@ dependencies = [ { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "pyarrow" }, { name = "pyyaml" }, { name = "zstandard" }, @@ -20725,9 +20619,9 @@ name = "python3-saml" version = "1.16.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "isodate" }, - { name = "lxml" }, - { name = "xmlsec" }, + { name = "isodate", marker = "python_full_version < '3.13'" }, + { name = "lxml", marker = "python_full_version < '3.13'" }, + { name = "xmlsec", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5d/98/6e0268c3a9893af3d4c5cf670183e0314cd6b5cb034a612d6a7cc5060df8/python3-saml-1.16.0.tar.gz", hash = "sha256:97c9669aecabc283c6e5fb4eb264f446b6e006f5267d01c9734f9d8bffdac133", size = 83468, upload-time = "2023-10-09T10:37:43.128Z" } wheels = [ @@ -21040,14 +20934,14 @@ name = "ray" version = "2.56.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click" }, - { name = "filelock" }, - { name = "jsonschema" }, - { name = "msgpack" }, - { name = "packaging" }, - { name = "protobuf" }, - { name = "pyyaml" }, - { name = "requests" }, + { name = "click", marker = "python_full_version < '3.15'" }, + { name = "filelock", marker = "python_full_version < '3.15'" }, + { name = "jsonschema", marker = "python_full_version < '3.15'" }, + { name = "msgpack", marker = "python_full_version < '3.15'" }, + { name = "packaging", marker = "python_full_version < '3.15'" }, + { name = "protobuf", marker = "python_full_version < '3.15'" }, + { name = "pyyaml", marker = "python_full_version < '3.15'" }, + { name = "requests", marker = "python_full_version < '3.15'" }, ] wheels = [ { url = "https://files.pythonhosted.org/packages/62/f5/89dc8571f35355a7f889cd4709b440abf6db2c5fc8b5427b614d5084e9cb/ray-2.56.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:58b8c037a9f2b7b7866439cb6fe19d452ba3961f2b62d0a247dc3adf2ca45265", size = 66364186, upload-time = "2026-07-17T21:27:58.09Z" }, @@ -21072,20 +20966,20 @@ wheels = [ [package.optional-dependencies] default = [ - { name = "aiohttp" }, - { name = "aiohttp-cors" }, - { name = "colorful" }, - { name = "grpcio" }, - { name = "opencensus" }, - { name = "opentelemetry-exporter-prometheus" }, - { name = "opentelemetry-proto" }, - { name = "opentelemetry-sdk" }, - { name = "prometheus-client" }, - { name = "py-spy" }, - { name = "pydantic" }, - { name = "requests" }, - { name = "smart-open" }, - { name = "virtualenv" }, + { name = "aiohttp", marker = "python_full_version < '3.15'" }, + { name = "aiohttp-cors", marker = "python_full_version < '3.15'" }, + { name = "colorful", marker = "python_full_version < '3.15'" }, + { name = "grpcio", marker = "python_full_version < '3.15'" }, + { name = "opencensus", marker = "python_full_version < '3.15'" }, + { name = "opentelemetry-exporter-prometheus", marker = "python_full_version < '3.15'" }, + { name = "opentelemetry-proto", marker = "python_full_version < '3.15'" }, + { name = "opentelemetry-sdk", marker = "python_full_version < '3.15'" }, + { name = "prometheus-client", marker = "python_full_version < '3.15'" }, + { name = "py-spy", marker = "python_full_version < '3.15'" }, + { name = "pydantic", marker = "python_full_version < '3.15'" }, + { name = "requests", marker = "python_full_version < '3.15'" }, + { name = "smart-open", marker = "python_full_version < '3.15'" }, + { name = "virtualenv", marker = "python_full_version < '3.15'" }, ] [[package]] @@ -21868,10 +21762,10 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "joblib" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, - { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" } }, - { name = "threadpoolctl" }, + { name = "joblib", marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "threadpoolctl", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/37/59/44985a2bdc95c74e34fef3d10cb5d93ce13b0e2a7baefffe1b53853b502d/scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d", size = 7001680, upload-time = "2024-09-11T15:50:10.957Z" } wheels = [ @@ -21922,13 +21816,13 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "joblib" }, - { name = "narwhals" }, - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "joblib", marker = "python_full_version >= '3.11'" }, + { name = "narwhals", marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "scipy", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "threadpoolctl" }, + { name = "threadpoolctl", marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/fa/6f/37092bdb25f712817231799fc5674d8e704066a8a70c1d2d40517e18b4ab/scikit_learn-1.9.0.tar.gz", hash = "sha256:8833266989d3a5110178a9fae30783675460724d0e1efb13b14901d2c660c557", size = 7750767, upload-time = "2026-06-02T11:54:32.706Z" } wheels = [ @@ -21973,7 +21867,7 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } wheels = [ @@ -22035,7 +21929,7 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } wheels = [ @@ -22122,7 +22016,7 @@ resolution-markers = [ "(python_full_version == '3.12.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" } }, + { name = "numpy", version = "2.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a7/25/c2700dfaf6442b4effaa91af24ebce5dc9d31bb4a69706313aae70d72cd0/scipy-1.18.0.tar.gz", hash = "sha256:67b2ad2ad54c72ca6d04975a9b2df8c3638c34ddd5b28738e94fc2b57929d378", size = 30774447, upload-time = "2026-06-19T15:01:43.456Z" } wheels = [ @@ -22188,8 +22082,7 @@ dependencies = [ { name = "ipython", version = "8.39.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "jsonschema" }, - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "papermill" }, { name = "pyarrow" }, ] @@ -22208,8 +22101,8 @@ name = "secretstorage" version = "3.5.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cryptography" }, - { name = "jeepney" }, + { name = "cryptography", marker = "(python_full_version >= '3.14' and sys_platform == 'darwin') or (python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (platform_machine != 'arm64' and sys_platform == 'darwin') or (sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')" }, + { name = "jeepney", marker = "(python_full_version >= '3.14' and sys_platform == 'darwin') or (python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (platform_machine != 'arm64' and sys_platform == 'darwin') or (sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size = 19884, upload-time = "2025-11-23T19:02:53.191Z" } wheels = [ @@ -22408,7 +22301,7 @@ name = "smart-open" version = "8.0.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "wrapt" }, + { name = "wrapt", marker = "python_full_version < '3.15'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/76/53/9c513747547fd595d5c143259129ea8b9c3ea2f6b7bb9dcea2b1966ded3c/smart_open-8.0.1.tar.gz", hash = "sha256:18b1c4496003c6902be17c15f032b5c319f307c89c6ae9e6b028b508bed8b2cf", size = 61882, upload-time = "2026-07-15T13:56:10.492Z" } wheels = [ @@ -22512,15 +22405,15 @@ name = "snowflake-snowpark-python" version = "1.53.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cloudpickle", version = "3.1.1", source = { registry = "https://pypi.org/simple" } }, - { name = "protobuf" }, - { name = "python-dateutil" }, - { name = "pyyaml" }, - { name = "setuptools" }, - { name = "snowflake-connector-python" }, - { name = "typing-extensions" }, - { name = "tzlocal" }, - { name = "wheel" }, + { name = "cloudpickle", version = "3.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.14'" }, + { name = "protobuf", marker = "python_full_version < '3.14'" }, + { name = "python-dateutil", marker = "python_full_version < '3.14'" }, + { name = "pyyaml", marker = "python_full_version < '3.14'" }, + { name = "setuptools", marker = "python_full_version < '3.14'" }, + { name = "snowflake-connector-python", marker = "python_full_version < '3.14'" }, + { name = "typing-extensions", marker = "python_full_version < '3.14'" }, + { name = "tzlocal", marker = "python_full_version < '3.14'" }, + { name = "wheel", marker = "python_full_version < '3.14'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/72/5b/4a0eb18191c98d62b8a0a363a4c2d9ee5f01f0f33f32ecd59ddea7b56e3e/snowflake_snowpark_python-1.53.1.tar.gz", hash = "sha256:5a0bcbf01aac54336c7763b748837281762e57214b6425c84ed412706fb58df7", size = 1784995, upload-time = "2026-07-15T23:06:44.704Z" } wheels = [ @@ -22567,23 +22460,23 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "alabaster" }, - { name = "babel" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" } }, - { name = "imagesize" }, - { name = "jinja2" }, - { name = "packaging" }, - { name = "pygments" }, - { name = "requests" }, - { name = "snowballstemmer" }, - { name = "sphinxcontrib-applehelp" }, - { name = "sphinxcontrib-devhelp" }, - { name = "sphinxcontrib-htmlhelp" }, - { name = "sphinxcontrib-jsmath" }, - { name = "sphinxcontrib-qthelp" }, - { name = "sphinxcontrib-serializinghtml" }, - { name = "tomli" }, + { name = "alabaster", marker = "python_full_version < '3.11'" }, + { name = "babel", marker = "python_full_version < '3.11'" }, + { name = "colorama", marker = "python_full_version < '3.11' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.21.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "imagesize", marker = "python_full_version < '3.11'" }, + { name = "jinja2", marker = "python_full_version < '3.11'" }, + { name = "packaging", marker = "python_full_version < '3.11'" }, + { name = "pygments", marker = "python_full_version < '3.11'" }, + { name = "requests", marker = "python_full_version < '3.11'" }, + { name = "snowballstemmer", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version < '3.11'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version < '3.11'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/be0b61178fe2cdcb67e2a92fc9ebb488e3c51c4f74a36a7824c0adf23425/sphinx-8.1.3.tar.gz", hash = "sha256:43c1911eecb0d3e161ad78611bc905d1ad0e523e4ddc202a58a821773dc4c927", size = 8184611, upload-time = "2024-10-13T20:27:13.93Z" } wheels = [ @@ -22601,23 +22494,23 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "alabaster" }, - { name = "babel" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" } }, - { name = "imagesize" }, - { name = "jinja2" }, - { name = "packaging" }, - { name = "pygments" }, - { name = "requests" }, - { name = "roman-numerals" }, - { name = "snowballstemmer" }, - { name = "sphinxcontrib-applehelp" }, - { name = "sphinxcontrib-devhelp" }, - { name = "sphinxcontrib-htmlhelp" }, - { name = "sphinxcontrib-jsmath" }, - { name = "sphinxcontrib-qthelp" }, - { name = "sphinxcontrib-serializinghtml" }, + { name = "alabaster", marker = "python_full_version == '3.11.*'" }, + { name = "babel", marker = "python_full_version == '3.11.*'" }, + { name = "colorama", marker = "python_full_version == '3.11.*' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, + { name = "imagesize", marker = "python_full_version == '3.11.*'" }, + { name = "jinja2", marker = "python_full_version == '3.11.*'" }, + { name = "packaging", marker = "python_full_version == '3.11.*'" }, + { name = "pygments", marker = "python_full_version == '3.11.*'" }, + { name = "requests", marker = "python_full_version == '3.11.*'" }, + { name = "roman-numerals", marker = "python_full_version == '3.11.*'" }, + { name = "snowballstemmer", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version == '3.11.*'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version == '3.11.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/50/a8c6ccc36d5eacdfd7913ddccd15a9cee03ecafc5ee2bc40e1f168d85022/sphinx-9.0.4.tar.gz", hash = "sha256:594ef59d042972abbc581d8baa577404abe4e6c3b04ef61bd7fc2acbd51f3fa3", size = 8710502, upload-time = "2025-12-04T07:45:27.343Z" } wheels = [ @@ -22645,23 +22538,23 @@ resolution-markers = [ "(python_full_version == '3.12.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "alabaster" }, - { name = "babel" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" } }, - { name = "imagesize" }, - { name = "jinja2" }, - { name = "packaging" }, - { name = "pygments" }, - { name = "requests" }, - { name = "roman-numerals" }, - { name = "snowballstemmer" }, - { name = "sphinxcontrib-applehelp" }, - { name = "sphinxcontrib-devhelp" }, - { name = "sphinxcontrib-htmlhelp" }, - { name = "sphinxcontrib-jsmath" }, - { name = "sphinxcontrib-qthelp" }, - { name = "sphinxcontrib-serializinghtml" }, + { name = "alabaster", marker = "python_full_version >= '3.12'" }, + { name = "babel", marker = "python_full_version >= '3.12'" }, + { name = "colorama", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "docutils", version = "0.22.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "imagesize", marker = "python_full_version >= '3.12'" }, + { name = "jinja2", marker = "python_full_version >= '3.12'" }, + { name = "packaging", marker = "python_full_version >= '3.12'" }, + { name = "pygments", marker = "python_full_version >= '3.12'" }, + { name = "requests", marker = "python_full_version >= '3.12'" }, + { name = "roman-numerals", marker = "python_full_version >= '3.12'" }, + { name = "snowballstemmer", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-applehelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-devhelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-htmlhelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-jsmath", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-qthelp", marker = "python_full_version >= '3.12'" }, + { name = "sphinxcontrib-serializinghtml", marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cd/bd/f08eb0f4eed5c83f1ba2a3bd18f7745a2b1525fad70660a1c00224ec468a/sphinx-9.1.0.tar.gz", hash = "sha256:7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb", size = 8718324, upload-time = "2025-12-31T15:09:27.646Z" } wheels = [ @@ -22727,12 +22620,12 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "colorama" }, - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" } }, - { name = "starlette" }, - { name = "uvicorn" }, - { name = "watchfiles" }, - { name = "websockets" }, + { name = "colorama", marker = "python_full_version < '3.11'" }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "starlette", marker = "python_full_version < '3.11'" }, + { name = "uvicorn", marker = "python_full_version < '3.11'" }, + { name = "watchfiles", marker = "python_full_version < '3.11'" }, + { name = "websockets", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a5/2c/155e1de2c1ba96a72e5dba152c509a8b41e047ee5c2def9e9f0d812f8be7/sphinx_autobuild-2024.10.3.tar.gz", hash = "sha256:248150f8f333e825107b6d4b86113ab28fa51750e5f9ae63b59dc339be951fb1", size = 14023, upload-time = "2024-10-02T23:15:30.172Z" } wheels = [ @@ -22764,13 +22657,13 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "colorama" }, - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "colorama", marker = "python_full_version >= '3.11'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, - { name = "starlette" }, - { name = "uvicorn" }, - { name = "watchfiles" }, - { name = "websockets" }, + { name = "starlette", marker = "python_full_version >= '3.11'" }, + { name = "uvicorn", marker = "python_full_version >= '3.11'" }, + { name = "watchfiles", marker = "python_full_version >= '3.11'" }, + { name = "websockets", marker = "python_full_version >= '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e0/3c/a59a3a453d4133777f7ed2e83c80b7dc817d43c74b74298ca0af869662ad/sphinx_autobuild-2025.8.25.tar.gz", hash = "sha256:9cf5aab32853c8c31af572e4fecdc09c997e2b8be5a07daf2a389e270e85b213", size = 15200, upload-time = "2025-08-25T18:44:55.436Z" } wheels = [ @@ -22800,7 +22693,7 @@ resolution-markers = [ "(python_full_version < '3.11' and platform_machine != 'arm64') or (python_full_version < '3.11' and sys_platform != 'darwin')", ] dependencies = [ - { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" } }, + { name = "sphinx", version = "8.1.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2b/69/b34e0cb5336f09c6866d53b4a19d76c227cdec1bbc7ac4de63ca7d58c9c7/sphinx_design-0.6.1.tar.gz", hash = "sha256:b44eea3719386d04d765c1a8257caca2b3e6f8421d7b3a5e742c0fd45f84e632", size = 2193689, upload-time = "2024-08-02T13:48:44.277Z" } wheels = [ @@ -22832,7 +22725,7 @@ resolution-markers = [ "(python_full_version == '3.11.*' and platform_machine != 'arm64' and sys_platform == 'darwin') or (python_full_version == '3.11.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", ] dependencies = [ - { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "sphinx", version = "9.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" }, { name = "sphinx", version = "9.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/13/7b/804f311da4663a4aecc6cf7abd83443f3d4ded970826d0c958edc77d4527/sphinx_design-0.7.0.tar.gz", hash = "sha256:d2a3f5b19c24b916adb52f97c5f00efab4009ca337812001109084a740ec9b7a", size = 2203582, upload-time = "2026-01-19T13:12:53.297Z" } @@ -24879,7 +24772,7 @@ name = "xmlsec" version = "1.3.17" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "lxml" }, + { name = "lxml", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/49/14/538b75379e6ab8f688f14d8663e2ab138d9c778bac4999d155b5f33c71c1/xmlsec-1.3.17.tar.gz", hash = "sha256:f3fac9ae679f66585925cc00c5f6839ae36c1d03157619571dee18acc05b9c01", size = 115637, upload-time = "2025-11-11T16:20:46.019Z" } wheels = [ @@ -25114,8 +25007,7 @@ name = "yandex-query-client" version = "0.1.4" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pandas", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, - { name = "pandas", version = "3.0.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, { name = "python-dateutil" }, { name = "requests" }, { name = "urllib3" },