vmprof-python icon indicating copy to clipboard operation
vmprof-python copied to clipboard

feat: Support for Python 3.12, 3.13 and 3.14

Open Periecle opened this issue 1 month ago • 1 comments

Background

The current vmprof release restricts installation to Python versions below 3.12. This limitation prevents adoption on modern Python environments. The submitted PR addresses the necessary CPython internal API changes to restore compatibility.

Technical Changes

  • Python 3.12: populate_frames.c inclusion; deprecated readfp() API
  • Python 3.13: tstate->cframe removal; frame->f_code renamed to f_executable; Py_BUILD_CORE header guards; deprecated PyImport_ImportModuleNoBlock
  • Python 3.14: Frame internals relocated to pycore_interpframe.h

Validation

  • Full test suite (58 tests) passes on Python 3.11, 3.12, 3.13, and 3.14
  • Profiler correctly captures call stacks across all versions
  • CI configuration updated to include new Python versions
  • I have manually tested on MacOS(ARM), Linux(x86_64) and Windows(x86_64)

Periecle avatar Nov 28 '25 15:11 Periecle