Skip to content

Commit 4b0ebc6

Browse files
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy