Thanks for your answer Anton,

----- Mail original -----
> De: "Anton Shestakov" <engo...@gmail.com>
> À: "PIERRE AUGIER" <pierre.aug...@univ-grenoble-alpes.fr>, "mercurial" 
> <mercurial@lists.mercurial-scm.org>
> Envoyé: Vendredi 30 Août 2024 15:24:14
> Objet: Re: Viability of Mercurial as an alternative to Git in 2024?

> 19.07.2024 16:28, PIERRE AUGIER пишет:
>> Unfortunately, there is no Mercurial wheels on PyPI (see
>> https://pypi.org/project/mercurial/#files)! I don't know any other big public
>> open-source Python projects using extensions that do not upload wheels on 
>> PyPI.
>> Nowadays, it is very simple.
> 
> I'm not sure why it wasn't mentioned, but we used to have wheels on
> PyPI. I think at some point the person who was doing it manually got too
> busy and now there are no wheels for newer releases.

I think this should be completely automatized. A Mercurial maintainer pushes a 
version tag on the repo and few hours later we have wheels for most standard 
platforms on PyPI.
This is done like that for most of popular Python projects using extensions 
(for example Numpy, Scipy, Matplotlib, Scikit-learn, Scikit-image, Mypy, 
Tornado, etc.).

> https://pypi.org/project/mercurial/6.2.2/#files still has wheels for
> windows, for example.
> 
>> If this is a matter of founding, I may be able to help a bit and more 
>> generally
>> we should organize ourself to get enough money to get these improvements.
> 
> Well then. If you want to contribute, you can fund/motivate someone to,
> for example, simply get some work done to set up building Mercurial
> wheels on our CI (for anylinux), and someone to contribute a windows box
> and/or a mac that can be used for our CI to build wheels.

My sentence was here to see if someone could be motivated to work on that for a 
bit of money. I can't spend more time on open-source right now to do it myself.

Moreover, I don't know the CI used by Mercurial. I'm not sure if there are 
Windows or macOS machines...

I think the simplest way to provide wheels would be to follow projects of the 
Fluiddyn project (also using Mercurial and foss.heptapod.net), in particular 
fluidfft, fluidsim and fluidimage. We have mirrors on Github pushed by 
foss.heptapod.net and then we produce the wheels exactly as most mainstream 
Python open-source projects, i.e. with Github Actions and cibuildwheel. The 
maintenance cost is very low.

See
- https://github.com/pypa/cibuildwheel
- 
https://foss.heptapod.net/fluiddyn/fluidfft/-/blob/branch/default/.github/workflows/wheels.yml
- https://github.com/fluiddyn/fluidfft/actions/runs/10508557043

> There are plenty of build scripts in contrib/packaging/ that build
> wheels, maybe some of them are a couple of lines of code away from being
> runnable on our CI.

We should not need fancy build scripts to build and upload wheels on PyPI. 
IMHO, since the Mercurial community is not able to work on its own solution, we 
should go for the mainstream way (through Github Actions), which is very easy 
and efficient.

For someone with a bit of experience in Mercurial and Github Actions, and the 
rights on https://foss.heptapod.net/mercurial/mercurial-devel and 
https://pypi.org/project/mercurial/, I evaluate the time needed to setup this 
mechanism to no more than few hours (at least to build simple wheels without 
Rust).

Regards,
Pierre
_______________________________________________
Mercurial mailing list
Mercurial@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to