twine3
utility for interacting with PyPI
Install
- All systems
-
curl cmd.cat/twine3.sh
- Debian
-
apt-get install twine
- Ubuntu
-
apt-get install twine
- Arch Linux
-
pacman -S twine
- 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
- Dockerfile
- dockerfile.run/twine3
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).