Automic VaultAutomic Vault

brew

Install twine with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, winget

Utilities for interacting with PyPI. Version 6.2.0 via Homebrew; verified 2026-05-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install twine

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install twine

MacPorts ports tree · python/twine/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add twine

Alpine Linux edge package indexes · twine · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install twine

Debian stable package indexes · twine · source: deb.debian.org

Fedora dnfverified · 92%
sudo dnf install twine

Fedora Rawhide package metadata · twine · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#twine

nixpkgs package indexes · twine · source: raw.githubusercontent.com

Arch Linux pacmanverified · 92%
sudo pacman -S twine

Arch Linux sync databases · twine · source: geo.mirror.pkgbuild.com

Windows

Scoopverified · 92%
scoop install extras/twine

Scoop official bucket manifest trees · bucket/twine.json · source: api.github.com

Windows Package Managerverified · 92%
winget install --id ChrisKlimas.Twine -e

Windows Package Manager source index · ChrisKlimas.Twine · source: cdn.winget.microsoft.com

overview

Package summary

Utilities for interacting with PyPI

Commands and aliases

  • twine

history

Project history and usage

Twine is the Python Packaging Authority's command-line utility for uploading Python distribution artifacts to PyPI and compatible repositories. It became the standard small tool between `python -m build` and a public package release.

Project history

Twine was created to separate package building from package uploading and to make PyPI uploads safer and more testable. Its documentation contrasts it with `python setup.py upload`, emphasizing verified HTTPS, uploading already-built artifacts, and support for wheels and source distributions.

The changelog records a long-running 1.x series through the 2010s, a 2.0 release in 2019 that required Python 3.6 or later, 3.x releases that improved non-interactive and keyring behavior, and modern 5.x/6.x work around metadata validation, PyPI token handling, trusted publishing, and removal of older distribution formats.

Adoption history

Twine's adoption tracks the modernization of Python packaging. As PyPI, Warehouse, wheels, API tokens, and build-system-independent packaging became normal, Twine became the familiar upload command in release checklists, CI jobs, and packaging tutorials.

Its package-manager presence is broad: the input facts show it packaged by Homebrew, Debian, Ubuntu, Fedora/dnf, Arch/pacman, MacPorts, Nix, Scoop, and other ecosystems. That breadth reflects its role as infrastructure for publishing other packages, not as an end-user application.

How it is used

The standard workflow is to build distributions, test against TestPyPI if needed, and run `twine upload dist/*`. Twine can read repository and credential information from `.pypirc` or environment variables, prompt interactively, and upload source distributions, wheels, signatures, and newer attestations depending on version.

Package maintainers also use `twine check` to validate distribution metadata and README rendering before upload. In CI, Twine is commonly configured with tokens, trusted publishing, or repository URLs for private Python indexes.

Why package nerds care

Twine is package-nerd infrastructure in the purest sense: it exists so other packages can be published predictably. It codified the split between build artifacts and upload transport, which made Python release automation easier to audit and script.

It also captures the Python ecosystem's security migration: away from legacy `setup.py upload` workflows and toward HTTPS, API tokens, keyring integration, metadata validation, and trusted publishing.

Timeline

  • 2010s: Twine 1.x establishes the build-then-upload PyPI workflow.
  • 2019-09-24: Twine 2.0.0 requires Python 3.6 or later.
  • 2019-2022: Twine 3.x and 4.x improve authentication, non-interactive use, metadata handling, and modern Python support.
  • 2024-2025: Twine 5.x and 6.x remove older formats and add work around token defaults, trusted publishing, and refreshed short-lived tokens.

Related projects

  • PyPI and Warehouse are Twine's primary public upload targets.
  • `python -m build`, setuptools, wheels, and source distributions form the artifact side of the workflow Twine uploads.
  • The Python Packaging User Guide and PyPA recommendations helped make Twine part of standard Python release practice.

Sources

  • Official GitHub repository: https://github.com/pypa/twine
  • Official changelog: https://twine.readthedocs.io/en/stable/changelog.html
  • Official documentation: https://twine.readthedocs.io/en/stable/
  • PyPI project page: https://pypi.org/project/twine/

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for twine. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 2 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.pypirc

Credential files

Credential-bearing paths to review before unattended agent runs.

Unix
~/.pypirc

executables

Installed executables

CommandKindExposureNote
twinecliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version6.2.0
manager updated2026-05-15
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/pypa/twine

install metadata

Package metadata

Package keybrew:twine
Version6.2.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/twine
Homepagehttps://github.com/pypa/twine
Repositoryhttps://github.com/pypa/twine
Upstream docshttps://twine.readthedocs.io/en/stable
LicenseApache-2.0
Source archivehttps://files.pythonhosted.org/packages/e0/a8/949edebe3a82774c1ec34f637f5dd82d1cf22c25e963b7d63771083bbee5/twine-6.2.0.tar.gz
Last updated2026-05-15T11:13:54Z
Pulseupdated
Dependenciescertifi, python@3.14
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nametwine
Version Scheme0
Revision6
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

twine 6.1.0-1

utility for interacting with PyPI

https://github.com/pypa/twine

sudo apt install twine
  • Section: utils
  • Architecture: all
  • 12 dependencies
  • 1 optional deps
  • normalized package name match
  • Matched by: Twine
Debian stable package indexes · deb.debian.org · Debian stable package indexes: twine from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

twine

nix profile install nixpkgs#twine
  • normalized package name match
  • Matched by: Twine
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: twine from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

twine 5.0.0-1

utility for interacting with PyPI

https://github.com/pypa/twine

sudo apt install twine
  • Section: universe/utils
  • Architecture: all
  • 11 dependencies
  • normalized package name match
  • Matched by: Twine
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: twine from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

twine 6.1.0-r1

Collection of utilities for publishing packages on PyPI

https://twine.readthedocs.io/en/latest/

sudo apk add twine
  • License: Apache-2.0
  • Architecture: x86_64
  • Source Package: twine
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Twine
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: twine from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

twine-pyc 6.1.0-r1

Precompiled Python bytecode for twine

https://twine.readthedocs.io/en/latest/

sudo apk add twine-pyc
  • License: Apache-2.0
  • Architecture: x86_64
  • Source Package: twine
  • 1 dependencies
  • normalized package name match
  • Matched by: Twine
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: twine-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

twine 6.2.0-7.fc45

Twine is a utility for publishing Python packages on PyPI

https://github.com/pypa/twine

sudo dnf install twine
  • License: Apache-2.0
  • Category: Unspecified
  • Architecture: noarch
  • Source Package: python-twine
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Twine
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: twine from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
pacman95%

twine 6.2.0-3

Collection of utilities for interacting with PyPI

https://github.com/pypa/twine/

sudo pacman -S twine
  • License: Apache-2.0
  • Architecture: any
  • 11 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Twine
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: twine from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

twine

sudo port install twine
  • normalized package name match
  • Matched by: Twine
MacPorts ports tree · api.github.com · MacPorts ports tree: python/twine/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Scoop95%

extras/twine

scoop install extras/twine
  • normalized package name match
  • Matched by: Twine
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/twine.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1
winget95%

ChrisKlimas.Twine

winget install --id ChrisKlimas.Twine -e
  • normalized package name match
  • Matched by: Twine
Windows Package Manager source index · cdn.winget.microsoft.com · Windows Package Manager source index: ChrisKlimas.Twine from https://cdn.winget.microsoft.com/cache/source.msix

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment