Has nltk considered the feasibility of adding wheels to PyPI?
As of now it is one of ~10% of packages listed on https://pythonwheels.com/ that does not provide wheels.
It looks like nltk is pure-Python with no dependencies on shared libraries or the like. That seems like it would make building the wheel itself pretty painless.
If that's all it is, I'd be happy to give it a try
@stevenbird I see that there's an sdist
in the Makefile. Just to confirm, is the current way that the maintainers upload to PyPi to use make dist
(on a local machine) and then uploading dist/
with twine
?
Cool trick: the wheel can be tested directly by tox
via --installpkg
. These are passing:
$ pyenv local 3.8.2 3.7.7 3.6.10 3.5.9
$ python -m venv venv
$ source ./venv/bin/activate
$ python -m pip install -U pip setuptools wheel
$ python setup.py bdist_wheel
$ . tools/travis/pre-install.sh
$ chmod +x tools/travis/coverage-pylint.sh
$ chmod +x tools/travis/third-party.sh
$ . tools/travis/install.sh
$ tox --installpkg dist/nltk-*.whl
@bsolomon1124 I'll package a new release in the coming days, so we can get this out.
Great @stevenbird. I recommend running check-wheel-contents
on the wheel as one last sanity check to look for things that might not rear their head with an sdist alone.
Edit: I went ahead and did this, and it looks like the only finding is a false positive:
$ check-wheel-contents nltk-3.5-py3-none-any.whl
nltk-3.5-py3-none-any.whl: W002: Wheel contains duplicate files:
nltk/test/corpus_fixt.py
nltk/test/translate_fixt.py
Hello, Thanks for working on this! I know they will be released soon but is there a way to access these Wheels at the moment? if not How can I build them locally?
@notAmine if you've cloned from Git, you should be able to build wheels via python setup.py bdist_wheel
as shown above.
As of today there is still no wheel uploaded to PyPI. Are there plans to do this? It seems like it would be a trivial thing to do.
Most helpful comment
@bsolomon1124 I'll package a new release in the coming days, so we can get this out.