Skip to content

Commit

Permalink
Update pandas minimum requirement for Python 3.12 (#40272)
Browse files Browse the repository at this point in the history
Pandas minimum requirement for Python 3.12 should be changed to
be higher than >=2.1,1 because 2.1.1 version does not have proper
exclusions for numpy<2.0.0 and on Python 3.12 it will install
incompatible numpy 2.0.0 with Pandas 2.1.1 which fails with

```
numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
```

This is tracked in numpy/numpy#26710 but
until (maybe) it is solved in numpy/pandas, we should limit it in
Airflow.
  • Loading branch information
potiuk authored Jun 17, 2024
1 parent 841b28c commit 81c331e
Show file tree
Hide file tree
Showing 14 changed files with 54 additions and 47 deletions.
5 changes: 3 additions & 2 deletions airflow/providers/amazon/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,9 @@ additional-extras:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


# There is conflict between boto3 and aiobotocore dependency botocore.
# TODO: We can remove it once boto3 and aiobotocore both have compatible botocore version or
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/apache/hdfs/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ dependencies:
- apache-airflow>=2.7.0
- hdfs[avro,dataframe,kerberos]>=2.5.4;python_version<"3.12"
- hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>="3.12"
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/apache/hive/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"

- pyhive[hive_pure_sasl]>=0.7.0
- thrift>=0.11.0
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/common/sql/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ additional-extras:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/databricks/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ dependencies:
- databricks-sql-connector>=2.0.0, <3.0.0, !=2.9.0
- aiohttp>=3.9.2, <4
- mergedeep>=1.3.4
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"
- pyarrow>=14.0.1

additional-extras:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/exasol/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/google/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2.0;python_version<"3.12"
- pandas>=2.1.1,<2.2.0;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"
# A transient dependency of google-cloud-bigquery-datatransfer, but we
# further constrain it since older versions are buggy.
- proto-plus>=1.19.6
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/papermill/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ dependencies:
- papermill[all]>=2.4.0
- scrapbook[all]
- ipykernel
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/presto/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
4 changes: 2 additions & 2 deletions airflow/providers/salesforce/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"


integrations:
Expand Down
8 changes: 7 additions & 1 deletion airflow/providers/snowflake/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,15 @@ versions:
dependencies:
- apache-airflow>=2.7.0
- apache-airflow-providers-common-sql>=1.10.0
# In pandas 2.2 minimal version of the sqlalchemy is 2.0
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"
- pyarrow>=14.0.1
- snowflake-connector-python>=3.7.1
- snowflake-sqlalchemy>=1.4.0
- pyarrow>=14.0.1

integrations:
- integration-name: Snowflake
Expand Down
5 changes: 2 additions & 3 deletions airflow/providers/trino/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"

- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"
- trino>=0.318.0

integrations:
Expand Down
5 changes: 2 additions & 3 deletions airflow/providers/weaviate/provider.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,8 @@ dependencies:
# https://pandas.pydata.org/docs/whatsnew/v2.2.0.html#increased-minimum-versions-for-dependencies
# However Airflow not fully supports it yet: https://github.com/apache/airflow/issues/28723
# In addition FAB also limit sqlalchemy to < 2.0
- pandas>=1.5.3,<2.2;python_version<"3.12"
- pandas>=2.1.1,<2.2;python_version>="3.12"

- pandas>=2.1.2,<2.2;python_version>="3.9"
- pandas>=1.5.3,<2.2;python_version<"3.9"

hooks:
- integration-name: Weaviate
Expand Down
42 changes: 22 additions & 20 deletions generated/provider_dependencies.json
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@
"apache-airflow>=2.7.0",
"hdfs[avro,dataframe,kerberos]>=2.5.4;python_version<\"3.12\"",
"hdfs[avro,dataframe,kerberos]>=2.7.3;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\""
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\""
],
"devel-deps": [],
"plugins": [],
Expand All @@ -162,8 +162,8 @@
"apache-airflow>=2.7.0",
"hmsclient>=0.1.0",
"jmespath>=0.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"pyhive[hive_pure_sasl]>=0.7.0",
"thrift>=0.11.0"
],
Expand Down Expand Up @@ -417,8 +417,8 @@
"apache-airflow>=2.7.0",
"databricks-sql-connector>=2.0.0, <3.0.0, !=2.9.0",
"mergedeep>=1.3.4",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"pyarrow>=14.0.1",
"requests>=2.27.0,<3"
],
Expand Down Expand Up @@ -515,8 +515,8 @@
"deps": [
"apache-airflow-providers-common-sql>=1.10.0",
"apache-airflow>=2.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"pyexasol>=0.5.1"
],
"devel-deps": [],
Expand Down Expand Up @@ -635,8 +635,8 @@
"json-merge-patch>=0.2",
"looker-sdk>=22.4.0",
"pandas-gbq>=0.7.0",
"pandas>=1.5.3,<2.2.0;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2.0;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"proto-plus>=1.19.6",
"python-slugify>=7.0.0",
"sqlalchemy-bigquery>=1.2.1",
Expand Down Expand Up @@ -980,8 +980,8 @@
"deps": [
"apache-airflow>=2.7.0",
"ipykernel",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"papermill[all]>=2.4.0",
"scrapbook[all]"
],
Expand Down Expand Up @@ -1039,8 +1039,8 @@
"deps": [
"apache-airflow-providers-common-sql>=1.3.1",
"apache-airflow>=2.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"presto-python-client>=0.8.4"
],
"devel-deps": [],
Expand Down Expand Up @@ -1077,8 +1077,8 @@
"salesforce": {
"deps": [
"apache-airflow>=2.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"simple-salesforce>=1.0.0"
],
"devel-deps": [],
Expand Down Expand Up @@ -1177,6 +1177,8 @@
"deps": [
"apache-airflow-providers-common-sql>=1.10.0",
"apache-airflow>=2.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"pyarrow>=14.0.1",
"snowflake-connector-python>=3.7.1",
"snowflake-sqlalchemy>=1.4.0"
Expand Down Expand Up @@ -1273,8 +1275,8 @@
"deps": [
"apache-airflow-providers-common-sql>=1.3.1",
"apache-airflow>=2.7.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"trino>=0.318.0"
],
"devel-deps": [],
Expand Down Expand Up @@ -1305,8 +1307,8 @@
"deps": [
"apache-airflow>=2.7.0",
"httpx>=0.25.0",
"pandas>=1.5.3,<2.2;python_version<\"3.12\"",
"pandas>=2.1.1,<2.2;python_version>=\"3.12\"",
"pandas>=1.5.3,<2.2;python_version<\"3.9\"",
"pandas>=2.1.2,<2.2;python_version>=\"3.9\"",
"weaviate-client>=3.24.2"
],
"devel-deps": [],
Expand Down

0 comments on commit 81c331e

Please sign in to comment.