distribute Python client library as a Conda package
Is your feature request related to a problem? Please describe.
I am not able to find and install the Python client library (pulsar-client) using the Conda package manager. Conda is the preferred package manager for a significant community of Python users.
Describe the solution you'd like
I would like pulsar-client to be built as a package in the Conda package format and distributed through conda-forge.
This solution requires all dependencies of pulsar-client to be available as Conda packages. Most of the dependencies are already available from conda-forge. However, the apache-bookkeeper-client dependency (and its transitive dependencies) may need to be built and released as Conda packages.
Describe alternatives you've considered
pulsar-client is already distributed in Wheel format through PyPI. This works as expected for users of pip and other similar package managers. However, the Wheel format is not convenient for users of Conda.
I am familiar with Conda packages and volunteer to help.
However, the apache-bookkeeper-client dependency (and its transitive dependencies) may need to be built and released as Conda packages.
@chairmank can you create a bookkeeper issue for this part?
Pull requests and contributions are welcome!
@chairmank I assigned the issue to you. Thank you for volunteering to work on this!
The related issue in BookKeeper is https://github.com/apache/bookkeeper/issues/2289
One of the dependencies that is not currently available as a Conda package is ratelimit. This is a tiny library. The last commit was over 1 year ago.
I expect that it will be easy to package ratelimit in the Conda package format. However, for longer-term maintainability, it would be better for the Pulsar project to drop this dependency in the next release, and instead re-implement equivalent rate-limiting functionality in Pulsar Functions. By dropping this dependency, we would eliminate the administrative burden of coordinating with the package maintainer.