Skip to content

Conversation

@vstinner
Copy link
Member

@vstinner vstinner commented Aug 28, 2023

Remove the private _Py_Identifier type and related private functions from the public C API:

  • _PyObject_GetAttrId()
  • _PyObject_LookupSpecialId()
  • _PyObject_SetAttrId()
  • _PyType_LookupId()
  • _Py_IDENTIFIER()
  • _Py_static_string()
  • _Py_static_string_init()

Move them to the internal C API: add a new pycore_identifier.h header file. No longer export these functions.

@vstinner
Copy link
Member Author

Remove the private _Py_Identifier type and related private functions
from the public C API:

* _PyObject_GetAttrId()
* _PyObject_LookupSpecialId()
* _PyObject_SetAttrId()
* _PyType_LookupId()
* _Py_IDENTIFIER()
* _Py_static_string()
* _Py_static_string_init()

Move them to the internal C API: add a new pycore_identifier.h header
file. No longer export these functions.
@vstinner vstinner merged commit 4fb96a1 into python:main Aug 29, 2023
@vstinner vstinner deleted the pycore_identifier branch August 29, 2023 00:29
@osandov
Copy link

osandov commented Oct 23, 2023

Is there a recommendation for what to use instead? I read the discussion linked, but it didn't seem like there was a conclusion on the replacement.

@vstinner
Copy link
Member Author

Is there a recommendation for what to use instead? I read the discussion linked, but it didn't seem like there was a conclusion on the replacement.

I'm worried about these APIs :-( No consensus was found on a migration plan to move away from this private API. Maybe we should consider adding back the private API for now until a clear consensus is found.

@vstinner
Copy link
Member Author

@osandov:

Is there a recommendation for what to use instead? I read the discussion linked, but it didn't seem like there was a conclusion on the replacement.

I created #111484

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants