
Python 3.15: typing, error handling, and performance updates
Python 3.15 ships with under-the-radar improvements to typing via `typing.ParamSpec`, `except*` for better error handling, and faster dictionary lookups and exception processing [Chang's Blog].
Python 3.15 includes quiet but impactful updates that improve developer workflow and runtime performance [Chang's Blog]. The release adds typing.ParamSpec for precise typing of higher-order functions, letting developers type-check decorators and wrappers more accurately. It also stabilizes except* syntax, enabling cleaner handling of ExceptionGroup instances—useful in async and concurrent code where multiple exceptions may arise.
Performance gains are measurable: dictionary lookups are faster due to optimized internal hashing, and exception handling overhead has been reduced at the interpreter level. These changes build on Python 3.11’s speed push, continuing to close the gap with other compiled or JIT-compiled languages.
The updates matter because they address real friction points. Better typing reduces runtime bugs in large codebases, especially in frameworks like FastAPI or Pydantic that rely heavily on type introspection. Faster dictionaries benefit data-heavy applications, from ETL pipelines to web backends. And except* makes concurrent error handling less error-prone than manual traversal of exception groups.
This isn’t about flashy new syntax—it’s about making Python more robust and efficient where it’s already widely used. The language’s evolution favors incremental, backward-compatible improvements over disruptive changes, and Python 3.15 fits that pattern exactly [Chang's Blog].
Subscribe to the broadcast.
Daily digest of the day's most important tech news. No fluff. Engineering signal only.
// delivered via substack · double-opt-in confirmation


