Releasing Python packages for different platforms is a difficult task (see PEP 517, PEP 600).
This PR concerns automation of this process via one GitHub action, which can be triggered by a commit containing [wheel build] in its message. Currently this workflow supports:
Building manylinux-compatible wheels with 2010_x86_64, 2014_x86_64 and 2_24_x86_64 tags for CPython 3.6 to 3.10;
Building macosx-compatible wheels with macosx_10_14_x86_64 tag for CPython 3.7 to 3.10.
Also minor improvements in the Python API build process:
Dropped deprecated python setup.py sdist | bdist_wheel execution and replaced with the recommended python -m build --sdist --wheel;
Seems that the above change fixes the issue with NUMPY_INCLUDEDIR, which had to be manually specified using the script from the python/tools directory.
Releasing Python packages for different platforms is a difficult task (see PEP 517, PEP 600). This PR concerns automation of this process via one GitHub action, which can be triggered by a commit containing
[wheel build]
in its message. Currently this workflow supports:2010_x86_64
,2014_x86_64
and2_24_x86_64
tags for CPython 3.6 to 3.10;macosx_10_14_x86_64
tag for CPython 3.7 to 3.10.Also minor improvements in the Python API build process:
python setup.py sdist | bdist_wheel
execution and replaced with the recommendedpython -m build --sdist --wheel
;NUMPY_INCLUDEDIR
, which had to be manually specified using the script from thepython/tools
directory.