Hi all, The Python client has been separated since PIP-209 [1] and now the Python client is maintained in a separated repository [2]. However, the Python Function is still maintained in the main repo [3].
Currently, we can install the Python client with the following ways: 1. pip install pulsar-client 2. pip install pulsar-client[avro] 3. pip install pulsar-client[functions] 4. pip install pulsar-client[all] See [4] for the difference. However, for the 3rd and 4th ways, it installs all the dependencies required by the Python Functions. However, they are broken for the recent releases because of the outdated dependencies [5]. However, these dependencies are from the Python Functions [3], not the Python client library itself. Also, there are no tests in the Python client repo [2] for these functions so these dependencies cannot be verified. IMO, these dependencies should be maintained in the directory of the Python Functions. We should not rely on the Python client to install the dependencies for the Python Functions. Therefore, my suggestion is to drop the 3rd and 4th installation methods in future releases of the Python client. After that, we should update the scripts in the main repo to install the Python Functions in [3]. I'm not familiar with the Pulsar Functions, so feel free to show your suggestions if any of you have any concerns. [1] https://github.com/apache/pulsar/pull/17881 [2] http://github.com/apache/pulsar-client-python [3] https://github.com/apache/pulsar/tree/master/pulsar-functions/instance/src/main/python [4] https://pulsar.apache.org/docs/2.11.x/client-libraries-python/ [5] https://github.com/apache/pulsar-client-python/blob/a6476d9c45508f55a7af4b25001038a8e3a27489/setup.py#L80-L88 Thanks, Yunze