Twine: Document the long-term vision for twine

Created on 7 Dec 2015  路  13Comments  路  Source: pypa/twine

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:

  • What is the long-term vision for twine?
  • Will it somehow be merged in to setuptools and become python setup.py upload?
  • Is it meant to co-exist with setuptools for the long-term?
question

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 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).

All 13 comments

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.

127 suggests that Twine will be merged into pip at some point after Warehouse goes live, which happened earlier this year.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jonathanunderwood picture jonathanunderwood  路  5Comments

brainwane picture brainwane  路  10Comments

shivam-kotwalia picture shivam-kotwalia  路  4Comments

sigmavirus24 picture sigmavirus24  路  8Comments

sigmavirus24 picture sigmavirus24  路  3Comments