EVERYTHING XIAOMI
Get listed

Twine

Twine is a free tool for publishing Python packages to PyPI and other repositories.

Place
#9 of 27
Score
6.5
Twine's website

What Twine is

Twine is a free tool for publishing Python packages to PyPI and other repositories. It uploads source and binary distribution files that have already been built, so the upload process does not require it to run setup.py. It supports packaging formats including wheels and can publish to PyPI, TestPyPI, and other configured repositories. Its check command assesses whether a distribution's long description will render correctly on PyPI. Twine authenticates to PyPI over a verified HTTPS connection, supports GPG signing, and can upload files signed in advance. Repository settings can come from a .pypirc file, command-line options, or environment variables, including for CI or build servers. It can store repository credentials with keyring, though headless Linux systems may need additional setup to store secrets securely. Twine supports Linux, macOS, and Windows, requires Python 3.10 or later, and is licensed under Apache-2.0. It supports private registry publishing but does not provide lockfile support, environment management, or dependency groups.

Good

  • Uploads built packages without running setup.py.
  • Supports wheels and other packaging formats.
  • Checks long-description rendering for PyPI.
  • Supports GPG signing and pre-signed files.
  • Free and supports Linux, macOS, and Windows.

Watch out

  • Requires Python 3.10 or later.
  • Headless Linux may need extra keyring setup.
  • Does not provide lockfile support or environment management.
  • Does not provide dependency groups.

Who it suits

Twine suits developers who need to upload already-built Python distributions to public or private package repositories. It is particularly relevant when publishing from CI or build servers using environment-variable configuration.

Verdict

Twine focuses on publishing and checking Python distributions rather than managing build environments or dependencies. Its built-file workflow and repository configuration options suit developers preparing package releases.

Plans and prices

From Twine's own pricing page, checked 8 Oct 2026.

All about pricing
PlanPriceWhat it gives you
TwineFreeApache-2.0 · Python >=3.10

The facts

Each one read from Twine's own pages, with the date it was checked.

What it does

Automation
The documentation notes that environment-variable configuration can be useful on CI or build servers.checked 7 Oct 2026
Build independence
Twine uploads already-built distribution files without requiring it to run setup.py.checked 7 Oct 2026
Build workflow
Twine uploads files that have already been created, so distributions can be tested before release without executing setup.py during upload.checked 8 Oct 2026
Configuration
Repository settings can be supplied through a .pypirc file, command-line options, or environment variables.checked 8 Oct 2026
Credential storage
Twine supports storing repository usernames and passwords securely using keyring.checked 8 Oct 2026
Distribution checks
The twine check command checks whether a distribution’s long description will render correctly on PyPI.checked 7 Oct 2026
File signing
Twine supports signing uploads with GPG and can upload pre-signed .asc files.checked 8 Oct 2026
Intended users
PyPI classifies Twine’s intended audience as developers.checked 8 Oct 2026
Keyring limitation
The documentation says keyring may require additional setup on some systems, especially Linux headless environments.checked 8 Oct 2026
License
The package is licensed under Apache-2.0.checked 8 Oct 2026
Package checks
The twine check command checks whether a distribution’s long description will render correctly on PyPI.checked 8 Oct 2026
Package formats
Twine supports any packaging format, including wheels.checked 7 Oct 2026
Package uploads
It uploads source and binary distribution files independently of the build system.checked 8 Oct 2026
Purpose
Twine is a utility for publishing Python packages to PyPI and other repositories.checked 8 Oct 2026
Repositories
Twine documentation shows uploading to PyPI, Test PyPI, and other package indexes configured by repository name or URL.checked 8 Oct 2026
Runtime requirement
The package requires Python 3.10 or later.checked 8 Oct 2026
Secure connection
Twine authenticates to PyPI over HTTPS using a verified connection.checked 8 Oct 2026
Security
The documentation says Twine authenticates to PyPI over HTTPS using a verified connection.checked 7 Oct 2026
Signing
Twine supports signing files with GPG and uploading files that were signed in advance.checked 7 Oct 2026
Supported formats
Twine supports uploading any packaging format, including wheels.checked 8 Oct 2026
Supported operating systems
The PyPI project page lists macOS, Windows, and POSIX/Linux among its operating-system classifiers.checked 7 Oct 2026

Alternatives to Twine

All alternatives
  1. 1ActiveState Platform logo

    ActiveState Platform

    Free planWebAPILinuxmacOS
    7.2Free plan
  2. 2

    Mamba

    Free planAPILinuxmacOSSelf-hosted
    6.9Free plan
  3. 3

    Pixi

    Free planLinuxmacOSWindows
    6.9From €42 a month
  4. 4

    pip

    Free planLinuxmacOSWindows
    6.8Free plan
  5. 5uv logo

    uv

    Free planLinuxmacOSWindows
    6.8Free plan
  6. 6

    Hatch

    Free planLinuxmacOSWindows
    6.6Free plan