Skip to content

Project

python/cpython

CPython is the reference implementation of the Python programming language, written mainly in C, including its interpreter and standard library.

Known aliases

  • CPython 3.14
  • CPython interpreter
  • CPython standard library
  • hashlib
  • Python interpreter
  • Python runtime

Current stories

buildOne report1 publisher

Vercel puts Python backends into the same preview and rollback flow as the frontend

Vercel made Python on its platform generally available, with three of the bundled Python SDKs still labelled beta. A FastAPI or Flask backend can now share previews and rollbacks with a JavaScript frontend, Vercel says.

Publishers:blog.vercel.com

Reality

Evidence45
Adoption
Not scored
Hype gap+15
Incentives70
Confidence60
buildConfirmed4 publishers

Python 3.15 changes four defaults, starting with UTF-8 as the text encoding

Python 3.15 makes UTF-8 its default encoding and ships an experimental JIT 7-8% faster by geometric mean on x86-64 Linux. Each platform's JIT figure uses a different baseline, so a service learns what the JIT does for it only by rerunning the test.

Perspective Coverage

5 publishers
Builder
Builder 57%
Operator
Operator 37%
Investor
Investor 6%

Reality

Evidence72
Adoption
Not scored
Hype gap+15
Incentives20
Confidence70
buildOne report1 publisher

Django 6.1 cuts hardened password hashes down to its new 1.5M-iteration default at login

Django 6.1 raised its default PBKDF2 iteration count from 1.2M to 1.5M, adding about 50 to 90ms of CPU per login in a dev.to benchmark. The same tests show each stored hash rewritten on its owner's next login, including hashes deliberately set stronger than the new default.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap+20
Incentives
Not scored
Confidence55
buildOne report1 publisher

Restoring CPython from a memory snapshot would freeze its randomized hash seed

Hood Chatham's Pyodide tests ran Hello, world about 4x faster from a memory snapshot, but every restored process would share one hash seed. He wants Python to add an initialization phase that runtimes and libraries can re-run to put the randomness back.

Publishers:blog.python.org

Reality

Evidence55
Adoption10
Hype gap0
Incentives30
Confidence60
buildOne report1 publisher

Ned Deily asks whether CPython should still ship macOS installers after stretches of solo upkeep

Ned Deily asked the 2026 Python Language Summit whether CPython should keep shipping macOS installers that carry 25 years of technical debt. Nobody knows whether anyone would miss them, because the project has not measured who installs Python from python.org on a Mac.

Publishers:blog.python.org

Reality

Evidence60
Adoption
Not scored
Hype gap0
Incentives
Not scored
Confidence55
buildOne report1 publisher

Mark Shannon's bid for 32 PyObject header bits waits on free-threaded abi3t

Mark Shannon pitched a one-time Stable ABI break at the 2026 Python Language Summit to reclaim 32 unused bits in the PyObject header. The reply folds it into the abi3t move C extension authors already face, on a schedule still to be set.

Publishers:blog.python.org

Reality

Evidence55
Adoption
Not scored
Hype gap+5
Incentives30
Confidence55
buildOne report1 publisher

Mark Shannon proposes a two-generation incremental GC after CPython reverted his 3.14 collector

Mark Shannon told the Python Language Summit that GC takes 11.67% of CPython's runtime and proposed a collector that is both generational and incremental. His 3.14 incremental collector was reverted over memory pressure, so the hybrid must match its short pauses on less memory.

Publishers:blog.python.org

Reality

Evidence45
Adoption
Not scored
Hype gap+20
Incentives35
Confidence55
buildOne report1 publisher

CPython's Rust plan gives packagers two optional releases before the toolchain can become required

Rust for CPython's team proposes shipping optional Rust in Python 3.16 in October 2027 and requiring a Rust toolchain no earlier than Python 3.18 in 2029. Distributors are asked to try the optional build first and report platform breakage in time for fixes around Python 3.17.

