SciTools / cf-units

Units of measure as required by the Climate and Forecast (CF) Metadata Conventions
https://cf-units.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
64 stars 47 forks source link

Port from setuptools.build_meta to meson-python #392

Closed monego closed 5 months ago

monego commented 9 months ago

🚀 Pull Request

Description

This is an initial attempt at #391. meson-python is usually adopted by large projects and may be overkill here, but cf-units is a good starting point to learn more about it. There is a Cython extension for udunits and an external project (antlr4) to manage (not yet implemented in this PR).

This change moves from setup.py and setup.cfg to Meson scripts and meson-python. Meson detects the udunits installation and adjusts the necessary paths accordingly. I'm also considering a fix for #313 with a Meson build option.

This PR is currently tested on Linux (with Debian 12 packages) only.

I added Spin to run the build and test commands. All tests are passing (and one skipped and one xfail).

$ spin build
$ spin test

I installed all the other Python dependencies (listed in pyproject.toml) manually from pip. udunits is from the Debian repo.

What is missing:

trexfeathers commented 8 months ago

From @SciTools/peloton: thanks so much for this @monego, we promise we're thinking about it - the main challenge is making time to look in more detail.

ESadek-MO commented 5 months ago

@SciTools/peloton don't really have the time or resources to do complete this, so closing this as unplanned. Sorry for the inconvenience!