[Distutils]Re: pypi/twine complains about license
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
> 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
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
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
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
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/