ZeroIntensity / view.py

The Batteries-Detachable Web Framework
https://view.zintensity.dev
MIT License
206 stars 15 forks source link

Switch to Hatch #190

Open ZeroIntensity opened 1 week ago

ZeroIntensity commented 1 week ago

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 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.