Re: twine upload & network robustness

Wes Turner <[email protected]> Fri, 7 Aug 2020 14:58:54 -0400
Newsgroups gmane.comp.python.distutils.devel
Message-ID <CACfEFw-BsRm_GRHK_5ToQJEAceBWjPyMbCfy8qdu-tsOkEthBw@mail.gmail.com>
--===============0526517444663150294==
Content-Type: multipart/alternative; boundary="000000000000f93a5005ac4e3250"

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

warehouse.forklift.legacy._is_valid_dist_file()
https://github.com/pypa/warehouse/blob/master/warehouse/forklift/legacy.py#=
L603

https://github.com/pypa/warehouse/blob/master/docs/api-reference/legacy.rst=
#upload-api
:

> The API endpoint served at upload.pypi.org/legacy/ is Warehouse=E2=80=99s
emulation of the legacy PyPI upload API. This is the endpoint that tools
such as twine use to upload distributions to PyPI.

https://warehouse.pypa.io/api-reference/legacy/#upload-api

^^ this page is not in the top-level warehouse TOC

https://warehouse.pypa.io/application/#file-and-directory-structure





On Fri, Aug 7, 2020, 12:34 PM Dustin Ingram <[email protected]> wrote:

> The latter.
>
> On Fri, Aug 7, 2020 at 4:37 AM Robin Becker <[email protected]> wrote:
>
>> Because of covid-19 I am working a lot from home so my network is likely
>> less robust.
>>
>> I was wondering about what happens if I upload with twine to pypi and
>> halfway through my network fails.
>>
>> Is the uploaded filename remembered so I cannot retry when my network
>> comes back?
>>
>> Or is the upload somehow atomic so that it has to complete(be checked)
>> before the file is entered into pypi?
>> --
>> Robin Becker
>> --
>> Distutils-SIG mailing list -- [email protected]
>> To unsubscribe send an email to [email protected]
>> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
>> Message archived at
>> https://mail.python.org/archives/list/[email protected]/message/S=
WHFPMYFVRLGXYRPOCTBQS7FKCUX3MUB/
>>
> --
> Distutils-SIG mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> https://mail.python.org/mailman3/lists/distutils-sig.python.org/
> Message archived at
> https://mail.python.org/archives/list/[email protected]/message/T2=
ZIWXYADJKOX2D3OVR4EJMT6ENC5E2Y/
>

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

<div dir=3D"auto">warehouse.forklift.legacy._is_valid_dist_file()<div dir=
=3D"auto"><a href=3D"https://github.com/pypa/warehouse/blob/master/warehous=
e/forklift/legacy.py#L603">https://github.com/pypa/warehouse/blob/master/wa=
rehouse/forklift/legacy.py#L603</a><br></div><div dir=3D"auto"><br></div><d=
iv dir=3D"auto"><a href=3D"https://github.com/pypa/warehouse/blob/master/do=
cs/api-reference/legacy.rst#upload-api">https://github.com/pypa/warehouse/b=
lob/master/docs/api-reference/legacy.rst#upload-api</a> :</div><div dir=3D"=
auto"><br></div><div dir=3D"auto">&gt;=C2=A0The API endpoint served at <a h=
ref=3D"http://upload.pypi.org/legacy/">upload.pypi.org/legacy/</a> is Wareh=
ouse=E2=80=99s emulation of the legacy PyPI upload API. This is the endpoin=
t that tools such as twine use to upload distributions to PyPI.</div><div d=
ir=3D"auto"><br></div><div dir=3D"auto"><a href=3D"https://warehouse.pypa.i=
o/api-reference/legacy/#upload-api">https://warehouse.pypa.io/api-reference=
/legacy/#upload-api</a></div><div dir=3D"auto"><br></div><div dir=3D"auto">=
^^ this page is not in the top-level warehouse TOC</div><div dir=3D"auto"><=
br></div><div dir=3D"auto"><a href=3D"https://warehouse.pypa.io/application=
/#file-and-directory-structure">https://warehouse.pypa.io/application/#file=
-and-directory-structure</a><br></div><div dir=3D"auto"><br></div><div dir=
=3D"auto"><br></div><div dir=3D"auto"><br></div><div dir=3D"auto"><br></div=
></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"=
>On Fri, Aug 7, 2020, 12:34 PM Dustin Ingram &lt;<a href=3D"mailto:di@pytho=
n.org">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
><div dir=3D"ltr">The latter.</div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Fri, Aug 7, 2020 at 4:37 AM Robin Becker &=
lt;<a href=3D"mailto:[email protected]" target=3D"_blank" rel=3D"noreferr=
er">[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,=
204);padding-left:1ex">Because of covid-19 I am working a lot from home so =
my network is likely less robust.<br>
<br>
I was wondering about what happens if I upload with twine to pypi and halfw=
ay through my network fails.<br>
<br>
Is the uploaded filename remembered so I cannot retry when my network comes=
 back?<br>
<br>
Or is the upload somehow atomic so that it has to complete(be checked) befo=
re the file is entered into pypi?<br>
-- <br>
Robin Becker<br>
--<br>
Distutils-SIG mailing list -- <a href=3D"mailto:[email protected]" t=
arget=3D"_blank" rel=3D"noreferrer">[email protected]</a><br>
To unsubscribe send an email to <a href=3D"mailto:distutils-sig-leave@pytho=
n.org" target=3D"_blank" rel=3D"noreferrer">[email protected]<=
/a><br>
<a href=3D"https://mail.python.org/mailman3/lists/distutils-sig.python.org/=
" rel=3D"noreferrer noreferrer" target=3D"_blank">https://mail.python.org/m=
ailman3/lists/distutils-sig.python.org/</a><br>
Message archived at <a href=3D"https://mail.python.org/archives/list/distut=
[email protected]/message/SWHFPMYFVRLGXYRPOCTBQS7FKCUX3MUB/" rel=3D"norefe=
rrer noreferrer" target=3D"_blank">https://mail.python.org/archives/list/di=
[email protected]/message/SWHFPMYFVRLGXYRPOCTBQS7FKCUX3MUB/</a><br>
</blockquote></div>
--<br>
Distutils-SIG mailing list -- <a href=3D"mailto:[email protected]" t=
arget=3D"_blank" rel=3D"noreferrer">[email protected]</a><br>
To unsubscribe send an email to <a href=3D"mailto:distutils-sig-leave@pytho=
n.org" target=3D"_blank" rel=3D"noreferrer">[email protected]<=
/a><br>
<a href=3D"https://mail.python.org/mailman3/lists/distutils-sig.python.org/=
" rel=3D"noreferrer noreferrer" target=3D"_blank">https://mail.python.org/m=
ailman3/lists/distutils-sig.python.org/</a><br>
Message archived at <a href=3D"https://mail.python.org/archives/list/distut=
[email protected]/message/T2ZIWXYADJKOX2D3OVR4EJMT6ENC5E2Y/" rel=3D"norefe=
rrer noreferrer" target=3D"_blank">https://mail.python.org/archives/list/di=
[email protected]/message/T2ZIWXYADJKOX2D3OVR4EJMT6ENC5E2Y/</a><br>
</blockquote></div>

--000000000000f93a5005ac4e3250--

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

--
Distutils-SIG mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at https://mail.python.org/archives/list/[email protected]/message/FTOAM5POWBMI6GDVTOK5WZCENEREYWQ6/

--===============0526517444663150294==--