Skip to content

MAINT: drop support for PyPy #30416

@mattip

Description

@mattip

PyPy is no longer under active development, and has not released a Python3.12 version. Other than the submodule pythoncapi_compat.h, we maintain code that checks IS_PYPY

  • implementation-specific details, like ctypes.__mro__, object identity vs. value-based equality, the whole elidation feature to optimize a + b + c, and PyTuple_GET_ITEM macros
  • missing functionality like PyErr_FormatV
  • refcounting differences like in np.resize() (it can be argued this is unreliable on CPython >= 3.14) and tracking accesses to mmap
  • PyPy cannot modify tp_doc after PyType_Ready (it can be argued CPython should not allow this either)
  • No support for limited-api on PyPy (nor on CPython3.14t)
  • PyPy does not break complicated reference cycles involving both Python and c-extensions
  • lack of sys.getsizeof on PyPy (and arguably this is inaccurate on CPython with a JIT)
  • Different priority of sq_concat and nb_add when both are defined
  • Some differences with __signature__ that may be cleaned up on 2.5, which does not support Python3.11
  • Some typing stub differences

Should we remove some or all of the PyPy-specific work-arounds?

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