Re: [ANNOUNCE] tuna v0.21 released

David Runge <[email protected]> Sat, 1 Aug 2026 11:37:54 +0200
Newsgroups org.kernel.vger.linux-rt-users
Message-ID <am2-ct0Dwao_0Ul0@hmbx>
--5p0UGj+oNy4JoJOp
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 1 Aug 2026 11:37:54 +0200
From: David Runge <[email protected]>
To: John Kacur <[email protected]>
Cc: John Kacur <[email protected]>, [email protected],
	Clark Williams <[email protected]>
Subject: Re: [ANNOUNCE] tuna v0.21 released

On 2026-07-31 23:24:53 (-0400), John Kacur wrote:
>=20
>=20
> On Fri, 31 Jul 2026, David Runge wrote:
>=20
> > On 2026-07-28 17:36:31 (-0400), John Kacur wrote:
> > > Tag: v0.20
> >=20
> > Hi John,
> >=20
> > congrats on the new release!
> >=20
> > As tag v0.20 is from nine months ago, I guess you meant v0.21?
> > However, this tag does not exist yet. Did you forget to push it?
> >=20
>=20
> Yes, I forgot to push it. I did so now. Let me know if it works for you.

Thanks for pushing the tag!

I unfortunately now run into a build error, because with tuna 0.21 you have
introduced a circular dependency on tuna itself [1].

```bash
python -m build --wheel --no-isolation

* Getting build dependencies for wheel...
Traceback (most recent call last):
  File "/usr/lib/python3.14/site-packages/pyproject_hooks/_in_process/_in_p=
rocess.py", line 389, in <module>
    main()
    ~~~~^^
  File "/usr/lib/python3.14/site-packages/pyproject_hooks/_in_process/_in_p=
rocess.py", line 373, in main
    json_out["return_val"] =3D hook(**hook_input["kwargs"])
                             ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/pyproject_hooks/_in_process/_in_p=
rocess.py", line 143, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 3=
33, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=3D[])
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 3=
01, in _get_build_requires
    self.run_setup()
    ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.14/site-packages/setuptools/build_meta.py", line 3=
17, in run_setup
    exec(code, locals())
    ~~~~^^^^^^^^^^^^^^^^
  File "<string>", line 9, in <module>
ModuleNotFoundError: No module named 'tuna'

ERROR Backend subprocess exited when trying to invoke get_requires_for_buil=
d_wheel
```

Due to this recent change [1] the build process now has to include the curr=
ent
working directory in `$PYTHONPATH` to make this work:

```bash
PYTHONPATH=3D"$PWD" python -m build --wheel --no-isolation
```

This is a bit uncommon and I believe that it might be more worthwhile setti=
ng
the version differently, e.g. using setuptools-scm (see e.g. the pyproject.=
tom
example for setuptools [2]) or other PEP517 build backends.

Relatedly, maybe other build backends than setuptools might be an option,
to only rely on pyproject.toml going forward and have better versioning
integration?
(I think even with setuptools it is not really required to have a setup.py
anymore, but I'm not following that ecosystem too closely).

Best,
David

[1]: https://git.kernel.org/pub/scm/utils/tuna/tuna.git/commit/setup.py?id=
=3Dcb5593a2be9c26c8865f46bf29723c1ce93890aa
[2]: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html

--5p0UGj+oNy4JoJOp
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQR8efy7g3Ll3lsX4JqQ1LlkHgkpcQUCam2+cgAKCRCQ1LlkHgkp
cfbkAP91xoDQyI4Oc/CXynMRoqQu75csE4E9l3f/aO5GnvOhiAD8Cdqs7kmPs4R/
vXszj8U83Nh3YPENjLsFCka2kynNqQ8=
=EspL
-----END PGP SIGNATURE-----

--5p0UGj+oNy4JoJOp--