From b6451a0c1415bc124134be066b734da9b435dcd1 Mon Sep 17 00:00:00 2001 From: Yi Hu Date: Thu, 21 Aug 2025 12:09:32 -0400 Subject: [PATCH] Remove mysql-connector-python dependency --- .../apache_beam/yaml/integration_tests.py | 33 ++++++++----------- .../py310/base_image_requirements.txt | 1 - .../container/py310/ml_image_requirements.txt | 1 - .../py311/base_image_requirements.txt | 1 - .../container/py311/ml_image_requirements.txt | 1 - .../py312/base_image_requirements.txt | 1 - .../container/py312/ml_image_requirements.txt | 1 - .../py39/base_image_requirements.txt | 1 - .../container/py39/ml_image_requirements.txt | 1 - sdks/python/setup.py | 1 - 10 files changed, 14 insertions(+), 28 deletions(-) diff --git a/sdks/python/apache_beam/yaml/integration_tests.py b/sdks/python/apache_beam/yaml/integration_tests.py index 38fa2689268e..733dd10d0286 100644 --- a/sdks/python/apache_beam/yaml/integration_tests.py +++ b/sdks/python/apache_beam/yaml/integration_tests.py @@ -33,7 +33,6 @@ from datetime import timezone import mock -import mysql.connector import psycopg2 import pytds import sqlalchemy @@ -286,26 +285,22 @@ def temp_mysql_database(): Exception: Any other exception encountered during the setup process. """ with MySqlContainer(init=True, dialect='pymysql') as mysql_container: - try: - # Make connection to temp database and create tmp table - engine = sqlalchemy.create_engine(mysql_container.get_connection_url()) - with engine.begin() as connection: - connection.execute( - sqlalchemy.text( - "CREATE TABLE tmp_table (value INTEGER, `rank` INTEGER);")) + # Make connection to temp database and create tmp table + engine = sqlalchemy.create_engine(mysql_container.get_connection_url()) + with engine.begin() as connection: + connection.execute( + sqlalchemy.text( + "CREATE TABLE tmp_table (value INTEGER, `rank` INTEGER);")) - # Construct the JDBC url for connections later on by tests - jdbc_url = ( - f"jdbc:mysql://{mysql_container.get_container_host_ip()}:" - f"{mysql_container.get_exposed_port(mysql_container.port)}/" - f"{mysql_container.dbname}?" - f"user={mysql_container.username}&" - f"password={mysql_container.password}") + # Construct the JDBC url for connections later on by tests + jdbc_url = ( + f"jdbc:mysql://{mysql_container.get_container_host_ip()}:" + f"{mysql_container.get_exposed_port(mysql_container.port)}/" + f"{mysql_container.dbname}?" + f"user={mysql_container.username}&" + f"password={mysql_container.password}") - yield jdbc_url - except mysql.connector.Error as err: - logging.error("Error interacting with temporary MySQL DB: %s", err) - raise err + yield jdbc_url @contextlib.contextmanager diff --git a/sdks/python/container/py310/base_image_requirements.txt b/sdks/python/container/py310/base_image_requirements.txt index 81834540267c..3d3e3aa91022 100644 --- a/sdks/python/container/py310/base_image_requirements.txt +++ b/sdks/python/container/py310/base_image_requirements.txt @@ -113,7 +113,6 @@ mmh3==5.1.0 mock==5.2.0 more-itertools==10.7.0 multidict==6.6.3 -mysql-connector-python==9.3.0 nltk==3.9.1 numpy==2.2.6 oauth2client==4.1.3 diff --git a/sdks/python/container/py310/ml_image_requirements.txt b/sdks/python/container/py310/ml_image_requirements.txt index 2b70da331f53..79a6415b13c9 100644 --- a/sdks/python/container/py310/ml_image_requirements.txt +++ b/sdks/python/container/py310/ml_image_requirements.txt @@ -130,7 +130,6 @@ mock==5.2.0 more-itertools==10.7.0 mpmath==1.3.0 multidict==6.6.3 -mysql-connector-python==9.3.0 namex==0.1.0 networkx==3.4.2 nltk==3.9.1 diff --git a/sdks/python/container/py311/base_image_requirements.txt b/sdks/python/container/py311/base_image_requirements.txt index 2f81ea5e79d1..16764536fca7 100644 --- a/sdks/python/container/py311/base_image_requirements.txt +++ b/sdks/python/container/py311/base_image_requirements.txt @@ -111,7 +111,6 @@ mmh3==5.1.0 mock==5.2.0 more-itertools==10.7.0 multidict==6.6.3 -mysql-connector-python==9.3.0 nltk==3.9.1 numpy==2.2.6 oauth2client==4.1.3 diff --git a/sdks/python/container/py311/ml_image_requirements.txt b/sdks/python/container/py311/ml_image_requirements.txt index a5d8add176d2..a5636291b126 100644 --- a/sdks/python/container/py311/ml_image_requirements.txt +++ b/sdks/python/container/py311/ml_image_requirements.txt @@ -128,7 +128,6 @@ mock==5.2.0 more-itertools==10.7.0 mpmath==1.3.0 multidict==6.6.3 -mysql-connector-python==9.3.0 namex==0.1.0 networkx==3.5 nltk==3.9.1 diff --git a/sdks/python/container/py312/base_image_requirements.txt b/sdks/python/container/py312/base_image_requirements.txt index f39f7ab8f7df..e7e866e8950b 100644 --- a/sdks/python/container/py312/base_image_requirements.txt +++ b/sdks/python/container/py312/base_image_requirements.txt @@ -110,7 +110,6 @@ mmh3==5.1.0 mock==5.2.0 more-itertools==10.7.0 multidict==6.6.3 -mysql-connector-python==9.3.0 nltk==3.9.1 numpy==2.2.6 oauth2client==4.1.3 diff --git a/sdks/python/container/py312/ml_image_requirements.txt b/sdks/python/container/py312/ml_image_requirements.txt index e6e9a2930d26..05d2f47fb865 100644 --- a/sdks/python/container/py312/ml_image_requirements.txt +++ b/sdks/python/container/py312/ml_image_requirements.txt @@ -127,7 +127,6 @@ mock==5.2.0 more-itertools==10.7.0 mpmath==1.3.0 multidict==6.6.3 -mysql-connector-python==9.3.0 namex==0.1.0 networkx==3.5 nltk==3.9.1 diff --git a/sdks/python/container/py39/base_image_requirements.txt b/sdks/python/container/py39/base_image_requirements.txt index db7961186ba3..da5c39f1a15d 100644 --- a/sdks/python/container/py39/base_image_requirements.txt +++ b/sdks/python/container/py39/base_image_requirements.txt @@ -113,7 +113,6 @@ mmh3==5.1.0 mock==5.2.0 more-itertools==10.7.0 multidict==6.6.3 -mysql-connector-python==9.3.0 nltk==3.9.1 numpy==2.0.2 oauth2client==4.1.3 diff --git a/sdks/python/container/py39/ml_image_requirements.txt b/sdks/python/container/py39/ml_image_requirements.txt index 3dab7e35b6d1..91882f6b3e34 100644 --- a/sdks/python/container/py39/ml_image_requirements.txt +++ b/sdks/python/container/py39/ml_image_requirements.txt @@ -130,7 +130,6 @@ mock==5.2.0 more-itertools==10.7.0 mpmath==1.3.0 multidict==6.6.3 -mysql-connector-python==9.3.0 namex==0.1.0 networkx==3.2.1 nltk==3.9.1 diff --git a/sdks/python/setup.py b/sdks/python/setup.py index 99cd46cccf6c..5526e5d12e18 100644 --- a/sdks/python/setup.py +++ b/sdks/python/setup.py @@ -442,7 +442,6 @@ def get_portability_package_data(): 'cryptography>=41.0.2', 'hypothesis>5.0.0,<7.0.0', 'virtualenv-clone>=0.5,<1.0', - 'mysql-connector-python>=9.3.0', 'python-tds>=1.16.1', 'sqlalchemy-pytds>=1.0.2', 'oracledb>=3.1.1'