gh-141226: Deprecate PEP-456 support for embedders (#141287)

Deprecate PEP-456 [1] support for providing an external definition
of the string hashing scheme. Removal is scheduled for Python 3.19.

Previously, embedders could define the ``Py_HASH_ALGORITHM`` macro to be
``Py_HASH_EXTERNAL`` [2] to indicate that the hashing scheme was provided
externally but this feature was undocumented, untested and most likely
unused.

[1]: https://peps.python.org/pep-0456/
[2]: https://peps.python.org/pep-0456/#hash-function-selection
This commit is contained in:
Bénédikt Tran 2026-02-21 12:42:13 +01:00 committed by GitHub
parent 3a2a686cc4
commit 34f4fa8425
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 22 additions and 1 deletions

View file

@ -17,7 +17,7 @@
_Py_HashSecret_t _Py_HashSecret = {{0}};
#if Py_HASH_ALGORITHM == Py_HASH_EXTERNAL
extern PyHash_FuncDef PyHash_Func;
Py_DEPRECATED(3.15) extern PyHash_FuncDef PyHash_Func;
#else
static PyHash_FuncDef PyHash_Func;
#endif