I'm working through the Python Packaging User Guide and getting ready to create and upload my first Python package. :clap:
Towards the end of the guide we learn that we need to upload our distribution, and twine is the recommended tool for doing that.
It seems awkward that we do everything with setuptools except upload the distribution, which we do with twine.
The divide raises a few questions:
python setup.py upload?The answer to item 2 is no. I'll let Donald answer the rest when he had time
The Readme's Why should I use this? also covers some of the reasons for using it.
@dstufft mentioned merging it with pip is planned here
Right, the README covers twine today, but not its direction. I guess #127 has the answer I'm looking for. Perhaps that should be added to the README for others to discover more easily.
Do we want to add this to the README? Maybe a "future" or "roadmap" section?
https://github.com/pypa/packaging-problems/issues/60 covers the discussion for how to improve the publication UX in general.
While we still recommend it on packaging.python.org, twine is actually less essential when using recent versions of setuptools and distutils, since the original lack of HTTPS certificate validation that twine addressed has also been addressed in the upload commands (the main problems now are with older Linux distros that are still shipping without enforced use of HTTPS and without default certificate validation in place).
Closing this since it was a question and not specific issue report.
This is a documentation bug; reopening.
@bhrutledge it would be great to talk about this on IRC when we co-work in several days.
@brainwane Agreed, though I feel like I don't have much to offer beyond asking "What is the long-term vision for Twine?" I feel like there are lots of folks in the PyPA ecosystem who have opinions informed by their involvement with its various projects.
I think the short answer is that there is no long-term vision for twine except to be a best-in-class uploader as part of the PyPA suite of tools for packaging Python projects.
Does this mean: best-in-class uploader tool or also library?
(thinking of the different positioning of pip, python-build and pep517 for example)
Good question, definitely tool. Possibly also library (ref #194). IMO, vision and strategy is set at a higher level (pypa/packaging-problems, PEPs, distutils-sig) and individual projects focus on implementing that vision. It may be worthwhile for each project to have a roadmap, and I'd welcome one added to the docs.
Most helpful comment
https://github.com/pypa/packaging-problems/issues/60 covers the discussion for how to improve the publication UX in general.
While we still recommend it on packaging.python.org, twine is actually less essential when using recent versions of
setuptoolsanddistutils, since the original lack of HTTPS certificate validation thattwineaddressed has also been addressed in theuploadcommands (the main problems now are with older Linux distros that are still shipping without enforced use of HTTPS and without default certificate validation in place).