twine3

utility for interacting with PyPI

Install

All systems
curl cmd.cat/twine3.sh
Debian Debian
apt-get install twine
Ubuntu
apt-get install twine
Arch Arch Linux
pacman -S twine
image/svg+xml Kali Linux
apt-get install twine
Fedora
dnf install twine
Windows (WSL2)
sudo apt-get update sudo apt-get install twine
Raspbian
apt-get install twine

twine

utility for interacting with PyPI

Twine is a tool for uploading distributions (in the Python meaning) to PyPi. Why should twine be used over the traditional approach? The biggest reason to use twine is that python setup.py upload uploads files over plaintext. This means anytime you use it you expose your username and password to a MITM attack. Twine uses only verified TLS to upload to PyPI protecting your credentials from theft. Secondly it allows you to precreate your distribution files. python setup.py upload only allows you to upload something that you’ve created in the same command invocation. This means that you cannot test the exact file you’re going to upload to PyPI to ensure that it works before uploading it. Finally it allows you to pre-sign your files and pass the .asc files into the command line invocation (twine upload twine-1.0.1.tar.gz twine-1.0.1.tar.gz.asc). This enables you to be assured that you’re typing your gpg passphrase into gpg itself and not anything else since you will be the one directly executing gpg --detach-sign -a <filename>. Features: - Verified HTTPS Connections - Uploading doesn’t require executing setup.py - Uploading files that have already been created, allowing testing of distributions before release - Supports uploading any packaging format (including wheels).