René's URL Explorer Experiment


Title: Python 3.15: Cool New Features for You to Try – Real Python

Open Graph Title: Python 3.15: Cool New Features for You to Try – Real Python

Description: Learn what's new in Python 3.15, from lazy imports, frozendict, and sentinels to a sampling profiler and friendlier error messages.

Open Graph Description: Learn what's new in Python 3.15, from lazy imports, frozendict, and sentinels to a sampling profiler and friendlier error messages.

Mail addresses
?subject=Python article for you&body=Python 3.15: Cool New Features for You to Try on Real Python https://realpython.com/python315-new-features/

Opengraph URL: https://realpython.com/python315-new-features/

X: @realpython

direct link

Domain: realpython.com


Hey, it has json ld scripts:
{
  "@context": "http://schema.org",
  "@type": "Article",
  "headline": "Python 3.15: Cool New Features for You to Try",
  "image": {
    "@type": "ImageObject",
    "url": "https://files.realpython.com/media/Python-3.15-Cool-New-Features-for-You-to-Try_Watermarked.77cc40464977.jpg",
    "width": 1920,
    "height": 1080
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://realpython.com/python315-new-features/",
    "lastReviewed": "2026-10-12",
    "author": {
      "@type": "Person",
      "name": "Bartosz Zaczy\u0144ski",
      "image": "https://realpython.com/cdn-cgi/image/width=1694,height=1694,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/coders_lab_2109368.259b1599fbee.jpg",
      "url": "https://realpython.com/team/bzaczynski/",
      "affiliation": {
        "@type": "Organization",
        "@id": "https://realpython.com/#organization",
        "name": "Real Python",
        "url": "https://realpython.com",
        "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
      }
    },
    "reviewedBy": [
      {
        "@type": "Person",
        "name": "Aldren Santos",
        "image": "https://realpython.com/cdn-cgi/image/width=500,height=500,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/Aldren_Santos_Real_Python.6b0861d8b841.png",
        "url": "https://realpython.com/team/asantos/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      },
      {
        "@type": "Person",
        "name": "Brenda Weleschuk",
        "image": "https://realpython.com/cdn-cgi/image/width=320,height=320,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/IMG_3324_1.50b309355fc1.jpg",
        "url": "https://realpython.com/team/bweleschuk/",
        "affiliation": {
          "@type": "Organization",
          "@id": "https://realpython.com/#organization",
          "name": "Real Python",
          "url": "https://realpython.com",
          "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
        }
      }
    ]
  },
  "datePublished": "2026-09-30T14:00:00+00:00",
  "dateModified": "2026-10-12T08:15:33.137038+00:00",
  "publisher": {
    "@type": "Organization",
    "@id": "https://realpython.com/#organization",
    "name": "Real Python",
    "url": "https://realpython.com",
    "logo": {
      "@type": "ImageObject",
      "url": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png",
      "width": 512,
      "height": 512
    },
    "description": "Real Python is a leading provider of online Python education and one of the largest language-specific online communities for software developers. It publishes high-quality learning resources, such as tutorials, books, and courses to an audience of millions of developers, data scientists, and machine learning engineers each month.",
    "slogan": "Become a Python Expert",
    "email": "info@realpython.com",
    "sameAs": [
      "https://github.com/realpython",
      "https://www.youtube.com/realpython",
      "https://twitter.com/realpython",
      "https://x.com/realpython",
      "https://www.linkedin.com/company/realpython-com/",
      "https://www.facebook.com/learnrealpython",
      "https://www.instagram.com/realpython",
      "https://www.tiktok.com/@realpython.com"
    ]
  },
  "author": {
    "@type": "Person",
    "name": "Bartosz Zaczy\u0144ski",
    "image": "https://realpython.com/cdn-cgi/image/width=1694,height=1694,fit=crop,gravity=auto,format=auto/https://files.realpython.com/media/coders_lab_2109368.259b1599fbee.jpg",
    "url": "https://realpython.com/team/bzaczynski/",
    "affiliation": {
      "@type": "Organization",
      "@id": "https://realpython.com/#organization",
      "name": "Real Python",
      "url": "https://realpython.com",
      "logo": "https://realpython.com/static/real-python-logo-square-512.157ae6bf64ed.png"
    }
  },
  "description": "Learn what's new in Python 3.15, from lazy imports, frozendict, and sentinels to a sampling profiler and friendlier error messages.",
  "hasPart": {
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "When will Python 3.15 be released?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003ePython 3.15.0 was released on October 9, 2026. It was originally scheduled for October 1 in PEP 790, but a third \u003ca href=\"/ref/glossary/release-candidate/\" class=\"ref-link\"\u003erelease candidate\u003c/a\u003e pushed the final release back by about a week.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "What are the new features in Python 3.15?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eThe biggest additions are explicit \u003ca href=\"https://realpython.com/python315-lazy-imports/\"\u003elazy imports\u003c/a\u003e with the \u003ccode\u003elazy\u003c/code\u003e keyword, the \u003ccode\u003efrozendict\u003c/code\u003e and \u003ccode\u003esentinel\u003c/code\u003e built-in types, unpacking in comprehensions, and the Tachyon sampling profiler in the new \u003ccode\u003eprofiling\u003c/code\u003e package. The release also makes UTF-8 the default encoding, improves error messages and the REPL, adds \u003ccode\u003eTypeForm\u003c/code\u003e and closed \u003ccode\u003eTypedDict\u003c/code\u003e types to the type system, and upgrades the experimental JIT compiler.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "How can you try Python 3.15 without breaking your setup?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eRun \u003ccode\u003euv run --python 3.15 python\u003c/code\u003e, and \u003ca href=\"https://realpython.com/python-uv/\"\u003euv downloads\u003c/a\u003e a standalone interpreter that lives next to, not instead of, your current Python. You can also grab the official \u003ca href=\"https://www.python.org/downloads/\"\u003einstallers\u003c/a\u003e from python.org, which install side by side with other versions.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "Is Python 3.15 faster than Python 3.14?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eOften, but it depends on your platform and build. The official Windows 64-bit installers now use the tail-calling interpreter, which the docs report as 15 to 20 percent faster than the old switch-based interpreter.\u003c/p\u003e\n\u003cp\u003eSeparately, the \u003ca href=\"https://realpython.com/python315-jit-compiler/\"\u003eexperimental JIT\u003c/a\u003e speeds up the official benchmark suite by 7 to 8 percent on x86-64 Linux and by 11 to 12 percent over the tail-calling interpreter on AArch64 macOS, though individual benchmarks vary widely. Lazy imports can also cut startup time for command-line tools.\u003c/p\u003e"
        }
      },
      {
        "@type": "Question",
        "name": "Do lazy imports make every program faster?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "\u003cp\u003eNo. They move import work from startup to first use, which helps short-lived programs like command-line tools that don\u0026rsquo;t touch most of their imports. A long-running program that uses everything it imports pays the same total cost, just later.\u003c/p\u003e"
        }
      }
    ]
  }
}

