Shipping 3.7 wheels

Matt Mackall mpm at selenic.com
Wed Jan 20 18:41:25 CST 2016


On Wed, 2016-01-20 at 15:53 -0800, Gregory Szorc wrote:
> On Wed, Jan 20, 2016 at 3:35 PM, Matt Mackall <mpm at selenic.com> wrote:
> 
> > On Wed, 2016-01-20 at 13:46 -0800, Gregory Szorc wrote:
> > > On Wed, Jan 20, 2016 at 1:02 PM, Matt Mackall <mpm at selenic.com> wrote:
> > > 
> > > > On Mon, 2016-01-18 at 11:42 -0800, Gregory Szorc wrote:
> > > > > On Fri, Jan 15, 2016 at 11:25 AM, Matt Mackall <mpm at selenic.com>
> > wrote:
> > > > > 
> > > > > > On Thu, 2016-01-14 at 13:57 -0800, Gregory Szorc wrote:
> > > > > > > I /think/ packaging improvements in this cycle finally put us in
> > > > position
> > > > > > > to offer binary wheels for Windows and OS X starting with the 3.7
> > > > > > release.
> > > > > > > (We can't offer binary wheels for Linux because, well, there
> > still
> > > > isn't
> > > > > > a
> > > > > > > good answer for binary wheel compatibility on Linux.) The
> > advantage
> > > > of
> > > > > > > binary wheels is we can upload them to PyPI and people can `pip
> > > > install
> > > > > > > Mercurial` and get the C extensions without needing to have a
> > working
> > > > > > > compile environment.
> > > > > > > 
> > > > > > > There /might/ be an issue with the hg version string. I think
> > wheels
> > > > are
> > > > > > > more strict about the version format and may not like our "+1"
> > > > > > annotation.
> > > > > > > This should be easily correctable with some setup.py muckery.
> > > > > > > 
> > > > > > > The bigger issue is how to produce and distribute them. I'm not
> > sure
> > > > what
> > > > > > > changes to the release process need to be made to support
> > generating
> > > > > > wheels.
> > > > > > > 
> > > > > > > What needs to be done for us to produce wheels and upload them to
> > > > PyPI as
> > > > > > > part of the release process?
> > > > > > 
> > > > > > I haven't the foggiest. I have a hacked[1] tool named twine in my
> > > > release
> > > > > > script
> > > > > > and that's just about the sum total of my interaction with PyPI
> > over
> > > > the
> > > > > > past
> > > > > > decade.
> > > > > > 
> > > > > > Probably the best way forward is for someone (not it!) to make a
> > test
> > > > > > package on PyPI to experiment with wheel uploads and report back.
> > > > > > 
> > > > > > [1] The capitalization of the package on PyPI and setup.py disagree
> > > > > > causing stock twine to puke.
> > > > > > 
> > > > > > 
> > > > > I created an account on the test pypi service and uploaded wheels for
> > > > > Windows. https://testpypi.python.org/pypi/mercurial
> > > > > 
> > > > > In theory you can point pip at this PyPI instance, but I haven't
> > figured
> > > > > out how to do that yet. (`pip -i https://testpypi.python.org/pypi/
> > > > install
> > > > > mercurial` is complaining with "Could not find a version that
> > satisfies
> > > > the
> > > > > requirement install (from versions: ) No matching distribution found
> > for
> > > > > install"). But e.g. `pip install
> > > > > 
> > > > 
> > https://testpypi.python.org/packages/cp27/m/mercurial/mercurial-3.7rc1-cp27-
> > > > no
> > > > > ne-win_amd64.whl`
> > > > > should work.
> > > > > 
> > > > > Ping me with your test PyPI username and I'll add you as a
> > maintainer for
> > > > > the "mercurial" project there (they do wipe the database every so
> > often).
> > > > 
> > > > Umm.. why? I'm not able to/going to build wheels?
> > > > 
> > > > 
> > > The whole point of my original e-mail was to figure out how we would
> > start
> > > creating and distributing wheels to end users.
> > 
> > I understood that. And my response was: I have no idea about PyPI at all,
> > someone needs to figure it out.
> > 
> 
> Oh, I assumed you were uploading source archives to PyPI. I see from
> https://pypi.python.org/pypi/Mercurial/ that a few others have access. So I
> guess it is one of them.

No, it is me. But here is the full extent of my knowledge of and interaction
with PyPI, as enshrined in my release script:

 cd release-build-$1
 twine upload -s dist/mercurial-$1.tar.gz

Previous Augie did it with a more manual process.

> I wasn't suggesting you open a test account. I was just posting the wheels
> so others could install them and report issues.

Got it.

> Would you feel comfortable giving me access rights to PyPI so I can upload
> Windows wheels?

Done. There should be a 3.7-rc tagged in an hour or so. You should add yourself
to mercurial-packagers so you get the reminder email when releases happen.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list