Re: Build question: how do the SciPy source distribution and wheels get uploaded to PyPI?

Ralf Gommers <[email protected]> Thu, 28 Mar 2024 11:13:39 +0100
Newsgroups gmane.comp.python.scientific.devel
Message-ID <CABL7CQjQiztug3p=hMQrsby-c-nGZJJ78WPgqP6B=9a_rjCx4Q@mail.gmail.com>
--===============5939995154310485506==
Content-Type: multipart/alternative; boundary="000000000000995b840614b5c704"

--000000000000995b840614b5c704
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 28, 2024 at 1:28=E2=80=AFAM Scott Guthridge <
[email protected]> wrote:

> I see that tools/wheels/upload_wheels.sh script looks for dist/*.gz first=
,
> then wheelhouse/*.whl next and upload to the Anaconda distribution.  The
> only places I see this script called are in .github/workflows/wheels.yml
> and ci/cirrus_wheels.yml, and in both cases appear to upload wheel files
> only.
>
> How is the source distribution built?  Does cibuildwheel also build the
> SD?  And how do the wheels and source distribution end up on PyPI?
>

The sdist is built by the release manager:
https://github.com/scipy/scipy/issues/13369#issuecomment-1912185397

Wheels get downloaded from the anaconda.org staging bucket by the release
manager, and then uploaded to PyPI (see
https://github.com/scipy/scipy/issues/13369#issuecomment-1912185397).

There is some discussion here about a trusted publishing workflow:
https://github.com/scipy/scipy/issues/18869. It'd still need to go via the
anaconda.org staging area though, for multiple reasons. So it'd only be a
minor increase in traceability, there's still a human in the release loop.

Why are you asking?

Cheers,
Ralf



> Thanks
> Scott
> _______________________________________________
> SciPy-Dev mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/scipy-dev.python.org/
> Member address: [email protected]
>

--000000000000995b840614b5c704
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Mar 28, 2024 at 1:28=E2=80=AF=
AM Scott Guthridge &lt;<a href=3D"mailto:[email protected]">sc=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">I see that tools/wheels/upload_wheels.sh script=
 looks for dist/*.gz first, then wheelhouse/*.whl next and upload to the An=
aconda distribution.=C2=A0 The only places I see this script called are in =
.github/workflows/wheels.yml and ci/cirrus_wheels.yml, and in both cases ap=
pear to upload wheel files only.<br>
<br>
How is the source distribution built?=C2=A0 Does cibuildwheel also build th=
e SD?=C2=A0 And how do the wheels and source distribution end up on PyPI?<b=
r></blockquote><div><br></div><div>The sdist is built by the release manage=
r:=C2=A0<a href=3D"https://github.com/scipy/scipy/issues/13369#issuecomment=
-1912185397">https://github.com/scipy/scipy/issues/13369#issuecomment-19121=
85397</a></div><div><br></div><div>Wheels get downloaded from the <a href=
=3D"http://anaconda.org">anaconda.org</a> staging bucket by the release man=
ager, and then uploaded to PyPI (see <a href=3D"https://github.com/scipy/sc=
ipy/issues/13369#issuecomment-1912185397">https://github.com/scipy/scipy/is=
sues/13369#issuecomment-1912185397</a>).=C2=A0</div><div><br></div><div>The=
re is some discussion here about a trusted publishing workflow: <a href=3D"=
https://github.com/scipy/scipy/issues/18869">https://github.com/scipy/scipy=
/issues/18869</a>. It&#39;d still need to go via the <a href=3D"http://anac=
onda.org">anaconda.org</a> staging area though, for multiple reasons. So it=
&#39;d only be a minor increase in traceability, there&#39;s still a human =
in the release loop.</div><div><br></div><div>Why are you asking?</div><div=
><br></div><div>Cheers,<br></div><div>Ralf</div><div><br></div><div><br> </=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Thanks<br>
Scott<br>
_______________________________________________<br>
SciPy-Dev mailing list -- <a href=3D"mailto:[email protected]" target=3D=
"_blank">[email protected]</a><br>
To unsubscribe send an email to <a href=3D"mailto:[email protected]=
g" target=3D"_blank">[email protected]</a><br>
<a href=3D"https://mail.python.org/mailman3/lists/scipy-dev.python.org/" re=
l=3D"noreferrer" target=3D"_blank">https://mail.python.org/mailman3/lists/s=
cipy-dev.python.org/</a><br>
Member address: <a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a><br>
</blockquote></div></div>

--000000000000995b840614b5c704--

--===============5939995154310485506==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
SciPy-Dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/scipy-dev.python.org/
Member address: [email protected]

--===============5939995154310485506==--