authorReal Python
theme-color#18354c
color-schemelight dark
twitter:cardsummary_large_image
twitter:imagehttps://files.realpython.com/media/Python-3.15-Cool-New-Features-for-You-to-Try_Watermarked.77cc40464977.jpg
og:imagehttps://files.realpython.com/media/Python-3.15-Cool-New-Features-for-You-to-Try_Watermarked.77cc40464977.jpg
twitter:creator@realpython
og:typearticle
og:site_nameReal Python
apple-mobile-web-app-titleReal Python

Links:

https://realpython.com/
Start Herehttps://realpython.com/start-here/
Learn Python https://realpython.com/python315-new-features/
Your Learning Plan →Your personalized Python learning planhttps://realpython.com/account/learning-plan/
Python Tutorials →In-depth articles and video courseshttps://realpython.com/search?kind=article&kind=course&order=newest&_from=nav_library
Learning Paths →Guided study plans for accelerated learninghttps://realpython.com/learning-paths/
Quizzes & Exercises →Check your learning progresshttps://realpython.com/search?kind=exercise&kind=quiz&_from=nav_library
Browse Topics →Focus on a specific area or skill levelhttps://realpython.com/tutorials/all/
Reference →Concise definitions for common Python termshttps://realpython.com/ref/
Mentor AI →NewYour personal Python mentorhttps://realpython.com/mentor/
Office Hours →Live Q&A calls with Python expertshttps://realpython.com/office-hours/
Community Chat →Learn with other Pythonistashttps://realpython.com/community/
Live Courses →Live, instructor-led Python courseshttps://realpython.com/live/
Books →Round out your knowledge and learn offlinehttps://realpython.com/products/books/
Podcast →Hear what’s new in the world of Pythonhttps://realpython.com/podcasts/rpp/
Unlock All Content and Become a Python Expert →Get unlimited access to all Real Python has to offerhttps://realpython.com/account/join/?from=navbar_learn
Unlock All Content →Become a Python Experthttps://realpython.com/account/join/?from=navbar_learn
More https://realpython.com/python315-new-features/
Learner Storieshttps://realpython.com/learner-stories/
Python Newsletterhttps://realpython.com/newsletter/
Python Job Boardhttps://www.pythonjobshq.com
Meet the Teamhttps://realpython.com/team/
Become a Contributorhttps://realpython.com/jobs/
Searchhttps://realpython.com/search
https://realpython.com/search
Joinhttps://realpython.com/account/join/
Sign‑Inhttps://realpython.com/account/login/?intent=navbar&next=%2Fpython315-new-features%2F
Browse Topicshttps://realpython.com/tutorials/all/
Guided Learning Pathshttps://realpython.com/learning-paths/
Basicshttps://realpython.com/search?level=basics&_from=sidebar_level
Intermediatehttps://realpython.com/search?level=intermediate&_from=sidebar_level
Advancedhttps://realpython.com/search?level=advanced&_from=sidebar_level
aihttps://realpython.com/tutorials/ai/
algorithmshttps://realpython.com/tutorials/algorithms/
apihttps://realpython.com/tutorials/api/
best-practiceshttps://realpython.com/tutorials/best-practices/
careerhttps://realpython.com/tutorials/career/
communityhttps://realpython.com/tutorials/community/
databaseshttps://realpython.com/tutorials/databases/
data-sciencehttps://realpython.com/tutorials/data-science/
data-structureshttps://realpython.com/tutorials/data-structures/
data-vizhttps://realpython.com/tutorials/data-viz/
devopshttps://realpython.com/tutorials/devops/
djangohttps://realpython.com/tutorials/django/
dockerhttps://realpython.com/tutorials/docker/
editorshttps://realpython.com/tutorials/editors/
flaskhttps://realpython.com/tutorials/flask/
front-endhttps://realpython.com/tutorials/front-end/
gamedevhttps://realpython.com/tutorials/gamedev/
guihttps://realpython.com/tutorials/gui/
machine-learninghttps://realpython.com/tutorials/machine-learning/
newshttps://realpython.com/tutorials/news/
numpyhttps://realpython.com/tutorials/numpy/
projectshttps://realpython.com/tutorials/projects/
pythonhttps://realpython.com/tutorials/python/
stdlibhttps://realpython.com/tutorials/stdlib/
testinghttps://realpython.com/tutorials/testing/
toolshttps://realpython.com/tutorials/tools/
web-devhttps://realpython.com/tutorials/web-dev/
web-scrapinghttps://realpython.com/tutorials/web-scraping/
Table of Contentshttps://realpython.com/python315-new-features/#toc
New Syntax in Python 3.15https://realpython.com/python315-new-features/#new-syntax-in-python-315
Lazy Import Statementshttps://realpython.com/python315-new-features/#lazy-import-statements
Unpacking in Comprehensionshttps://realpython.com/python315-new-features/#unpacking-in-comprehensions
New Built-in Typeshttps://realpython.com/python315-new-features/#new-built-in-types
The Immutable frozendict Mappinghttps://realpython.com/python315-new-features/#the-immutable-frozendict-mapping
The sentinel Type for Missing Valueshttps://realpython.com/python315-new-features/#the-sentinel-type-for-missing-values
Static Typing Improvementshttps://realpython.com/python315-new-features/#static-typing-improvements
Annotating Type Forms With TypeFormhttps://realpython.com/python315-new-features/#annotating-type-forms-with-typeform
Closed TypedDict Types and Extra Itemshttps://realpython.com/python315-new-features/#closed-typeddict-types-and-extra-items
A Better Developer Experiencehttps://realpython.com/python315-new-features/#a-better-developer-experience
A Sampling Profiler in the Standard Libraryhttps://realpython.com/python315-new-features/#a-sampling-profiler-in-the-standard-library
Smarter Error Messageshttps://realpython.com/python315-new-features/#smarter-error-messages
A Friendlier REPLhttps://realpython.com/python315-new-features/#a-friendlier-repl
More Color in the Terminalhttps://realpython.com/python315-new-features/#more-color-in-the-terminal
UTF-8 Encoding by Defaulthttps://realpython.com/python315-new-features/#utf-8-encoding-by-default
Performance Improvementshttps://realpython.com/python315-new-features/#performance-improvements
An Upgraded JIT Compilerhttps://realpython.com/python315-new-features/#an-upgraded-jit-compiler
Tail-Calling Interpreter on Windowshttps://realpython.com/python315-new-features/#tail-calling-interpreter-on-windows
Free Threading and the Stable ABIhttps://realpython.com/python315-new-features/#free-threading-and-the-stable-abi
The Incremental Garbage Collector Rolled Backhttps://realpython.com/python315-new-features/#the-incremental-garbage-collector-rolled-back
Other Pretty Cool Featureshttps://realpython.com/python315-new-features/#other-pretty-cool-features
Standard Library Additionshttps://realpython.com/python315-new-features/#standard-library-additions
Smaller Language Changeshttps://realpython.com/python315-new-features/#smaller-language-changes
Deprecations and Removalshttps://realpython.com/python315-new-features/#deprecations-and-removals
Python 3.15 in Fifteen Lineshttps://realpython.com/python315-new-features/#python-315-in-fifteen-lines
So, Should You Upgrade to Python 3.15?https://realpython.com/python315-new-features/#so-should-you-upgrade-to-python-315
Conclusionhttps://realpython.com/python315-new-features/#conclusion
Frequently Asked Questionshttps://realpython.com/python315-new-features/#frequently-asked-questions
https://realpython.com/feedback/survey/article/python315-new-features/liked/?from=article-sidebar
https://realpython.com/feedback/survey/article/python315-new-features/disliked/?from=article-sidebar
What's New in Python 3.15 1h 10m · 12 lessons https://realpython.com/courses/whats-new-in-python-315/
Bartosz Zaczyńskihttps://realpython.com/python315-new-features/#author
https://realpython.com/python315-new-features/#reader-comments
intermediatehttps://realpython.com/tutorials/intermediate/
newshttps://realpython.com/tutorials/news/
pythonhttps://realpython.com/tutorials/python/
New Syntax in Python 3.15https://realpython.com/python315-new-features/#new-syntax-in-python-315
Lazy Import Statementshttps://realpython.com/python315-new-features/#lazy-import-statements
Unpacking in Comprehensionshttps://realpython.com/python315-new-features/#unpacking-in-comprehensions
New Built-in Typeshttps://realpython.com/python315-new-features/#new-built-in-types
The Immutable frozendict Mappinghttps://realpython.com/python315-new-features/#the-immutable-frozendict-mapping
The sentinel Type for Missing Valueshttps://realpython.com/python315-new-features/#the-sentinel-type-for-missing-values
Static Typing Improvementshttps://realpython.com/python315-new-features/#static-typing-improvements
Annotating Type Forms With TypeFormhttps://realpython.com/python315-new-features/#annotating-type-forms-with-typeform
Closed TypedDict Types and Extra Itemshttps://realpython.com/python315-new-features/#closed-typeddict-types-and-extra-items
A Better Developer Experiencehttps://realpython.com/python315-new-features/#a-better-developer-experience
A Sampling Profiler in the Standard Libraryhttps://realpython.com/python315-new-features/#a-sampling-profiler-in-the-standard-library
Smarter Error Messageshttps://realpython.com/python315-new-features/#smarter-error-messages
A Friendlier REPLhttps://realpython.com/python315-new-features/#a-friendlier-repl
More Color in the Terminalhttps://realpython.com/python315-new-features/#more-color-in-the-terminal
UTF-8 Encoding by Defaulthttps://realpython.com/python315-new-features/#utf-8-encoding-by-default
Performance Improvementshttps://realpython.com/python315-new-features/#performance-improvements
An Upgraded JIT Compilerhttps://realpython.com/python315-new-features/#an-upgraded-jit-compiler
Tail-Calling Interpreter on Windowshttps://realpython.com/python315-new-features/#tail-calling-interpreter-on-windows
Free Threading and the Stable ABIhttps://realpython.com/python315-new-features/#free-threading-and-the-stable-abi
The Incremental Garbage Collector Rolled Backhttps://realpython.com/python315-new-features/#the-incremental-garbage-collector-rolled-back
Other Pretty Cool Featureshttps://realpython.com/python315-new-features/#other-pretty-cool-features
Standard Library Additionshttps://realpython.com/python315-new-features/#standard-library-additions
Smaller Language Changeshttps://realpython.com/python315-new-features/#smaller-language-changes
Deprecations and Removalshttps://realpython.com/python315-new-features/#deprecations-and-removals
Python 3.15 in Fifteen Lineshttps://realpython.com/python315-new-features/#python-315-in-fifteen-lines
So, Should You Upgrade to Python 3.15?https://realpython.com/python315-new-features/#so-should-you-upgrade-to-python-315
Conclusionhttps://realpython.com/python315-new-features/#conclusion
Frequently Asked Questionshttps://realpython.com/python315-new-features/#frequently-asked-questions
Remove adshttps://realpython.com/account/join/
What's New in Python 3.15https://realpython.com/courses/whats-new-in-python-315/
Python 3.15https://www.python.org/downloads/release/python-3150/
uvhttps://realpython.com/python-uv/
installation instructionshttps://realpython.com/python-uv/#installing-uv-to-manage-python-projects
REPLhttps://realpython.com/ref/glossary/repl/
Click here to download the free sample codehttps://realpython.com/bonus/python315-new-features-code/
https://realpython.com/quizzes/python315-new-features/
Python 3.15: Cool New Features for You to Tryhttps://realpython.com/quizzes/python315-new-features/
https://realpython.com/python315-new-features/#new-syntax-in-python-315
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#lazy-import-statements
importhttps://realpython.com/ref/keywords/import/
command-line toolhttps://realpython.com/ref/glossary/command-line-interface/
bury imports inside functionshttps://realpython.com/python-import/
PEP 810https://peps.python.org/pep-0810/
json.dumps()https://realpython.com/ref/stdlib/json/
fromhttps://realpython.com/ref/keywords/from/
soft keywordhttps://realpython.com/ref/glossary/soft-keyword/
tracebackhttps://realpython.com/ref/glossary/traceback/
Python Lazy Imports: Speed Up Startup With the lazy Keywordhttps://realpython.com/python315-lazy-imports/
https://realpython.com/python315-new-features/#unpacking-in-comprehensions
list comprehensionhttps://realpython.com/list-comprehension-python/
itertools.chain()https://realpython.com/ref/stdlib/itertools/
unpackinghttps://realpython.com/ref/glossary/unpacking/
comprehensionshttps://realpython.com/ref/glossary/comprehension/
dict comprehensionshttps://realpython.com/python-dictionary-comprehension/
functools.reduce()https://realpython.com/ref/stdlib/functools/
Generator expressionshttps://realpython.com/ref/glossary/generator-expression/
f-stringshttps://realpython.com/python-f-strings/
PEP 448https://peps.python.org/pep-0448/
PEP 798https://peps.python.org/pep-0798/
namespacehttps://realpython.com/ref/glossary/namespace/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#new-built-in-types
https://realpython.com/python315-new-features/#the-immutable-frozendict-mapping
Dictionarieshttps://realpython.com/ref/builtin-types/dict/
immutablehttps://realpython.com/ref/glossary/immutable/
frozensethttps://realpython.com/ref/builtin-types/frozenset/
tupleshttps://realpython.com/ref/builtin-types/tuple/
hashablehttps://realpython.com/ref/glossary/hashable/
@lru_cachehttps://realpython.com/lru-cache-python/
Mappinghttps://realpython.com/ref/glossary/mapping/
Python’s frozendict: The Immutable Dictionaryhttps://realpython.com/python315-frozendict/
https://realpython.com/python315-new-features/#the-sentinel-type-for-missing-values
Nonehttps://realpython.com/ref/keywords/none/
pickledhttps://realpython.com/python-pickle-module/
KeyErrorhttps://realpython.com/ref/builtin-exceptions/keyerror/
Sentinelshttps://realpython.com/ref/computer-science-glossary/sentinel-value/
ishttps://realpython.com/ref/keywords/is/
type hintshttps://realpython.com/ref/glossary/type-hint/
type checkershttps://realpython.com/ref/glossary/static-type-checker/
Python Sentinel Values: Using the New sentinel Built-inhttps://realpython.com/python315-sentinel-values/
https://realpython.com/python315-new-features/#static-typing-improvements
generic functionshttps://realpython.com/ref/glossary/generic-function/
static typinghttps://realpython.com/ref/computer-science-glossary/static-typing/
developer experience improvementshttps://realpython.com/python315-new-features/#a-better-developer-experience
https://realpython.com/python315-new-features/#annotating-type-forms-with-typeform
typing.cast()https://realpython.com/ref/stdlib/typing/
JSONhttps://realpython.com/python-json/
dependency injectionhttps://realpython.com/ref/computer-science-glossary/dependency-injection/
PEP 747https://peps.python.org/pep-0747/
type parameter syntaxhttps://realpython.com/python312-typing/
type checkerhttps://realpython.com/python-type-checking/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#closed-typeddict-types-and-extra-items
PEP 728https://peps.python.org/pep-0728/
mypyhttps://realpython.com/ref/tools/mypy/
https://realpython.com/python315-new-features/#a-better-developer-experience
Profilinghttps://realpython.com/python-profiling/
text encodingshttps://realpython.com/python-encodings-guide/
https://realpython.com/python315-new-features/#a-sampling-profiler-in-the-standard-library
cProfilehttps://realpython.com/ref/stdlib/cprofile/
py-spyhttps://realpython.com/ref/tools/py-spy/
call stackhttps://realpython.com/ref/computer-science-glossary/call-stack/
profilehttps://realpython.com/ref/stdlib/profile/
CPythonhttps://realpython.com/ref/glossary/cpython/
perfhttps://realpython.com/python312-perf-profiler/
Python’s Sampling Profiler: Low-Overhead Profiling With profiling.samplinghttps://realpython.com/python315-sampling-profiler/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#smarter-error-messages
friendlier error messageshttps://realpython.com/python314-error-messages/
AttributeErrorhttps://realpython.com/ref/builtin-exceptions/attributeerror/
immutable typeshttps://realpython.com/python-mutable-vs-immutable-types/
a special method like .__or__()https://realpython.com/python-magic-methods/
TypeErrorhttps://realpython.com/ref/builtin-exceptions/typeerror/
wheelhttps://realpython.com/ref/glossary/wheel/
virtual environmenthttps://realpython.com/ref/glossary/virtual-environment/
casehttps://realpython.com/ref/keywords/case/
matchhttps://realpython.com/ref/keywords/match/
argparsehttps://realpython.com/ref/stdlib/argparse/
command-line interfacehttps://realpython.com/command-line-interfaces-python-argparse/
https://realpython.com/python315-new-features/#a-friendlier-repl
new REPL that arrived in Python 3.13https://realpython.com/python313-repl/
environment variablehttps://realpython.com/ref/computer-science-glossary/environment-variable-env-var/
typehttps://realpython.com/ref/keywords/type/
help()https://realpython.com/ref/builtin-functions/help/
pdb modulehttps://realpython.com/python-debugging-pdb/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#more-color-in-the-terminal
added syntax highlighting to the REPLhttps://realpython.com/python-repl-autocompletion-highlighting/
sqlite3https://realpython.com/ref/stdlib/sqlite3/
calendarhttps://realpython.com/ref/stdlib/calendar/
timeithttps://realpython.com/ref/stdlib/timeit/
pickletoolshttps://realpython.com/ref/stdlib/pickletools/
asthttps://realpython.com/ref/stdlib/ast/
difflib.unified_diff()https://realpython.com/ref/stdlib/difflib/
https://realpython.com/python315-new-features/#utf-8-encoding-by-default
UTF-8https://realpython.com/ref/computer-science-glossary/utf-8/
Python’s UTF-8 Default: Keep Your File I/O Portablehttps://realpython.com/python315-utf8-default/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#performance-improvements
https://realpython.com/python315-new-features/#an-upgraded-jit-compiler
JIThttps://realpython.com/ref/glossary/jit-compiler/
Python’s JIT Compiler: What’s New in Python 3.15https://realpython.com/python315-jit-compiler/
Windowshttps://realpython.com/python315-new-features/#windows-1
Linux + macOShttps://realpython.com/python315-new-features/#linux-macos-1
Python’s JIT Compiler: What’s New in Python 3.15https://realpython.com/python315-jit-compiler/
https://realpython.com/python315-new-features/#tail-calling-interpreter-on-windows
bytecodehttps://realpython.com/ref/glossary/bytecode/
https://realpython.com/python315-new-features/#free-threading-and-the-stable-abi
free-threaded buildhttps://realpython.com/python313-free-threading-jit/
runs without the GILhttps://realpython.com/python-gil/
PEP 803https://peps.python.org/pep-0803/
GILhttps://realpython.com/ref/glossary/gil/
sysconfighttps://realpython.com/ref/stdlib/sysconfig/
iteratorshttps://realpython.com/ref/glossary/iterator/
threading.synchronized_iterator()https://realpython.com/ref/stdlib/threading/
wraps one with a lockhttps://realpython.com/python-thread-lock/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#the-incremental-garbage-collector-rolled-back
roundup of new features in Python 3.14https://realpython.com/python314-new-features/
garbage collectorhttps://realpython.com/ref/glossary/garbage-collection/
reports of significant memory pressurehttps://discuss.python.org/t/reverting-the-incremental-gc-in-python-3-14-and-3-15/107014
rolled back late in the 3.13 release cyclehttps://discuss.python.org/t/incremental-gc-and-pushing-back-the-3-13-0-release/65285
memory usagehttps://realpython.com/python-memory-management/
https://realpython.com/python315-new-features/#other-pretty-cool-features
https://realpython.com/python315-new-features/#standard-library-additions
math modulehttps://realpython.com/python-math-module/
re.match()https://realpython.com/ref/stdlib/re/
tomllibhttps://realpython.com/ref/stdlib/tomllib/
TOMLhttps://realpython.com/python-toml/
pprinthttps://realpython.com/ref/stdlib/pprint/
pretty printinghttps://realpython.com/python-pretty-print/
Unicodehttps://realpython.com/ref/glossary/unicode/
byteshttps://realpython.com/ref/builtin-types/bytes/
bytearray.take_bytes()https://realpython.com/python-bytearray/
collections.Counterhttps://realpython.com/ref/stdlib/collections/
asyncio.TaskGrouphttps://realpython.com/python311-exception-groups/
datetime.strptime()https://realpython.com/ref/stdlib/datetime/
base64https://realpython.com/ref/stdlib/base64/
python -m http.serverhttps://realpython.com/python-http-server/
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#smaller-language-changes
Structural pattern matchinghttps://realpython.com/structural-pattern-matching/
@contextmanagerhttps://realpython.com/ref/stdlib/contextlib/
decoratorhttps://realpython.com/ref/glossary/decorator/
a generator functionhttps://realpython.com/introduction-to-python-generators/
context managerhttps://realpython.com/python-with-statement/
coroutine functionshttps://realpython.com/ref/glossary/coroutine-function/
PEP 800https://peps.python.org/pep-0800/
coroutineshttps://realpython.com/ref/glossary/coroutine/
PEP 829https://peps.python.org/pep-0829/
https://realpython.com/python315-new-features/#deprecations-and-removals
standard-libraryhttps://realpython.com/ref/glossary/standard-library/
test suitehttps://realpython.com/ref/glossary/test-suite/
https://realpython.com/python315-new-features/#python-315-in-fifteen-lines
Remove adshttps://realpython.com/account/join/
https://realpython.com/python315-new-features/#so-should-you-upgrade-to-python-315
pytesthttps://realpython.com/pytest-python-testing/
virtual environmenthttps://realpython.com/python-virtual-environments-a-primer/
SQLitehttps://realpython.com/python-sqlite-sqlalchemy/
Date parsinghttps://realpython.com/python-datetime/
UTF-8 sectionhttps://realpython.com/python315-new-features/#utf-8-encoding-by-default
unittesthttps://realpython.com/ref/stdlib/unittest/
wheelshttps://realpython.com/python-wheels/
https://realpython.com/python315-new-features/#conclusion
Python Lazy Imports: Speed Up Startup With the lazy Keywordhttps://realpython.com/python315-lazy-imports/
Python’s Sampling Profiler: Low-Overhead Profiling With profiling.samplinghttps://realpython.com/python315-sampling-profiler/
Python Sentinel Values: Using the New sentinel Built-inhttps://realpython.com/python315-sentinel-values/
Python’s UTF-8 Default: Keep Your File I/O Portablehttps://realpython.com/python315-utf8-default/
Python’s JIT Compiler: What’s New in Python 3.15https://realpython.com/python315-jit-compiler/
Python’s frozendict: The Immutable Dictionaryhttps://realpython.com/python315-frozendict/
What’s New in Python 3.15https://realpython.com/courses/whats-new-in-python-315/
Click here to download the free sample codehttps://realpython.com/bonus/python315-new-features-code/
https://realpython.com/python315-new-features/#frequently-asked-questions
release candidatehttps://realpython.com/ref/glossary/release-candidate/
lazy importshttps://realpython.com/python315-lazy-imports/
uv downloadshttps://realpython.com/python-uv/
installershttps://www.python.org/downloads/
experimental JIThttps://realpython.com/python315-jit-compiler/
https://realpython.com/quizzes/python315-new-features/
Python 3.15: Cool New Features for You to Tryhttps://realpython.com/quizzes/python315-new-features/
https://realpython.com/feedback/survey/article/python315-new-features/liked/?from=article-footer
https://realpython.com/feedback/survey/article/python315-new-features/disliked/?from=article-footer
What's New in Python 3.15https://realpython.com/courses/whats-new-in-python-315/
https://realpython.com/team/bzaczynski/
» More about Bartoszhttps://realpython.com/team/bzaczynski/
https://realpython.com/team/asantos/
Aldrenhttps://realpython.com/team/asantos/
https://realpython.com/team/bweleschuk/
Brendahttps://realpython.com/team/bweleschuk/
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python315-new-features
Level Up Your Python Skills »https://realpython.com/account/join/?utm_source=rp_article_footer&utm_content=python315-new-features
https://realpython.com/feedback/survey/article/python315-new-features/liked/?from=article-comments
https://realpython.com/feedback/survey/article/python315-new-features/disliked/?from=article-comments
LinkedInhttps://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Frealpython.com%2Fpython315-new-features%2F
Twitterhttps://twitter.com/intent/tweet/?text=Interesting%20Python%20article%20on%20%40realpython%3A%20Python%203.15%3A%20Cool%20New%20Features%20for%20You%20to%20Try&url=https%3A%2F%2Frealpython.com%2Fpython315-new-features%2F
Blueskyhttps://bsky.app/intent/compose?text=Interesting%20Python%20article%20on%20%40realpython.com%3A%20Python%203.15%3A%20Cool%20New%20Features%20for%20You%20to%20Try%20https%3A%2F%2Frealpython.com%2Fpython315-new-features%2F
Facebookhttps://facebook.com/sharer/sharer.php?u=https%3A%2F%2Frealpython.com%2Fpython315-new-features%2F
Get tips for asking good questionshttps://realpython.com/python-beginner-tips/#tip-9-ask-good-questions
get answers to common questions in our support portalhttps://support.realpython.com
Real Python Community Chathttps://realpython.com/community/
“Office Hours” Live Q&A Sessionhttps://realpython.com/office-hours/
intermediatehttps://realpython.com/tutorials/intermediate/
newshttps://realpython.com/tutorials/news/
pythonhttps://realpython.com/tutorials/python/
What's New in Python 3.15https://realpython.com/courses/whats-new-in-python-315/?utm_source=realpython&utm_medium=web&utm_campaign=related-course&utm_content=python315-new-features
Python 3.15 Gets a Surprise RC3 and Other Python News for October 2026https://realpython.com/python-news-october-2026/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python315-new-features
The Best IDEs and Code Editors for Python (Guide)https://realpython.com/python-ides-code-editors-guide/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python315-new-features
Python Sentinel Values: Using the New sentinel Built-inhttps://realpython.com/python315-sentinel-values/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python315-new-features
What Is Meta Muse? A Plain-English Guide to Meta's New AIhttps://realpython.com/what-is-meta-muse/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python315-new-features
Hugging Face Transformers: Leverage Open-Source AI in Pythonhttps://realpython.com/huggingface-transformers/?utm_source=realpython&utm_medium=web&utm_campaign=related-post&utm_content=python315-new-features
https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython315-new-features%2F
Continue »https://realpython.com/account/signup/?intent=continue_reading&utm_source=rp&utm_medium=web&utm_campaign=rwn&utm_content=v1&next=%2Fpython315-new-features%2F
Sign-Inhttps://realpython.com/account/login/?intent=continue_reading&next=/python315-new-features/
Start Herehttps://realpython.com/start-here/
Your Learning Planhttps://realpython.com/account/learning-plan/
Browse Topicshttps://realpython.com/tutorials/all/
Learning Resourceshttps://realpython.com/search
Python Referencehttps://realpython.com/ref/
Cheat Sheetshttps://realpython.com/cheatsheets/
Support Centerhttps://support.realpython.com
Mentor AIhttps://realpython.com/mentor/
Learning Pathshttps://realpython.com/learning-paths/
Tutorialshttps://realpython.com/tutorials/
Courseshttps://realpython.com/courses/
Quizzeshttps://realpython.com/quizzes/
Coding Exerciseshttps://realpython.com/coding-exercises/
Live Courseshttps://realpython.com/live/
Bookshttps://realpython.com/books/
Data Sciencehttps://realpython.com/start/data-science-analytics/
AI Apps & Agentshttps://realpython.com/start/ai-apps-agents/
Machine Learninghttps://realpython.com/start/machine-learning/
Automationhttps://realpython.com/start/scripting-automation/
Web Developmenthttps://realpython.com/start/web-development-apis/
Cybersecurityhttps://realpython.com/start/cybersecurity/
Podcasthttps://realpython.com/podcasts/rpp/
Newsletterhttps://realpython.com/newsletter/
Community Chathttps://realpython.com/community/
Office Hourshttps://realpython.com/office-hours/
Learner Storieshttps://realpython.com/learner-stories/
Plans & Pricinghttps://realpython.com/account/join/
Team Planshttps://realpython.com/account/join-team/
For Businesshttps://realpython.com/account/join-team/inquiry/
For Schoolshttps://realpython.com/account/join-team/education-inquiry/
Reviewshttps://realpython.com/learner-stories/
About Ushttps://realpython.com/about/
Teamhttps://realpython.com/team/
Mission & Valueshttps://realpython.com/mission/
Editorial Guidelineshttps://realpython.com/editorial-guidelines/
Sponsorshipshttps://realpython.com/sponsorships/
Careershttps://realpython.workable.com
Press Kithttps://realpython.com/media-kit/
Merchhttps://realpython.com/merch
https://www.youtube.com/realpython
https://x.com/realpython
https://www.linkedin.com/company/realpython-com
https://www.facebook.com/LearnRealPython
https://github.com/realpython/
Privacy Policyhttps://realpython.com/privacy-policy/
Terms of Usehttps://realpython.com/terms/
Securityhttps://realpython.com/security/
Contacthttps://realpython.com/contact/
https://realpython.com/

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover

Robots: max-image-preview:large


URLs of crawlers that visited me.