browsermt / bergamot-translator

Cross platform C++ library focusing on optimized machine translation on the consumer-grade device.
http://browser.mt
Mozilla Public License 2.0
327 stars 36 forks source link

Set up python packaging for PyPI distribution #424

Closed jerinphilip closed 2 years ago

jerinphilip commented 2 years ago

Old GitHub CI using Ubuntu and MacOS explicitly and building wheels have been removed in favour of the more portable pypa specified builds. These wheels should work just as well across a wider range of distributions.

pybind11:CMakeLists.txt requires Development.Module instead of Development.* to avoid Embed from getting in the way of manylinux builds.

manylinux_x86_64 builds are added for cp3.6 - 3.10. The linux build uses an old image via docker. Since the docker images are able to use shared ccache folder, builds quite fast on warm starts.

ccache usage in setup.py is now triggered by an environment variable. This allows for builds not to fail if ccache not present.

On tag pushes corresponding to versions, CI is configured to deliver built wheels to PyPI, reading from repository secrets.

Improves setup.py including documentation and some formatting, and additional links to source.

Fixes: #315