Hi Konrad et al.,

On 7/18/26 15:31, Konrad Hinsen wrote:
Because one channel can have only one policy. The main channel has the
policy of tracking upstream changes as quickly as possible, so it
transmits the anti-conviviality properties of the Python ecosystem to
Guix users.

Paradoxically, I'm suggesting we step away from *only* tracking the latest upstream changes, exactly to make it easier to get those latest versions into Guix. We're still only on Python 3.12.

That is, a basic but stable core e.g. just the basic Python versions and
some build tools.  And different sets of Python packages on top of that.

Would that work if you end up having more than one Python version in a
profile or shell? If it does, yes, that would be a possible approach.
Much like we have multiple versions of gcc. Package naming would be
a mess, however, because the Python version for each package would have
to be encoded in its name.

We should start with only allowing these competing versions into different profiles; e.g. through `guix shell`. That would already be a major step forward, and I think it is a fair compromise:

- Most people will use the default Python, which would have almost all packages, although perhaps not the very latest version.

- Some people need an old Python package (or an application using an old Python library), then they are hopefully fine with running that one application in a separate profile, e.g. through `guix shell`. If they do want to combine that older package with newer packages, well, then they are in an excellent position to patch the old package (maybe upstream), because they actually care and it is voluntary.

- Some people want the latest and greatest version of some library, knowing that it will not be compatible with everything else yet. Those people will most likely also be fine with running that software in a separate profile (perhaps contributing some package refreshes along the way).

I actually prefer to have all my old stuff and experimental stuff in separate profiles.

That would be making use of Guix' strengths: having different manifests for different profiles with different packages with different versions for different purposes.

Forcing everything into the same profile sounds a bit non-Guixy to me, but making it possible can be a next step; I have some ideas.

Hugo


Reply via email to