[Distutils]Re: pypi/twine complains about license

2018-07-11 Thread Thomas Kluyver
On Wed, Jul 11, 2018, at 7:32 PM, Chris Jerdonek wrote:
> And yet you can see "License: ReportLab BSD Derived" in the left-hand
> column under "Meta," so how did it get there? Did PyPI previously fall
> back to including the "License" classifier value as is (even if
> invalid) if no "license" field was present? Here's the project's
> setup(), which doesn't seem to have changed since 2013:
You used to be able to edit a release's metadata manually in a web form;
possibly the license was added that way.
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/WZW52GQLGQ3XC4UDQO7P3FTD4ERH4H33/


[Distutils]Re: pypi/twine complains about license

2018-07-11 Thread Donald Stufft

> On Jul 11, 2018, at 12:37 PM, Nathaniel Smith  wrote:
> 
> Possibly PyPI is noticing that the file you're trying to upload is identical 
> to the one that's already there and counting that as a "successful upload"?


Yes, if you try to upload the same file twice (same as in, the hashes match and 
everything), PyPI just no-ops the upload and treats it as successful. This 
makes uploading idempotent, and you can retry uploads of multiple files without 
having to worry about cases where 1 file was successful and 1 file wasn’t, and 
only retrying the unsuccessful ones.--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/HV6LRFBY7BQOSW52LK3LLHBFACNZTB3U/


[Distutils]Re: pypi/twine complains about license

2018-07-11 Thread Nathaniel Smith
PyPI is not the license police. You can specify any license you like in the
dedicated, free-form text, "license" field.

That's the "license" field. But, PyPI does require that values in the
"classifiers" field have to be taken from a known set. Among other things,
this prevents typos, and prevents people making up different names for the
same thing, which would defeat the purpose of classifier-based searching.
This isn't a new thing; old PyPI did the same thing.

The list of legal classifiers is stored inside the PyPI database. New ones
are added from time to time on request.

I don't know why you're having this experience of a classifier you think
used to be supported no longer being supported. You say the license field
is the same as on previous uploads. But the license field isn't the issue
here. Is the classifiers field also the same?

I believe there is no longer any manual upload mechanism – or rather, twine
is the manual upload mechanism :-).

I'm not sure what's going on with uploading the same file repeatedly
without error – that seems weird. But I know in general that PyPI is very
strict about making sure that once a file is uploaded, it never changes. So
I don't think there's any risk of that. Possibly PyPI is noticing that the
file you're trying to upload is identical to the one that's already there
and counting that as a "successful upload"?

On Wed, Jul 11, 2018, 09:15 Robin Becker  wrote:

> After release of Python-3.7 I wanted to upload to pypi a newly built
> version of a C-extension which already has been migrated to
> the new site.
>
>
> $ twine --version
> twine version 1.11.0 (pkginfo: 1.4.2, requests: 2.18.1, setuptools: 36.2.0,
> requests-toolbelt: 0.8.0, tqdm: 4.14.0)
> $ twine upload *.whl
> Uploading distributions to https://upload.pypi.org/legacy/
> Uploading pyRXP-2.1.1-cp37-cp37m-manylinux1_i686.whl
> 100%||
> 104K/104K [00:00<00:00,
> 141KB/s]
> HTTPError: 400 Client Error: Invalid value for classifiers. Error:
> 'License :: OSI Approved :: ReportLab BSD derived' is not a
> valid choice for this field for url: https://upload.pypi.org/legacy/
>
> 1) I think it is completely wrong for twine/pypi to fail to upload because
> of the license field. The license is derived from BSD
> and the same string is present in the previously uploaded versions of this
> package. What are valid licenses? Presumably pypi is
> now a gatekeeper for the license police.
>
> 2) I looked in vain on the new pypi.org site for a manual upload
> mechanism. Is this now frowned on?
>
> 3) I was able to upload the same package several times without error; does
> this mean I am overwriting the file?
> --
> Robin Becker
> --
> Distutils-SIG mailing list -- distutils-sig@python.org
> To unsubscribe send an email to distutils-sig-le...@python.org
> https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
> Message archived at
> https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/RAFVT2Z23NZOAVURYKRASZTBWEGWSUDI/
>
>
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/JWB2NZQ5KQD66ROPSNMKFRRY6RP7XUTU/


[Distutils]Re: pypi/twine complains about license

2018-07-11 Thread Ian Stapleton Cordasco
Hi there Robin,

I'm going to try to reply in-line.

Sent from my phone with my typo-happy thumbs.

On Wed, Jul 11, 2018, 11:17 Robin Becker  wrote:

> After release of Python-3.7 I wanted to upload to pypi a newly built
> version of a C-extension which already has been migrated to
> the new site.
>
>
> $ twine --version
> twine version 1.11.0 (pkginfo: 1.4.2, requests: 2.18.1, setuptools: 36.2.0,
> requests-toolbelt: 0.8.0, tqdm: 4.14.0)
> $ twine upload *.whl
> Uploading distributions to https://upload.pypi.org/legacy/
> Uploading pyRXP-2.1.1-cp37-cp37m-manylinux1_i686.whl
> 100%||
> 104K/104K [00:00<00:00,
> 141KB/s]
> HTTPError: 400 Client Error: Invalid value for classifiers. Error:
> 'License :: OSI Approved :: ReportLab BSD derived' is not a
> valid choice for this field for url: https://upload.pypi.org/legacy/


