Skip to content

Commit 4b0ebc6

Browse files
author
Oscar Pacheco
committed
WL#16962: Update the Python Protobuf version
The required Python Protobuf version installed with the X DevAPI connector was updated to version 5.29.4. Change-Id: I7075108db1a3a3caadfff26c108770cb3dc0eb92
1 parent c70277a commit 4b0ebc6

File tree

5 files changed

+22
-17
lines changed

5 files changed

+22
-17
lines changed

CHANGES.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Full release notes:
1111
v9.4.0
1212
======
1313

14+
- WL#16962: Update the Python Protobuf version
1415
- BUG#37820231: Text based django ORM filters doesn't work with Connector/Python
1516
- BUG#37806057: Rename extra option (when installing wheel package) to install webauthn functionality dependencies
1617
- BUG#37627508: mysql/connector python fetchmany() has an off by one bug when argument given as 1

mysqlx-connector-python/docs/mysqlx/installation.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ As of Connector/Python 2.2.3, source distributions include a C++ Extension, that
5858
To build Connector/Python C++ Extension for Protobuf, you must satisfy the following prerequisites:
5959

6060
* A C/C++ compiler, such as ``gcc``
61-
* Protobuf C++ (version >= 4.21.1, <= 4.21.12)
61+
* Protobuf C++ (version 5.29.4)
6262
* Python development files
6363
* MySQL Connector/C or MySQL Server installed
6464

mysqlx-connector-python/docs/mysqlx/requirements.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Requirements
33

44
* MySQL 8.0.0 or higher, with the X Plugin enabled
55
* Python >= 3.9
6-
* Protobuf C++ (version == 4.25.3)
7-
* Python Protobuf (version == 4.25.3)
6+
* Protobuf C++ (version == 5.29.4)
7+
* Python Protobuf (version == 5.29.4)
88
* dnspython (version == 2.6.1) for DNS SRV support
99
* lz4 (version >= 2.1.6, <= 4.3.2) for connection compression support
1010
* zstandard (version >= 0.12.0, <= 0.19.0) for connection compression support

mysqlx-connector-python/setup.py

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def main() -> None:
160160
ext_modules=EXTENSIONS,
161161
cmdclass=COMMAND_CLASSES,
162162
python_requires=">=3.9",
163-
install_requires=["protobuf==4.25.3"],
163+
install_requires=["protobuf==5.29.4"],
164164
extras_require={
165165
"dns-srv": ["dnspython==2.6.1"],
166166
"compression": ["lz4>=2.1.6,<=4.3.2", "zstandard==0.23.0"],
@@ -177,29 +177,31 @@ def copy_metadata_files() -> None:
177177

178178

179179
def get_long_description() -> str:
180-
"""Extracts a long description from the README.rst file that is suited for this specific package.
181-
"""
180+
"""Extracts a long description from the README.rst file that is suited for this specific package."""
182181
with open(pathlib.Path(os.getcwd(), "../README.rst")) as file_handle:
183182
# The README.rst text is meant to be shared by both mysql and mysqlx packages, so after getting it we need to
184183
# parse it in order to remove the bits of text that are not meaningful for this package (mysqlx)
185184
long_description = file_handle.read()
186185
block_matches = re.finditer(
187186
pattern=(
188-
r'(?P<module_start>\.{2}\s+={2,}\s+(?P<module_tag>\<(?P<module_name>mysql|mysqlx|both)\>)(?P<repls>\s+'
187+
r"(?P<module_start>\.{2}\s+={2,}\s+(?P<module_tag>\<(?P<module_name>mysql|mysqlx|both)\>)(?P<repls>\s+"
189188
r'\[(?:(?:,\s*)?(?:repl(?:-mysql(?:x)?)?)\("(?:[^"]+)",\s*"(?:[^"]*)"\))+\])?\s+={2,})'
190-
r'(?P<block_text>.+?(?=\.{2}\s+={2,}))(?P<module_end>\.{2}\s+={2,}\s+\</(?P=module_name)\>\s+={2,})'
189+
r"(?P<block_text>.+?(?=\.{2}\s+={2,}))(?P<module_end>\.{2}\s+={2,}\s+\</(?P=module_name)\>\s+={2,})"
191190
),
192191
string=long_description,
193-
flags=re.DOTALL)
192+
flags=re.DOTALL,
193+
)
194194
for block_match in block_matches:
195-
if block_match.group("module_name") == 'mysql':
195+
if block_match.group("module_name") == "mysql":
196196
long_description = long_description.replace(block_match.group(), "")
197197
else:
198198
block_text = block_match.group("block_text")
199199
if block_match.group("repls"):
200-
repl_matches = re.finditer(pattern=r'(?P<repl_name>repl(?:-mysql(?:x)?)?)\("'
201-
r'(?P<repl_source>[^"]+)",\s*"(?P<repl_target>[^"]*)"\)+',
202-
string=block_match.group("repls"))
200+
repl_matches = re.finditer(
201+
pattern=r'(?P<repl_name>repl(?:-mysql(?:x)?)?)\("'
202+
r'(?P<repl_source>[^"]+)",\s*"(?P<repl_target>[^"]*)"\)+',
203+
string=block_match.group("repls"),
204+
)
203205
for repl_match in repl_matches:
204206
repl_name = repl_match.group("repl_name")
205207
repl_source = repl_match.group("repl_source")
@@ -211,9 +213,11 @@ def get_long_description() -> str:
211213
long_description = long_description.replace(block_match.group(), block_text)
212214
# Make replacements for files that are directly accessible within GitHub but not within PyPI
213215
files_regex_fragment = "|".join(mf.replace(".", r"\.") for mf in METADATA_FILES)
214-
long_description = re.sub(pattern=rf"\<(?P<file_name>{files_regex_fragment})\>",
215-
repl=f"<{GITHUB_URL}/blob/trunk/\g<file_name>>",
216-
string=long_description)
216+
long_description = re.sub(
217+
pattern=rf"\<(?P<file_name>{files_regex_fragment})\>",
218+
repl=f"<{GITHUB_URL}/blob/trunk/\g<file_name>>",
219+
string=long_description,
220+
)
217221
return long_description
218222

219223

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
protobuf==4.25.3
1+
protobuf==5.29.4
22
dnspython==2.6.1
33
lz4>=2.1.6,<=4.3.2
44
zstandard>=0.12.0,<=0.19.0

0 commit comments

Comments
 (0)