diff --git a/airflow-core/pyproject.toml b/airflow-core/pyproject.toml
index 1775cbb018d31..e82c60681119d 100644
--- a/airflow-core/pyproject.toml
+++ b/airflow-core/pyproject.toml
@@ -41,7 +41,7 @@ license-files = ["LICENSE", "NOTICE"]
 # proactively. This way we also have a chance to test it with Python 3.14 and bump the upper binding
 # and manually mark providers that do not support it yet with !-3.14 - until they support it - which will
 # also exclude resolving uv workspace dependencies for those providers.
-requires-python = ">=3.10,<3.14"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/airflow-ctl-tests/pyproject.toml b/airflow-ctl-tests/pyproject.toml
index 24c7f561ed196..8adbe1f628535 100644
--- a/airflow-ctl-tests/pyproject.toml
+++ b/airflow-ctl-tests/pyproject.toml
@@ -26,7 +26,7 @@ description = "Airflow CTL tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10,!=3.13"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/airflow-ctl/pyproject.toml b/airflow-ctl/pyproject.toml
index 8c2fe12a7c5e0..b917c804b20ca 100644
--- a/airflow-ctl/pyproject.toml
+++ b/airflow-ctl/pyproject.toml
@@ -26,7 +26,7 @@ license-files = ["LICENSE", "NOTICE"]
 # out-of-the box. Airflow-ctl is a small tool that does not have many dependencies and does not use
 # sophisticated features of Python, so it should work with Python 3.14+ once all it's dependencies are
 # updated to support it.
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 dependencies = [
     # TODO there could be still missing deps such as airflow-core
     "argcomplete>=1.10",
diff --git a/airflow-e2e-tests/pyproject.toml b/airflow-e2e-tests/pyproject.toml
index a9406aa2a6feb..992b69d09f7f8 100644
--- a/airflow-e2e-tests/pyproject.toml
+++ b/airflow-e2e-tests/pyproject.toml
@@ -25,7 +25,7 @@ description = "E2E tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10,!=3.13"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/chart/pyproject.toml b/chart/pyproject.toml
index 35816e6abc98e..1953e48fa15e3 100644
--- a/chart/pyproject.toml
+++ b/chart/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "hatchling.build"
 [project]
 name = "apache-airflow-helm-chart"
 description = "Programmatically author, schedule and monitor data pipelines"
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/clients/python/pyproject.toml b/clients/python/pyproject.toml
index 59593b1d8dd81..cee362194aaf4 100644
--- a/clients/python/pyproject.toml
+++ b/clients/python/pyproject.toml
@@ -26,7 +26,7 @@ description = "Apache Airflow API (Stable)"
 readme = "README.md"
 license = "Apache-2.0"
 license-files = ["LICENSE", "NOTICE"]
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/dev/breeze/pyproject.toml b/dev/breeze/pyproject.toml
index 15f53dd7b00ba..3cf6686831c7c 100644
--- a/dev/breeze/pyproject.toml
+++ b/dev/breeze/pyproject.toml
@@ -40,7 +40,7 @@ classifiers = [
     "Programming Language :: Python :: 3.12",
     "Programming Language :: Python :: 3.13",
 ]
-requires-python = ">=3.10, !=3.13"
+requires-python = ">=3.10,!=3.14"
 
 dependencies = [
     "black>=25.0.0",
diff --git a/dev/pyproject.toml b/dev/pyproject.toml
index d4c58fa3b8846..e3a9722c33c34 100644
--- a/dev/pyproject.toml
+++ b/dev/pyproject.toml
@@ -26,7 +26,7 @@ description = "Development tools for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/docker-stack-docs/pyproject.toml b/docker-stack-docs/pyproject.toml
index d29f32bda3b7d..c1a5ce513ab80 100644
--- a/docker-stack-docs/pyproject.toml
+++ b/docker-stack-docs/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "hatchling.build"
 [project]
 name = "docker-stack"
 description = "Programmatically author, schedule and monitor data pipelines"
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/docker-tests/pyproject.toml b/docker-tests/pyproject.toml
index fe2ced2cb369d..ff646d8da67af 100644
--- a/docker-tests/pyproject.toml
+++ b/docker-tests/pyproject.toml
@@ -26,7 +26,7 @@ description = "Docker tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/helm-tests/pyproject.toml b/helm-tests/pyproject.toml
index 799fc4cebb70f..1cac48c8b6861 100644
--- a/helm-tests/pyproject.toml
+++ b/helm-tests/pyproject.toml
@@ -26,7 +26,7 @@ description = "Helm tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/kubernetes-tests/pyproject.toml b/kubernetes-tests/pyproject.toml
index bced4f3384ddc..0caddfb394f30 100644
--- a/kubernetes-tests/pyproject.toml
+++ b/kubernetes-tests/pyproject.toml
@@ -24,7 +24,7 @@ description = "Kubernetes tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/performance/pyproject.toml b/performance/pyproject.toml
index 958467e4f25c8..35a3e0846b3b4 100644
--- a/performance/pyproject.toml
+++ b/performance/pyproject.toml
@@ -21,7 +21,7 @@ build-backend = "flit_core.buildapi"
 [project]
 name = "apache-airflow-performance"
 version = "0.1.0"
-requires-python = ">=3.10,!=3.13"
+requires-python = ">=3.10,!=3.14"
 description = "Performance testing utilities and DAGs for Apache Airflow"
 readme = { file = "README.md", content-type = "text/markdown" }
 license = "Apache-2.0"
diff --git a/providers-summary-docs/pyproject.toml b/providers-summary-docs/pyproject.toml
index 710625e15c287..f507506e58531 100644
--- a/providers-summary-docs/pyproject.toml
+++ b/providers-summary-docs/pyproject.toml
@@ -24,7 +24,7 @@ build-backend = "hatchling.build"
 [project]
 name = "apache-airflow-providers"
 description = "Programmatically author, schedule and monitor data pipelines"
-requires-python = ">=3.10"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/pyproject.toml b/pyproject.toml
index 7a7b707f66921..89958976947ab 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,12 +35,7 @@ description = "Programmatically author, schedule and monitor data pipelines"
 readme = { file = "generated/PYPI_README.md", content-type = "text/markdown" }
 license = "Apache-2.0"
 license-files = ["LICENSE", "NOTICE"]
-# We know that it will take a while before we can support Python 3.14 because of all our dependencies
-# It takes about 4-7 months after Python release before we can support it, so we limit it to <3.14
-# proactively. This way we also have a chance to test it with Python 3.14 and bump the upper binding
-# and manually mark providers that do not support it yet with !-3.14 - until they support it - which will
-# also exclude resolving uv workspace dependencies for those providers.
-requires-python = ">=3.10, <3.14"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/task-sdk-integration-tests/pyproject.toml b/task-sdk-integration-tests/pyproject.toml
index 100ed5ee9ddb0..1c7d3595099fe 100644
--- a/task-sdk-integration-tests/pyproject.toml
+++ b/task-sdk-integration-tests/pyproject.toml
@@ -26,7 +26,7 @@ description = "Task SDK integration tests for Apache Airflow"
 classifiers = [
     "Private :: Do Not Upload",
 ]
-requires-python = ">=3.10,!=3.13"
+requires-python = ">=3.10,!=3.14"
 authors = [
     { name = "Apache Software Foundation", email = "dev@airflow.apache.org" },
 ]
diff --git a/task-sdk/pyproject.toml b/task-sdk/pyproject.toml
index a8bb72c0ce326..6334373c3d7ff 100644
--- a/task-sdk/pyproject.toml
+++ b/task-sdk/pyproject.toml
@@ -26,7 +26,7 @@ license-files = ["LICENSE", "NOTICE"]
 # in all our providers - and usually it will take a while before we can support it for majority of
 # providers, so we proactively limit it to <3.14.
 # It takes about 4-7 months after Python release before we can support it
-requires-python = ">=3.10, <3.14"
+requires-python = ">=3.10,!=3.14"
 
 authors = [
     {name="Apache Software Foundation", email="dev@airflow.apache.org"},