Publishers:blog.python.org

Reality

Evidence55
Adoption8
Hype gap+10
Incentives60
Confidence60
buildOne report1 publisher

Timing the gap before a WebSocket 1006 drop separates ping failures from proxy timeouts in LLM streams

WebSocket drops in FastAPI LLM streams that land at 20 to 40 seconds point to ping settings, and those near 60 to a proxy, a dev.to debugging guide says. It says to time the gap between the last traffic and the drop before changing any timeout, since a 1006 code alone does not say which layer failed.

Publishers:dev.to

Reality

Evidence55
Adoption
Not scored
Hype gap+10
Incentives25
Confidence55
buildOne report1 publisher

A JIT multiplier buys only the bytecode fraction of a handler's wall clock

CinderX installs into a running interpreter and replaces CPython's frame evaluator. Its published speedup applies to bytecode alone, so the share of bytecode in your own handlers decides what that number is worth.

Publishers:dev.to

Reality

Evidence45
Adoption25
Hype gap+10
Incentives25
Confidence55
buildOne report1 publisher

Perturbed probing cut a miss-heavy map benchmark from 32.7 seconds to 44.9 milliseconds

Codename One packed small integer keys into adjacent slots in ParparVM, so a lookup for an absent key walked thousands of entries before finding an empty one. The team swapped in CPython's probe recurrence.

Publishers:dev.to

Reality

Evidence60
Adoption20
Hype gap+12
Incentives65
Confidence62
buildOne report1 publisher

mypyc roughly doubles h11's speed once its annotations pass strict mypy

A dev.to walkthrough compiles the HTTP/1.1 library h11 into a C extension for roughly twice the speed, and most of the work is reconciling bytearray returns, written to avoid a copy, with annotations that promise bytes.

Publishers:dev.to

Reality

Evidence45
Adoption
Not scored
Hype gap+35
Incentives30
Confidence40
buildOne report1 publisher

One hand-written ninth candidate made the redundant assertion the only check that caught the bug

Counting how many wrong implementations a test suite rejects is only as honest as the list of wrong implementations, and on a small Python order filter mutmut generated five candidates without the one that hid the regression.

Publishers:dev.to

Reality

Evidence72
Adoption
Not scored
Hype gap−12
Incentives22
Confidence62
buildOne report1 publisher

Sixteen times more training code buys the same gain as reading the rest of the file

A re-evaluation of checkpoints trained on 500K, 2M and 8M tokens of code moved the point where a zero-parameter count table overtakes a 2.45M-parameter transformer by 6.6x in document length, and at 4,000 tokens the table still wins.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap−10
Incentives55
Confidence48
buildOne report1 publisher

CPython's mtime-plus-size cache key hides a byte-identical mutation from the test suite

A reader pointed out that flipping < to > leaves source size and whole-second mtime unchanged, so Python can import the original bytecode and log the mutant as surviving. The unparseable-garbage canary changes the file size, invalidates the cache and reports success.

Publishers:dev.to

Reality

Evidence62
Adoption22
Hype gap−14
Incentives38
Confidence58
buildOne report1 publisher

A decorative checkmark crashes pytest on a runner that boots with LANG=C

The crash happens inside the reporter while it renders the failure message, so the message you need is the one that fails to print. Four conditions have to hold for it to reach your CI. A UTF-8 laptop hides all of them.

Publishers:dev.to

Reality

Evidence58
Adoption
Not scored
Hype gap−10
Incentives65
Confidence55
buildOne report1 publisher

Your ETag polling budget assumes a token: unauthenticated 304s still cost GitHub quota

A measured run published on dev.to shows three If-None-Match requests returning 304 with empty bodies each took one off the 60/hour bucket. The discount is documented only for authorized calls.

Publishers:dev.to

Reality

Evidence66
Adoption
Not scored
Hype gap−12
Incentives30
Confidence55