You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by di...@apache.org on 2023/08/30 05:16:54 UTC
[flink] 01/02: [FLINK-32758][python] Remove PyFlink dependencies' upper bounds
This is an automated email from the ASF dual-hosted git repository.
dianfu pushed a commit to branch release-1.18
in repository https://gitbox.apache.org/repos/asf/flink.git
commit 1f7796ee50cfbea4fb633692e6be01070ed45c6f
Author: Deepyaman Datta <de...@utexas.edu>
AuthorDate: Thu Aug 3 13:17:41 2023 -0700
[FLINK-32758][python] Remove PyFlink dependencies' upper bounds
This closes #23141.
---
flink-python/README.md | 4 ++--
flink-python/dev/dev-requirements.txt | 24 ++++++++++++------------
flink-python/pyflink/gen_protos.py | 8 ++++----
flink-python/pyflink/table/table_environment.py | 2 +-
flink-python/pyproject.toml | 8 ++++----
flink-python/setup.py | 17 +++++++++--------
6 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/flink-python/README.md b/flink-python/README.md
index cef32b27c82..6223a97ecff 100644
--- a/flink-python/README.md
+++ b/flink-python/README.md
@@ -26,7 +26,7 @@ The auto-generated Python docs can be found at [https://nightlies.apache.org/fli
## Python Requirements
-Apache Flink Python API depends on Py4J (currently version 0.10.9.7), CloudPickle (currently version 2.2.0), python-dateutil(currently version >=2.8.0,<3), Apache Beam (currently version 2.43.0).
+Apache Flink Python API depends on Py4J (currently version 0.10.9.7), CloudPickle (currently version 2.2.0), python-dateutil (currently version >=2.8.0,<3), Apache Beam (currently version >=2.43.0,<2.49.0).
## Development Notices
@@ -39,7 +39,7 @@ python pyflink/gen_protos.py
```
PyFlink depends on the following libraries to execute the above script:
-1. grpcio-tools (>=1.29.0,<=1.46.3)
+1. grpcio-tools (>=1.29.0,<=1.48.2)
2. setuptools (>=37.0.0)
3. pip (>=20.3)
diff --git a/flink-python/dev/dev-requirements.txt b/flink-python/dev/dev-requirements.txt
index f36142c0fb2..a05421acc53 100755
--- a/flink-python/dev/dev-requirements.txt
+++ b/flink-python/dev/dev-requirements.txt
@@ -15,20 +15,20 @@
pip>=20.3
setuptools>=18.0
wheel
-apache-beam==2.43.0
-cython==0.29.24
+apache-beam>=2.43.0,<2.49.0
+cython>=0.29.24,<3
py4j==0.10.9.7
python-dateutil>=2.8.0,<3
-cloudpickle==2.2.0
-avro-python3>=1.8.1,!=1.9.2,<1.10.0
-pandas>=1.3.0,<1.4.0
-pyarrow>=5.0.0,<9.0.0
+cloudpickle~=2.2.0
+avro-python3>=1.8.1,!=1.9.2
+pandas>=1.3.0
+pyarrow>=5.0.0
pytz>=2018.3
-numpy>=1.21.4,<1.22.0
-fastavro>=1.1.0,<1.4.8
-grpcio>=1.29.0,<=1.46.3
-grpcio-tools>=1.29.0,<=1.46.3
+numpy>=1.21.4
+fastavro>=1.1.0
+grpcio>=1.29.0,<=1.48.2
+grpcio-tools>=1.29.0,<=1.48.2
pemja==0.3.0; platform_system != 'Windows'
-httplib2>=0.19.0,<=0.20.4
-protobuf>=3.19.0,<=3.21
+httplib2>=0.19.0
+protobuf>=3.19.0
pytest~=7.0
diff --git a/flink-python/pyflink/gen_protos.py b/flink-python/pyflink/gen_protos.py
index c87740195ad..2d926f6e448 100644
--- a/flink-python/pyflink/gen_protos.py
+++ b/flink-python/pyflink/gen_protos.py
@@ -32,7 +32,7 @@ import warnings
import pkg_resources
-GRPC_TOOLS = 'grpcio-tools>=1.29.0,<=1.46.3'
+GRPC_TOOLS = 'grpcio-tools>=1.29.0,<=1.48.2'
PROTO_PATHS = ['proto']
PYFLINK_ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
DEFAULT_PYTHON_OUTPUT_PATH = os.path.join(PYFLINK_ROOT_PATH, 'fn_execution')
@@ -73,7 +73,7 @@ def generate_proto_files(force=True, output_dir=DEFAULT_PYTHON_OUTPUT_PATH):
raise RuntimeError(
'Cannot generate protos for Windows since grpcio-tools package is '
'not installed. Please install this package manually '
- 'using \'pip install "grpcio-tools>=1.29.0,<=1.46.3"\'.')
+ 'using \'pip install "grpcio-tools>=1.29.0,<=1.48.2"\'.')
# Use a subprocess to avoid messing with this process' path and imports.
# Note that this requires a separate module from setup.py for Windows:
@@ -186,9 +186,9 @@ def _add_license_header(dir, file_name):
def _check_grpcio_tools_version():
version = pkg_resources.get_distribution("grpcio-tools").parsed_version
from pkg_resources import parse_version
- if version < parse_version('1.29.0') or version > parse_version('1.46.3'):
+ if version < parse_version('1.29.0') or version > parse_version('1.48.2'):
raise RuntimeError(
- "Version of grpcio-tools must be between 1.29.0 and 1.46.3, got %s" % version)
+ "Version of grpcio-tools must be between 1.29.0 and 1.48.2, got %s" % version)
if __name__ == '__main__':
diff --git a/flink-python/pyflink/table/table_environment.py b/flink-python/pyflink/table/table_environment.py
index a5ec177acc5..3327261ac41 100644
--- a/flink-python/pyflink/table/table_environment.py
+++ b/flink-python/pyflink/table/table_environment.py
@@ -1515,7 +1515,7 @@ class TableEnvironment(object):
pytz.timezone(self.get_config().get_local_timezone()))
step = -(-len(pdf) // splits_num)
pdf_slices = [pdf.iloc[start:start + step] for start in range(0, len(pdf), step)]
- data = [[c for (_, c) in pdf_slice.iteritems()] for pdf_slice in pdf_slices]
+ data = [[c for (_, c) in pdf_slice.items()] for pdf_slice in pdf_slices]
try:
with temp_file:
serializer.serialize(data, temp_file)
diff --git a/flink-python/pyproject.toml b/flink-python/pyproject.toml
index dfe21251062..db80347e262 100644
--- a/flink-python/pyproject.toml
+++ b/flink-python/pyproject.toml
@@ -18,12 +18,12 @@
[build-system]
# Minimum requirements for the build system to execute.
requires = [
- "packaging==20.5; platform_machine=='arm64'", # macos M1
+ "packaging>=20.5; platform_machine=='arm64'", # macos M1
"setuptools>=18.0",
"wheel",
- "apache-beam==2.43.0",
- "cython==0.29.24",
- "fastavro>=1.1.0,<1.4.8"
+ "apache-beam>=2.43.0,<2.49.0",
+ "cython>=0.29.24,<3",
+ "fastavro>=1.1.0"
]
[tool.cibuildwheel]
diff --git a/flink-python/setup.py b/flink-python/setup.py
index 893127d232e..91b1e454f93 100644
--- a/flink-python/setup.py
+++ b/flink-python/setup.py
@@ -305,15 +305,16 @@ try:
'pyflink.examples': ['*.py', '*/*.py'],
'pyflink.bin': ['*']}
- install_requires = ['py4j==0.10.9.7', 'python-dateutil>=2.8.0,<3', 'apache-beam==2.43.0',
- 'cloudpickle==2.2.0', 'avro-python3>=1.8.1,!=1.9.2,<1.10.0',
- 'pytz>=2018.3', 'fastavro>=1.1.0,<1.4.8', 'requests>=2.26.0',
- 'protobuf>=3.19.0,<=3.21',
- 'numpy>=1.21.4,<1.22.0',
- 'pandas>=1.3.0,<1.4.0',
- 'pyarrow>=5.0.0,<9.0.0',
+ install_requires = ['py4j==0.10.9.7', 'python-dateutil>=2.8.0,<3',
+ 'apache-beam>=2.43.0,<2.49.0',
+ 'cloudpickle>=2.2.0', 'avro-python3>=1.8.1,!=1.9.2',
+ 'pytz>=2018.3', 'fastavro>=1.1.0', 'requests>=2.26.0',
+ 'protobuf>=3.19.0',
+ 'numpy>=1.21.4',
+ 'pandas>=1.3.0',
+ 'pyarrow>=5.0.0',
'pemja==0.3.0;platform_system != "Windows"',
- 'httplib2>=0.19.0,<=0.20.4', apache_flink_libraries_dependency]
+ 'httplib2>=0.19.0', apache_flink_libraries_dependency]
setup(
name='apache-flink',