Skip to content

ENH:Create universal wheel on PyPi for `pyicu`

Andi Vajda requested to merge github/fork/linwoodc3/universalWheel into master

Created by: linwoodc3

If this is too instructive, forgive me. Just wanted to require minimal effort from original author since this is me asking you to add something to your repository.

Summary of Merge Request

@ovalhub, this merge request creates a “Universal Wheel” to resolve an issue on the MacOS where pyicu's inability to fully install via pip install pyicu causes an error with polyglot, which is a multilingual NLP library created by @aboSamoor .

Details of Request

Request @ovalhub accept merge request, and run the following commands to update the PyICU PyPi packaging. This will include a universal wheel in the File section.

The problem encountered and fix are discussed in detail here.

What's the Change?

Just created a simple setup.cfg file as described in the Universal Wheels section of the Python Packaging User Guide. The exact content of the simple setup.cfg file is here.

How to "update" your Packaging

After this file is in the master pyicu repository, you run the following commands, as described in the Packaging User Guide:

>>> cd pyicu
>>> python setup.py bdist_wheel --universal  # create the universal wheel 
>>> python setup.py bdist_wheel # creates platform specific wheel just in case

Now, the last step is just uploading the distribution to PyPi. If you use twine (recommended approach, see here for security discussion):

>>> twine upload dist/*

Or the setuptools alternative (not recommended, see here for security discussion):

>>> python setup.py sdist bdist_wheel upload

This should solve one of the problems discussed in the polyglot issue.

Merge request reports