Skip to content

Python 3.14 compatibility #15

@JostMigenda

Description

@JostMigenda

Using checklist from #10:

  • Read through “What’s New in Python 3.x” document to look for major changes that require changes to the content of the course (e.g. new features like free-threading, JIT, …)
    • free-threading and JIT are still off by default, so okay not to include them yet
    • concurrent.futures.InterpreterPoolExecutor is new, which combines advantages of ThreadPoolExecutor and ProcessPoolExecutor, so might be a good recommendation once we add more on parallelism
    • otherwise I spot nothing that has significant impacts on the course, but some nice quality of life improvements (e.g. better error messages, syntax highlighting in the REPL)
  • Run through code snippets and make sure they run without deprecation warnings, etc.
  • Verify that performance claims remain qualitatively correct. (Some quantitative variations between different machines or CPython versions are expected.)
  • Check that dependencies (e.g. NumPy, line_profiler, …) have published wheels supporting the new release.
    • Most are ready. line_profiler does not yet have binary wheels on PyPI (hopefully soon!); I had no issues building from sdist on my Mac, but learners should probably stick with 3.13 for now, to be safe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions