peps.json
There is a read-only JSON document of every published PEP available at https://peps.python.org/api/peps.json.
Each PEP is represented as a JSON object, keyed by the PEP number. The structure of each JSON object is as follows:
{ "<PEP number>": { "number": integer, // always identical to <PEP number> "title": string, "authors": string, "discussions_to": string | null, "status": "Accepted" | "Active" | "Deferred" | "Draft" | "Final" | "Provisional" | "Rejected" | "Superseded" | "Withdrawn", "type": "Informational" | "Process" | "Standards Track", "topic": "governance" | "packaging" | "release" | "typing" | "", "created": string, "python_version": string | null, "post_history": string | null, "resolution": string | null, "requires": string | null, "replaces": string | null, "superseded_by": string | null, "author_names": Array<string>, "url": string }, }
Date values are formatted as DD-MMM-YYYY, and multiple dates are combined in a comma-separated list.
A selection of example PEPs are shown here, illustrating some of the possible values for each field:
{ "12": { "number": 12, "title": "Sample reStructuredText PEP Template", "authors": "David Goodger, Barry Warsaw, Brett Cannon", "discussions_to": null, "status": "Active", "type": "Process", "topic": "", "created": "05-Aug-2002", "python_version": null, "post_history": "`30-Aug-2002 <https://mail.python.org/archives/list/python-dev@python.org/thread/KX3AS7QAY26QH3WIUAEOCCNXQ4V2TGGV/>`__", "resolution": null, "requires": null, "replaces": null, "superseded_by": null, "author_names": [ "David Goodger", "Barry Warsaw", "Brett Cannon" ], "url": "https://peps.python.org/pep-0012/" }, "160": { "number": 160, "title": "Python 1.6 Release Schedule", "authors": "Fred L. Drake, Jr.", "discussions_to": null, "status": "Final", "type": "Informational", "topic": "release", "created": "25-Jul-2000", "python_version": "1.6", "post_history": null, "resolution": null, "requires": null, "replaces": null, "superseded_by": null, "author_names": [ "Fred L. Drake, Jr." ], "url": "https://peps.python.org/pep-0160/" }, "3124": { "number": 3124, "title": "Overloading, Generic Functions, Interfaces, and Adaptation", "authors": "Phillip J. Eby", "discussions_to": "python-3000@python.org", "status": "Deferred", "type": "Standards Track", "topic": "", "created": "28-Apr-2007", "python_version": null, "post_history": "30-Apr-2007", "resolution": null, "requires": "3107, 3115, 3119", "replaces": "245, 246", "superseded_by": null, "author_names": [ "Phillip J. Eby" ], "url": "https://peps.python.org/pep-3124/" } }
release-cycle.json
There is a read-only JSON document of Python releases available at https://peps.python.org/api/release-cycle.json.
Each feature version is represented as a JSON object, keyed by the minor version number (“X.Y”). The structure of each JSON object is as follows:
{ "<language version number>": { "branch": string, "pep": integer, "status": 'feature' | 'prerelease' | 'bugfix' | 'security' | 'end-of-life', "first_release": string, // Date formatted as YYYY-MM-DD "end_of_life": string, // Date formatted as YYYY-MM-DD "release_manager": string }, }
For example:
{ "3.15": { "branch": "main", "pep": 790, "status": "feature", "first_release": "2026-10-01", "end_of_life": "2031-10", "release_manager": "Hugo van Kemenade" }, "3.14": { "branch": "3.14", "pep": 745, "status": "bugfix", "first_release": "2025-10-07", "end_of_life": "2030-10", "release_manager": "Hugo van Kemenade" } }
python-releases.json
A more complete JSON document of all Python releases since version 1.6 is available at https://peps.python.org/api/python-releases.json and includes metadata about each feature release cycle, for example:
{ "metadata": { "3.14": { "pep": 745, "status": "bugfix", "branch": "3.14", "release_manager": "Hugo van Kemenade", "start_of_development": "2024-05-08", "feature_freeze": "2025-05-07", "first_release": "2025-10-07", "end_of_bugfix": "2027-10-07", "end_of_life": "2030-10-01" } } }
And also detailed information about each individual release within that cycle, for example:
{ "releases": { "3.14": [ { "stage": "3.14.0 candidate 3", "state": "actual", "date": "2025-09-18", "note": "" }, { "stage": "3.14.0 final", "state": "actual", "date": "2025-10-07", "note": "" }, { "stage": "3.14.1", "state": "expected", "date": "2025-12-02", "note": "" } ] } }
release-schedule.ics
An iCalendar file of Python release dates is available at https://peps.python.org/api/release-schedule.ics.