Mesonpy: how to set package version?

What is the best practice to define package version? I am using mesonpy. The documentation at Single-sourcing the package version — Python Packaging User Guide describes setup.py.
I tried setting __version__ in __init__.py, and adding to pyproject.toml,

[project]
...
dynamic = ["version"]

and

[tool.meson-python.dynamic]
version = {attr = "funcphys.__version__"}

which supposedly works with setuptools >0.60, but mesonpy does not support this approach. The mesonpy documentation only describes arguments passed to meson .

I also want to build my package with conda-build, which has its own way of setting the version. The build section in recipe/meta.yaml has

{% set  version = "2.0b0" %}

and

script: "{{ PYTHON }} -m pip install . -v"

I want to avoid having to set the same value in 3 separate files.

I checked how scipy handles it. version is defined in the top-level meson.build and, independently, as __version__, in the module scipy.version, written by setup.py. So, apparently there is no way of having a single definition.