erichare commented on PR #81:
URL: 
https://github.com/apache/pulsar-client-python/pull/81#issuecomment-1377784782

   > This PR looks like to use the 4th method of 
https://packaging.python.org/en/latest/guides/single-sourcing-package-version/#single-sourcing-the-version,
 but as the warning says:
   > 
   > > With this approach you must make sure that the VERSION file is included 
in all your source and binary distributions
   > 
   > The `version.txt` should be packaged into the Python wheel. I'm not 
familiar with the PyPI setup.py and you might need to search for how to package 
it.
   > 
   > If I were you, I would adopt the 3rd method, which is simple and clear.
   > 
   > Create an `__about__.py`, which defines a `__version__` global variable, 
in the `pulsar/` directory:
   > 
   > ```python
   > __version__='3.1.0a1'
   > ```
   > 
   > Then, in `pulsar/__init__.py` you can get the version by:
   > 
   > ```python
   > from pulsar.__about__ import __version__
   > ```
   > 
   > And in `setup.py` you can change the `get_version` function to:
   > 
   > ```python
   > def get_version():
   >     version = {}
   >     with open("./pulsar/__about__.py") as fp:
   >         exec(fp.read(), version)
   >     return version['__version__']
   > ```
   > 
   > References:
   > 
   > * 
https://github.com/pypi/warehouse/blob/64ca42e42d5613c8339b3ec5e1cb7765c6b23083/warehouse/__init__.py
   > * 
https://github.com/pypi/warehouse/blob/64ca42e42d5613c8339b3ec5e1cb7765c6b23083/warehouse/__about__.py
   
   @BewareMyPower i totally agree with this and appreciate your feedback. For 
reference, my motivation in choosing the fourth method was because there is 
already a version.txt file that was included in the repo - which was being read 
by the pkg/mac/build-mac-wheels.sh script. I was trying to keep that component 
as similar as possible. With that said, I think this is overall better and more 
pythonic, and i've updated the bash script to continue to read in the version 
info (assuming the structure of the variable and its definition provided).
   
   I've pushed the latest commit, if you have a moment to take a look and make 
sure this looks good, it would be much appreciated. Thank you!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to