This indicates that you're using a classifier which isn't actually
registered. That causes the upload to be rejected. It is equivalent to
trying to use a classifier that might claim support for Python 2.8


>
> 1) I think it is completely wrong for twine/pypi to fail to upload because
> of the license field. The license is derived from BSD
> and the same string is present in the previously uploaded versions of this
> package. What are valid licenses? Presumably pypi is
> now a gatekeeper for the license police.
>

This seems harmfully rude and presumptive. I've explained the problem
you're encountering above. Please assume the best going forward


>
> 2) I looked in vain on the new pypi.org site for a manual upload
> mechanism. Is this now frowned on?
>

I'm not sure why a manual upload would be preferable here.


> 3) I was able to upload the same package several times without error; does
> this mean I am overwriting the file?
>

This seems unrelated and there's no information here to explain the
question. Given that a file can not be deleted and re-uploaded to PyPI I'm
guessing that you uploaded it once successfully and continue to run the
same command. PyPI is ignoring those most likely or you're using twine's
--skip-existing flag which allows uploads of more than one file to continue
even if some are already uploaded

-- 
> Robin Becker
> --
> Distutils-SIG mailing list -- distutils-sig@python.org
> To unsubscribe send an email to distutils-sig-le...@python.org
> https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
> Message archived at
> https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/RAFVT2Z23NZOAVURYKRASZTBWEGWSUDI/
>
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/HUPYQWS4M6VGBUR2WW2IOR57642XCVG3/


[Distutils]Re: pypi/twine complains about license

2018-07-11 Thread Paul G
I think the issue here is not your use of the "license" field (though using the 
classifier-like syntax there is dubious), but the fact that you are specifying 
an invalid classifier. The valid classifiers are enumerated, you can find them 
here: https://pypi.org/classifiers/

I think the classifier you want is `License :: Other/Proprietary License`, but 
you can choose the most appropriate one from the list.

On 07/11/2018 12:14 PM, Robin Becker wrote:
> After release of Python-3.7 I wanted to upload to pypi a newly built version 
> of a C-extension which already has been migrated to the new site.
> 
> 
> $ twine --version
> twine version 1.11.0 (pkginfo: 1.4.2, requests: 2.18.1, setuptools: 36.2.0,
> requests-toolbelt: 0.8.0, tqdm: 4.14.0)
> $ twine upload *.whl
> Uploading distributions to https://upload.pypi.org/legacy/
> Uploading pyRXP-2.1.1-cp37-cp37m-manylinux1_i686.whl
> 100%||
>  104K/104K [00:00<00:00, 141KB/s]
> HTTPError: 400 Client Error: Invalid value for classifiers. Error: 'License 
> :: OSI Approved :: ReportLab BSD derived' is not a valid choice for this 
> field for url: https://upload.pypi.org/legacy/
> 
> 1) I think it is completely wrong for twine/pypi to fail to upload because of 
> the license field. The license is derived from BSD and the same string is 
> present in the previously uploaded versions of this package. What are valid 
> licenses? Presumably pypi is now a gatekeeper for the license police.
> 
> 2) I looked in vain on the new pypi.org site for a manual upload mechanism. 
> Is this now frowned on?
> 
> 3) I was able to upload the same package several times without error; does 
> this mean I am overwriting the file?



signature.asc
Description: OpenPGP digital signature
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/NVLEABMS6DT3TGKBPXLI7OKGA4NCFSKK/


[Distutils]pypi/twine complains about license

2018-07-11 Thread Robin Becker
After release of Python-3.7 I wanted to upload to pypi a newly built version of a C-extension which already has been migrated to 
the new site.



$ twine --version
twine version 1.11.0 (pkginfo: 1.4.2, requests: 2.18.1, setuptools: 36.2.0,
requests-toolbelt: 0.8.0, tqdm: 4.14.0)
$ twine upload *.whl
Uploading distributions to https://upload.pypi.org/legacy/
Uploading pyRXP-2.1.1-cp37-cp37m-manylinux1_i686.whl
100%|| 104K/104K [00:00<00:00, 
141KB/s]
HTTPError: 400 Client Error: Invalid value for classifiers. Error: 'License :: OSI Approved :: ReportLab BSD derived' is not a 
valid choice for this field for url: https://upload.pypi.org/legacy/


1) I think it is completely wrong for twine/pypi to fail to upload because of the license field. The license is derived from BSD 
and the same string is present in the previously uploaded versions of this package. What are valid licenses? Presumably pypi is 
now a gatekeeper for the license police.


2) I looked in vain on the new pypi.org site for a manual upload mechanism. Is 
this now frowned on?

3) I was able to upload the same package several times without error; does this 
mean I am overwriting the file?
--
Robin Becker
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/mm3/archives/list/distutils-sig@python.org/message/RAFVT2Z23NZOAVURYKRASZTBWEGWSUDI/