For now I have identify only one drawback compare to the former setuptools. It is the editable installation. With hatchling it can only use editable with some type of path rewrite which does not contain the rewrite needed for standard module.
But I do not think it is a big deal because non-standard module could be installed in a different path (than trytond.modules) and register the proper entrypoint to be loaded from their python module name.
Also for tryton and trytond, we had custom command to compile mo and rng files. I solved it by using a hatch_build.py custom hook which compile the files on building. The hook file can also be run as python script to compile the same files.
There are still some work to do to upgrade the cx_Freeze build to use the cxfreeze command and pyproject.toml
Another change due the removal of the editable installation, is that tox must no more run test using develop mode. This means that the tests are run from the virtual environment installation. The benefit is that it also tests that every needed files are correctly installed. So I changed also for the non-modules packages even if they could be installed in editable mode.
I needed a little trick which is to add changedir = {toxworkdir} in order to prevent unittest to import the files form the repository (there are some code that change the sys.path in unittest).
Indeed as we need to calculate the files to include dynamically (depends on sys.prefix, compile with g-ir-compiler etc.), I kept the setup-freeze.py which do not depend on setuptools directly but only through cx_Freeze.
The MR is ready for testing.
And by the way, I took the opportunity to remove support of Python 3.9 and add Python 3.14 to reduce the load on the CI runners.
In the PKG-Info of hatch-tryton you mention MIT as license, but LICENSE file does not contain respective license information. Maybe add it in the next release? Thanks!