This is an automated email from the ASF dual-hosted git repository.

shunping pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/beam.git


The following commit(s) were added to refs/heads/master by this push:
     new aec0392a343 Revert previous workarounds and upgrade TFX stack to 
1.21.0 (#39164)
aec0392a343 is described below

commit aec0392a3433e52a1a5c20dafd87fe9156bb9fa7
Author: Shunping Huang <[email protected]>
AuthorDate: Tue Jun 30 18:09:45 2026 -0400

    Revert previous workarounds and upgrade TFX stack to 1.21.0 (#39164)
---
 .../beam_CloudML_Benchmarks_Dataflow.json          |  2 +-
 .../mltransform_one_hot_encoding_test.py           |  2 --
 .../testing/benchmarks/cloudml/constraints.txt     | 42 ----------------------
 .../testing/benchmarks/cloudml/requirements.txt    | 21 +++++------
 sdks/python/test-suites/dataflow/common.gradle     |  4 +--
 5 files changed, 11 insertions(+), 60 deletions(-)

diff --git a/.github/trigger_files/beam_CloudML_Benchmarks_Dataflow.json 
b/.github/trigger_files/beam_CloudML_Benchmarks_Dataflow.json
index 5d04b2c0a8c..37dd25bf902 100644
--- a/.github/trigger_files/beam_CloudML_Benchmarks_Dataflow.json
+++ b/.github/trigger_files/beam_CloudML_Benchmarks_Dataflow.json
@@ -1,4 +1,4 @@
 {
     "comment": "Modify this file in a trivial way to cause this test suite to 
run.",
-    "modification": 5
+    "modification": 3
 }
diff --git 
a/sdks/python/apache_beam/examples/ml_transform/mltransform_one_hot_encoding_test.py
 
b/sdks/python/apache_beam/examples/ml_transform/mltransform_one_hot_encoding_test.py
index e072a367dc3..5ebf198c63b 100644
--- 
a/sdks/python/apache_beam/examples/ml_transform/mltransform_one_hot_encoding_test.py
+++ 
b/sdks/python/apache_beam/examples/ml_transform/mltransform_one_hot_encoding_test.py
@@ -104,7 +104,6 @@ class OneHotEncodingPipelineTest(unittest.TestCase):
     self.assertEqual(parsed['category'], 'test')
     self.assertEqual(parsed['value'], 123)
 
-  @pytest.mark.uses_tft
   def test_end_to_end_pipeline_local(self):
     """Integration test running the full pipeline locally."""
     extra_opts = {
@@ -140,7 +139,6 @@ class OneHotEncodingPipelineTest(unittest.TestCase):
       self.assertIn('color', record)
       self.assertIn('size', record)
 
-  @pytest.mark.uses_tft
   def test_pipeline_with_missing_columns(self):
     """Test pipeline handles records with missing columns gracefully."""
     # Create input with some missing columns
diff --git a/sdks/python/apache_beam/testing/benchmarks/cloudml/constraints.txt 
b/sdks/python/apache_beam/testing/benchmarks/cloudml/constraints.txt
deleted file mode 100644
index 03d43524f4b..00000000000
--- a/sdks/python/apache_beam/testing/benchmarks/cloudml/constraints.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-
-# Constraints file to pin versions and avoid pip ResolutionTooDeep.
-# This file is used with: pip install -c constraints.txt -r requirements.txt
-
-# Core dependencies
-tfx_bsl==1.15.1
-tensorflow-transform==1.15.0
-
-# TensorFlow ecosystem
-tensorflow==2.15.1
-tensorflow-metadata==1.15.0
-tf-keras==2.15.1
-
-# NumPy and data handling
-numpy==1.26.4
-pyarrow==10.0.1
-
-# Google Cloud (pin to avoid transitive resolution)
-google-cloud-aiplatform==1.133.0
-google-api-core==2.19.1
-
-# Note: google-auth is NOT constrained - let pip resolve it to satisfy
-# apache-beam's google-genai requirement (>=2.48.1)
-
-# Note: tensorflow-serving-api is NOT constrained - let pip resolve it within
-# the range specified in requirements.txt (>=2.15,<2.16)
diff --git 
a/sdks/python/apache_beam/testing/benchmarks/cloudml/requirements.txt 
b/sdks/python/apache_beam/testing/benchmarks/cloudml/requirements.txt
index 5f754e27148..ee9b99c835f 100644
--- a/sdks/python/apache_beam/testing/benchmarks/cloudml/requirements.txt
+++ b/sdks/python/apache_beam/testing/benchmarks/cloudml/requirements.txt
@@ -15,15 +15,12 @@
 #    limitations under the License.
 #
 
-# Core TFT dependencies with version bounds.
-# Note: To avoid pip ResolutionTooDeep errors, always install using the 
constraints file:
-# pip install -c constraints.txt -r requirements.txt
-dill>=0.3,<0.5
-tfx_bsl>=1.15,<1.17
-tensorflow-transform>=1.15,<1.17
-tensorflow>=2.15,<2.16
-numpy>=1.22.0,<2.0
-tensorflow-metadata>=1.15,<1.16
-pyarrow>=10,<11
-tensorflow-serving-api>=2.15,<2.16
-tf-keras>=2.15,<2.16
+dill==0.4.1
+tfx_bsl==1.21.0
+tensorflow-transform==1.21.0
+tensorflow-metadata==1.21.0
+tensorflow
+numpy
+pyarrow
+tensorflow-serving-api
+tf-keras
diff --git a/sdks/python/test-suites/dataflow/common.gradle 
b/sdks/python/test-suites/dataflow/common.gradle
index c450eb3612f..f9fd691517c 100644
--- a/sdks/python/test-suites/dataflow/common.gradle
+++ b/sdks/python/test-suites/dataflow/common.gradle
@@ -589,9 +589,7 @@ task installTFTRequirements {
     exec {
       workingDir 
"$rootProject.projectDir/sdks/python/apache_beam/testing/benchmarks/cloudml/"
       executable 'sh'
-      // Use constraints file to pin versions while allowing pip to
-      // resolve compatible versions within the specified ranges in 
requirements.txt
-      args '-c', ". ${envdir}/bin/activate && pip install -c constraints.txt 
-r requirements.txt"
+      args '-c', ". ${envdir}/bin/activate && pip install -r requirements.txt"
     }
   }
 }

Reply via email to