view.py currently uses setuptools for it's build process. This works fine, but there are newer tools nowadays that have some extra benefits. Specifically, view.py will be switching to Hatch.
In the very early stages of view.py, Hatch was actually used as the build system, with a custom build hook that used setuptools._distutils.ccompiler for compiling the extension module. Unfortunately, it didn't work on other systems, so we switched over to setuptools before the initial alpha release. Now, Hatch has support for extension modules through a scikit-build-core plugin. Unfortunately, this means I have to use CMake for the build system (which is a confusing format, to say the least), but I can probably find some prebuilt configuration for it online that covers our needs - it's worth it for the benefits of Hatch.
Description:
view.py currently uses setuptools for it's build process. This works fine, but there are newer tools nowadays that have some extra benefits. Specifically, view.py will be switching to Hatch.
In the very early stages of view.py, Hatch was actually used as the build system, with a custom build hook that used
setuptools._distutils.ccompiler
for compiling the extension module. Unfortunately, it didn't work on other systems, so we switched over tosetuptools
before the initial alpha release. Now, Hatch has support for extension modules through a scikit-build-core plugin. Unfortunately, this means I have to use CMake for the build system (which is a confusing format, to say the least), but I can probably find some prebuilt configuration for it online that covers our needs - it's worth it for the benefits of Hatch.