python@3.9 (disabled)

Install command:
brew install python@3.9

Interpreted, interactive, object-oriented programming language

https://www.python.org/

License: Python-2.0

Development: Pull requests

Formula JSON API: /api/formula/python@3.9.json

Formula code: python@3.9.rb on GitHub

Bottle (binary package) installation support provided for:

macOS on
Apple Silicon
golden gate ✅
tahoe ✅
sequoia ✅
sonoma ✅
macOS on
Intel
sonoma ✅
Linux ARM64 ✅
x86_64 ✅

Current versions:

stable ✅ 3.9.25

Other versions:

python@3.15 3.15.2 Interpreted, interactive, object-oriented programming language
python@3.14 3.14.10 Interpreted, interactive, object-oriented programming language
python@3.13 3.13.18 Interpreted, interactive, object-oriented programming language
python@3.12 3.12.16 Interpreted, interactive, object-oriented programming language
python@3.11 3.11.18 Interpreted, interactive, object-oriented programming language
python@3.10 3.10.22 Interpreted, interactive, object-oriented programming language

Patches:

https://www.bytereef.org/contrib/decimal.diff

Depends on:

gdbm 1.26 GNU database manager
mpdecimal 4.0.1 Library for decimal floating point arithmetic
openssl@3 3.5.9 Cryptography and SSL/TLS Toolkit
readline 8.3.6 Library for command-line editing
sqlite 3.54.1 Command-line interface for SQLite
xz 5.8.4 General-purpose data compression with high compression ratio

Depends on when building from source:

pkgconf 3.0.10 Package compiler and linker metadata toolkit

Uses from macOS: bzip2, expat, libffi, libxcrypt, ncurses, unzip

Binaries: 2to3-3.9, idle3.9, pydoc3.9, python3.9, python3.9-config

Python is installed as
    $HOMEBREW_PREFIX/bin/python3.9

Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to
`python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into
    $HOMEBREW_PREFIX/opt/python@3.9/libexec/bin

You can install Python packages with
    pip3.9 install <package>
They will install into the site-package directory
    $HOMEBREW_PREFIX/lib/python3.9/site-packages

`idle3.9` requires tkinter, which is available separately:
    brew install python-tk@3.9

If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH:
    brew install python3

See: https://docs.brew.sh/Homebrew-and-Python

GitHub Packages downloads:

Last 30 days24,828
Downloads52,405,549
Analytics install events (30 days)2,939
Downloads / install events (30 days)8.5×

Source: GitHub Packages, fetched 2026-11-03T00:41:06Z. Analytics dates: 2026-10-04 to 2026-11-03. Totals exclude downloads from Bintray before the migration to GitHub Packages. Downloads and install attempts measure different things; the difference does not count analytics opt-outs. Definitions and limitations.

Analytics:

30 days90 days365 days
Installs2,9379,387108,691
Installs (--HEAD)29122
Installs on Request2,6318,751103,509
Installs on Request (--HEAD)29122
Build Errors3

Known vulnerabilities in the current version:

GHSA-qwm4-qh6w-59xr pip would incorrectly handle doubly-encoded package URLs from indexes
GHSA-6vgw-5pg2-w6jp pip Path Traversal vulnerability
GHSA-8rrh-rw8j-w5fx (high) Wheel Affected by Arbitrary File Permission Modification via Path Traversal in wheel unpack
GHSA-58qw-9mgm-455v pip has an interpretation conflict due to handling both concatenated tar and ZIP files as ZIP files
GHSA-h35f-9h28-mq5c (medium) setuptools: MANIFEST.in exclusion bypass in sdist via Unicode normalization collision (NFC/NFD) o...
GHSA-jp4c-xjxw-mgf9 pip Vulnerable to Inclusion of Functionality from Untrusted Control Sphere
GHSA-wf93-45jw-7689 (high) pip: Path traversal in console_scripts/gui_scripts entry point names allows installing scripts o...
GHSA-xmj3-9gf7-h52w setuptools: Windows path escape via namespace_packages.txt during legacy wheel installation Desc...

Data from Homebrew/advisory-database. Run brew vulns python@3.9 for a live check.