Add script to build wheel for pycvc5 (#6839)
authormakaimann <makaim@stanford.edu>
Thu, 8 Jul 2021 16:24:54 +0000 (12:24 -0400)
committerGitHub <noreply@github.com>
Thu, 8 Jul 2021 16:24:54 +0000 (09:24 -0700)
commita4e5c52452519067da198dc31991dc4c92877fcb
treefce88fd2788298b6768badc33656442bdc9570c7
parentbf532867161ca49996dc7182128c50339e8c0563
Add script to build wheel for pycvc5 (#6839)

This PR adds a script for building a wheel distribution for pycvc5. It automatically reads the top-level CMakeLists.txt to obtain the current version number, and then runs the standard setup from setuptools with an extension command class that configures and builds cvc5 with Python bindings. This wheel file is sufficient for uploading to Pypi. Although, note that we need to build for different operating systems and different Python versions because of the extension modules.

Note: another option is to use the scikit-build instead of doing the configuring and building manually. However, I ran into some issues when the setup.py file was not at the top-level. Because we prefer to have it hidden in a sub-folder, I took the manual route for now. In the future, we could consider changing this.
src/api/python/wheels/build_wheel.py [new file with mode: 0644]