Skip to content

Conversation

@Periecle
Copy link

@PerieclePeriecle commented Nov 28, 2025

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)

@PerieclePeriecleforce-pushed the feature/support-python-12-13-14 branch from fb5ae14 to bfb603cCompareNovember 28, 2025 15:47
@PerieclePeriecleforce-pushed the feature/support-python-12-13-14 branch from bfb603c to d1b0082CompareNovember 29, 2025 10:14
@rlamy
Copy link
Member

rlamy commented Dec 1, 2025

The changes look reasonable, thanks for working on this!

However, there are CI failures.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@Periecle@rlamy