Python · Lifecycle Status

Python End of Life (EOL) Dates & Support Timeline

Complete end-of-life dates, support windows, and security status for all Python versions. Data from endoflife.date, checked against the vendor's own lifecycle pages where we have read them (share on /accuracy). Updated at every deploy.

✓ Python 3.15.2 is actively supported. Next EOL: version 3.11 in October 2027.

Python 3.15 is supported until October 2031, its end-of-support date. The next Python version to reach end of life is 3.11, in October 2027. 13 of 18 tracked Python versions are past end of life; the most recent to reach it, 3.10, did so on October 1, 2026. The full Python lifecycle, with every version's release and end-of-support date, is in the table below.

Running an EOL version? Get matched with support options — free ↓
📅 Get reminded before Python 3.11 reaches EOL in October 2027 — alerts 90, 30 & 7 days out.
Google → Subscribe to all dates
Subscribe keeps every Python end date in your calendar and updates itself. Calendar URL: https://endoflife.ai/calendar/python.ics
✉️ Or get it by email — alerts at 90 / 60 / 30 / 7 days and on the day: Free · one-click unsubscribe in every email · no other mail, ever
Latest Active
3.15.2
3.15 series
Next EOL
3.11
Oct 2027
Active Versions
5
of 18 total
EOL Versions
13
no longer patched
55 / 100
High Risk
EOL Risk Score™  How is this calculated? →
EOL Recency
25/40
Attack Surface
30/30 Critical tier
CISA KEV Exposure
0/20 Not in KEV
Extended Support
0/10 Available
EOL Risk Score™ — proprietary methodology by endoflife.ai. Factors: EOL recency, attack surface breadth, CISA KEV catalog presence, extended support availability. Updated at every build. Methodology →
CPE Identifier
cpe:2.3:a:python:python
The Common Platform Enumeration name vulnerability scanners and CVE records use for Python. Verified against the NIST CPE dictionary. Machine-readable for all products: cpe-map.json
Package URLs (purl)
pkg:generic/python
pkg:deb/ubuntu/python
pkg:deb/ubuntu/python3.15
pkg:deb/ubuntu/python3.14
pkg:deb/ubuntu/python3.13
pkg:deb/ubuntu/python3.12
pkg:deb/ubuntu/python3.11
pkg:deb/ubuntu/python3.10
+ 64 more in purl-map.json
The package URL identifiers SBOM tools emit for Python, so a CycloneDX or SPDX component resolves to this page by exact identifier rather than by name. Machine-readable for all products: purl-map.json; whole-SBOM checks: POST /v1/sbom or the Stack Scanner.
Release Cycle Timeline
■ EOL   ■ Warning   ■ Active   ┊ Today
Release cycle timeline 200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312.63.03.12.73.23.33.43.53.63.73.83.93.103.113.123.133.143.15TODAY
13 versions of Python are past end of life — security patches have stopped. Get matched with support →
All Versions
VersionLatest ReleaseRelease DateEOL DateDaysStatus
2.6 2.6.9 Oct 1, 2008 Oct 29, 2013 4759 days past EOL EOL
3.0 3.0.1 Dec 3, 2008 Jun 27, 2009 6344 days past EOL EOL
3.1 3.1.5 Jun 27, 2009 Apr 9, 2012 5327 days past EOL EOL
2.7 2.7.18 Jul 3, 2010 Jan 1, 2020 2504 days past EOL EOL
3.2 3.2.6 Feb 20, 2011 Feb 20, 2016 3915 days past EOL EOL
3.3 3.3.7 Sep 29, 2012 Sep 29, 2017 3328 days past EOL EOL
3.4 3.4.10 Mar 16, 2014 Mar 18, 2019 2793 days past EOL EOL
3.5 3.5.10 Sep 13, 2015 Sep 30, 2020 2231 days past EOL EOL
3.6 3.6.15 Dec 23, 2016 Dec 23, 2021 1782 days past EOL EOL
3.7 3.7.17 Jun 27, 2018 Jun 27, 2023 1231 days past EOL EOL
3.8 3.8.20 Oct 14, 2019 Oct 7, 2024 763 days past EOL EOL
3.9 3.9.25 Oct 5, 2020 Oct 31, 2025 374 days past EOL EOL
3.10 3.10.22 Oct 4, 2021 Oct 1, 2026 39 days past EOL EOL
3.11 3.11.18 Oct 24, 2022 Oct 2027 EOL in October 2027 Active
3.12 3.12.16 Oct 2, 2023 Oct 2028 EOL in October 2028 Active
3.13 3.13.18 Oct 7, 2024 Oct 2029 EOL in October 2029 Active
3.14 3.14.10 Oct 7, 2025 Oct 2030 EOL in October 2030 Active
3.15 3.15.2 Oct 9, 2026 Oct 2031 EOL in October 2031 Active
Spotted a date that disagrees with the vendor's own lifecycle page? Report it with the vendor's link → Every correction is published on the accuracy page.
Python EOL status badge Live EOL badge for your README — updates automatically at every build. [![Python EOL](https://img.shields.io/endpoint?url=https%3A%2F%2Fendoflife.ai%2Fbadge%2Fpython.json)](https://endoflife.ai/python)

Python release and support pattern

Across the 18 release lines with a published release date, Python has shipped a new line roughly every 1 year (median interval). A line typically stays supported for about 5 years from its release to its end-of-life date.

Of the 18 release lines tracked, 13 are past end of life and 5 are still within support. The newest line, 3.15, was released October 9, 2026. The next scheduled end of life is 3.11 in October 2027 (the vendor names the month only). The longest-supported line currently published is 3.15, to October 2031.

Computed from the tracked release data at every build — the figures above are the dates in the table, restated, not an editorial estimate.

What does Python end of life mean for your organization?

When a version of Python reaches end of life, the maintainers stop issuing security patches. Vulnerabilities discovered after this date are publicly disclosed on the National Vulnerability Database, exploit code appears on GitHub, and your systems remain permanently exposed.

The CVE blind spot: A CVE-based scan does not show the accumulation of unpatched vulnerabilities in EOL software. Some scanners flag unsupported versions of common products, but coverage varies, and none of them give you the date in advance. With a zero-day, nobody knows about the vulnerability. With EOL software, the vulnerability is public — listed, rated, and often weaponized — but no vendor patch is coming. This is one of the most dangerous gaps in enterprise security posture.

Organizations running EOL Python should treat it as a vulnerability class in their risk register, apply compensating controls (network segmentation, enhanced monitoring, access restriction), and prioritize migration to a supported version.

Your options when Python reaches end of life

There are four realistic paths. Which one is right depends far more on how long the system needs to keep running than on the version you are on today.

OptionBest whenWatch out for
Move to a supported version The system will outlive the current version's support window and you can schedule the work Budget for compatibility testing, not just the upgrade itself — that is where the real cost sits
Replace the component The project is unmaintained, or a better-supported alternative exists The replacement has its own lifecycle and its own end-of-life date — you are changing vendors, not escaping the problem
Buy extended support Migration is genuinely underway but cannot finish before the deadline, or the workload is frozen by certification or a third-party application A bridge, not a destination — every year purchased is a year the migration still has to happen
Document accepted risk The system is isolated, short-lived, or scheduled for retirement Only defensible with real compensating controls and a written decision — auditors treat undocumented end-of-life software as a finding

How to choose, in one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support purchased repeatedly costs more than doing the project once, and the project only gets harder as the version ages. Indefinitely, migrate now and plan the next migration before it surprises you.

Worth saying plainly, because vendors selling extended support rarely will: extended support is often the more expensive choice over a multi-year horizon. It is the right answer when a deadline is genuinely unreachable, not as a default. Compare the annual fee against the one-time cost of migrating before committing to either.

Formalizing decisions like this across your estate? Our free EOL policy template is a ready-to-adopt policy with risk tiers, remediation SLAs, and audit mapping — no signup, free to use and share.

Extended Support Options

If you cannot migrate immediately, check whether the vendor or a third party sells extended support with security patches for your Python version; coverage varies by product and version. Where it exists it is a bridge, not a permanent solution — plan your migration in parallel.

endoflife.ai
Get Python Support Options

Python has 13 versions past end of life — security patches have stopped, but CVE disclosures haven't. Extended support past the official date exists for many products in this position — whether it exists for Python is exactly what we check. Tell us where to reach you and we'll reply with matched options and pricing guidance — or an honest "no vendor covers this."

Free · No obligation · Independent — we track the dates, vendors don't pay for placement · Dates verified against vendor sources
Frequently Asked Questions
What is the end-of-life date for Python?
The next Python version reaching EOL is 3.11 in October 2027. See the full table above for all version EOL dates.
When is the Python support end date?
The next Python support end date is October 2027, when version 3.11 reaches end of support. Each version has its own support end date — see the table above for every version's date.
What is the latest supported version of Python?
The latest active version of Python is 3.15.2. Always verify against the table above as support windows can change.
What happens when Python reaches end of life?
When Python reaches end of life, the vendor stops issuing security patches. Any CVEs disclosed after the EOL date accumulate with no vendor patch path — a growing attack surface that a CVE-based scan does not show. Some scanners flag unsupported versions of common products, but coverage varies, and none of them give the date in advance.
How do I check if I'm running an EOL version of Python?
Check your current version against the table above. If your version's EOL date has passed, you are running unsupported software. You can also use the endoflife.ai Stack Scanner to check your entire dependency file at once.
Is there extended support available for EOL Python versions?
Some vendors offer extended support for EOL software. Contact the original vendor or check with enterprise support providers for options.
Does Python track end-of-life by point release (e.g. Python 3.15.1, Python 3.15.2)?
No — Python end-of-life dates apply to the entire 3.15.x release series, not individual point releases. A point release like Python 3.15.1 or Python 3.15.2 shares the same EOL date as Python 3.15. Security patches stop for the entire 3.15.x line on that date, regardless of which patch version you are running. Check the table above for EOL dates by major version series.
Deep Dive
Version guide
Python 3.10 End of Life: October 2026, When Security Fixes Stop
→
Version guide
Python End of Life Dates: 3.10 Ended October 1, 2026
→

Related Products

✓ 44 of 44 lifecycle dates vendor-sourced · read from Python Software Foundation (devguide) on 2026-11-02 · confidence: 42 high, 2 medium, 0 low (each version page shows where every date comes from) · provenance · ✓ Cross-checked against official Python Software Foundation lifecycle documentation (2026-09-17) · Upstream dataset: endoflife.date API · endoflife.date · Generated at build time · How we source data →
Python end-of-life status badge