FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Improve message of PyType_Spec deprecation warning with location · Issue #107810 · python/cpython · GitHub

/ cpython Public

Improve message of PyType_Spec deprecation warning with location #107810

Description

Bug report

A clear and concise description of the bug

Followup to #103968 (comment).
The DeprecationWarning for PyType_Spec in 3.12.0rc1 is emitted on <frozen importlib._bootstrap>:400 which makes it quite difficult to know what package is responsible.

In my particular case I found that, after reading #103968, it might be protobuf.
And indeed that's how I can reproduce it.

# test.py
from google.protobuf import descriptor
pip install protobuf==4.24.0
python -X dev test.py
<frozen importlib._bootstrap>:400
    DeprecationWarning: Using PyType_Spec with metaclasses that have custom tp_new is deprecated and will no longer be allowed in Python 3.14.

To be clear, I don't mind the warning. I'm just wondering if it's possible to improve the error location.
/CC @encukou

--
The relevant CPython code

cpython/Objects/typeobject.c

Lines 4243 to 4249 in 3bb43b7

if (PyErr_WarnFormat(
PyExc_DeprecationWarning, 1,
"Using PyType_Spec with metaclasses that have custom "
"tp_new is deprecated and will no longer be allowed in "
"Python 3.14.") < 0) {
goto finally;
}

And protobuf where it's likely (?) created:
https://github.com/protocolbuffers/protobuf/blob/v4.24.0/python/google/protobuf/pyext/map_container.cc#L562
https://github.com/protocolbuffers/protobuf/blob/v4.24.0/python/google/protobuf/pyext/map_container.cc#L778

Your environment

  • CPython versions tested on: 3.12.0rc1 and with the latest 3.12 commit: 3bb43b7
  • Operating system and architecture: MacOS

Linked PRs

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    triagedThe issue has been accepted as valid by a triager.type-featureA feature request or enhancement

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL