twine(1)

twine1

Client to do uploads on pypi.

Usage

twine [-h] [--version] [--no-color] [<command>] [args]

Overview

This command is commonly used to upload python modules on pypi.org or compatible repositories.

Notes on pypi.org

This command can be used on multiple repositories. However the default is to use pypi.org, and since it is probably the most common use case, this section is dedicated to its otherwise undocumented quirks.

Upload via token

Username and password uploads are no longer supported on pypi.org.
To upload authenticating with a token, the command looks like this:
twine upload --username __token__ --password `cat .token` dist/

Scope limited token

Tokens can be obtained from the website of pypi.org.
To create a token that is limited to a project that doesn't yet exist, a global token must be created, used to do the first upload of the project, then deleted from the website. At that point it will be possible to generate a token that has the scope of that project.

Signing

Signing is not allowed on pypi.org.
Uploads that are signed are greeted by a warning email. The signature files are dropped. In the future they might cause the upload to fail.

Environment

The following environment variables can be used instead of command line options.

TWINE_USERNAME
TWINE_PASSWORD
TWINE_REPOSITORY_URL
TWINE_REPOSITORY
TWINE_CERT
TWINE_NON_INTERACTIVE

Releases

6 releases since Debian 8 (Jessie); the text changed 5 times.

  1. 8
  2. 9
  3. 10
  4. 11
  5. 12
  6. 13

Author

This manual page was written for Debian by Salvo 'LtWorf' Tomaselli <[email protected]>, but may freely be used by others.

From twine 6.1.0-1 in Debian 13 (Trixie). Parsed by carta from the page's man source.