@@ -2208,6 +2208,9 @@ Removed C APIs
22082208 be used instead.
22092209 (Contributed by Serhiy Storchaka in :gh: `86493 `.)
22102210
2211+ * Remove undocumented ``PY_TIMEOUT_MAX `` constant from the limited C API.
2212+ (Contributed by Victor Stinner in :gh: `110014 `.)
2213+
22112214Deprecated C APIs
22122215-----------------
22132216
@@ -2249,105 +2252,13 @@ Deprecated C APIs
22492252 Refer to the deprecation notices on each function for their recommended replacements.
22502253 (Soft deprecated as part of :pep: `667 `.)
22512254
2252- Pending Removal in Python 3.14
2253- ------------------------------
2254-
2255- * Creating immutable types (:c:macro: `Py_TPFLAGS_IMMUTABLETYPE `) with mutable
2256- bases using the C API.
2257-
2258- * Functions to configure the Python initialization, deprecated in Python 3.11:
2259-
2260- * ``PySys_SetArgvEx() ``: set :c:member: `PyConfig.argv ` instead.
2261- * ``PySys_SetArgv() ``: set :c:member: `PyConfig.argv ` instead.
2262- * ``Py_SetProgramName() ``: set :c:member: `PyConfig.program_name ` instead.
2263- * ``Py_SetPythonHome() ``: set :c:member: `PyConfig.home ` instead.
2264-
2265- The :c:func: `Py_InitializeFromConfig ` API should be used with
2266- :c:type: `PyConfig ` instead.
2267-
2268- * Global configuration variables:
2269-
2270- * :c:var: `Py_DebugFlag `: use :c:member: `PyConfig.parser_debug `
2271- * :c:var: `Py_VerboseFlag `: use :c:member: `PyConfig.verbose `
2272- * :c:var: `Py_QuietFlag `: use :c:member: `PyConfig.quiet `
2273- * :c:var: `Py_InteractiveFlag `: use :c:member: `PyConfig.interactive `
2274- * :c:var: `Py_InspectFlag `: use :c:member: `PyConfig.inspect `
2275- * :c:var: `Py_OptimizeFlag `: use :c:member: `PyConfig.optimization_level `
2276- * :c:var: `Py_NoSiteFlag `: use :c:member: `PyConfig.site_import `
2277- * :c:var: `Py_BytesWarningFlag `: use :c:member: `PyConfig.bytes_warning `
2278- * :c:var: `Py_FrozenFlag `: use :c:member: `PyConfig.pathconfig_warnings `
2279- * :c:var: `Py_IgnoreEnvironmentFlag `: use :c:member: `PyConfig.use_environment `
2280- * :c:var: `Py_DontWriteBytecodeFlag `: use :c:member: `PyConfig.write_bytecode `
2281- * :c:var: `Py_NoUserSiteDirectory `: use :c:member: `PyConfig.user_site_directory `
2282- * :c:var: `Py_UnbufferedStdioFlag `: use :c:member: `PyConfig.buffered_stdio `
2283- * :c:var: `Py_HashRandomizationFlag `: use :c:member: `PyConfig.use_hash_seed `
2284- and :c:member: `PyConfig.hash_seed `
2285- * :c:var: `Py_IsolatedFlag `: use :c:member: `PyConfig.isolated `
2286- * :c:var: `Py_LegacyWindowsFSEncodingFlag `: use :c:member: `PyPreConfig.legacy_windows_fs_encoding `
2287- * :c:var: `Py_LegacyWindowsStdioFlag `: use :c:member: `PyConfig.legacy_windows_stdio `
2288- * :c:var: `!Py_FileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
2289- * :c:var: `!Py_HasFileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
2290- * :c:var: `!Py_FileSystemDefaultEncodeErrors `: use :c:member: `PyConfig.filesystem_errors `
2291- * :c:var: `!Py_UTF8Mode `: use :c:member: `PyPreConfig.utf8_mode ` (see :c:func: `Py_PreInitialize `)
2292-
2293- The :c:func: `Py_InitializeFromConfig ` API should be used with
2294- :c:type: `PyConfig ` instead.
2295-
2296- Pending Removal in Python 3.15
2297- ------------------------------
2298-
2299- * The bundled copy of ``libmpdecimal ``.
2300- * :c:func: `PyImport_ImportModuleNoBlock `: use :c:func: `PyImport_ImportModule `.
2301- * :c:func: `PyWeakref_GET_OBJECT `: use :c:func: `PyWeakref_GetRef ` instead.
2302- * :c:func: `PyWeakref_GetObject `: use :c:func: `PyWeakref_GetRef ` instead.
2303- * :c:type: `!Py_UNICODE_WIDE ` type: use :c:type: `wchar_t ` instead.
2304- * :c:type: `Py_UNICODE ` type: use :c:type: `wchar_t ` instead.
2305- * Python initialization functions:
2306-
2307- * :c:func: `PySys_ResetWarnOptions `: clear :data: `sys.warnoptions ` and
2308- :data: `!warnings.filters ` instead.
2309- * :c:func: `Py_GetExecPrefix `: get :data: `sys.exec_prefix ` instead.
2310- * :c:func: `Py_GetPath `: get :data: `sys.path ` instead.
2311- * :c:func: `Py_GetPrefix `: get :data: `sys.prefix ` instead.
2312- * :c:func: `Py_GetProgramFullPath `: get :data: `sys.executable ` instead.
2313- * :c:func: `Py_GetProgramName `: get :data: `sys.executable ` instead.
2314- * :c:func: `Py_GetPythonHome `: get :c:member: `PyConfig.home ` or
2315- :envvar: `PYTHONHOME ` environment variable instead.
2255+ .. Add deprecations above alphabetically, not here at the end.
23162256
2317- Pending Removal in Future Versions
2318- ----------------------------------
2319-
2320- The following APIs were deprecated in earlier Python versions and will be
2321- removed, although there is currently no date scheduled for their removal.
2322-
2323- * :c:macro: `Py_TPFLAGS_HAVE_FINALIZE `: no needed since Python 3.8.
2324- * :c:func: `PyErr_Fetch `: use :c:func: `PyErr_GetRaisedException `.
2325- * :c:func: `PyErr_NormalizeException `: use :c:func: `PyErr_GetRaisedException `.
2326- * :c:func: `PyErr_Restore `: use :c:func: `PyErr_SetRaisedException `.
2327- * :c:func: `PyModule_GetFilename `: use :c:func: `PyModule_GetFilenameObject `.
2328- * :c:func: `PyOS_AfterFork `: use :c:func: `PyOS_AfterFork_Child() `.
2329- * :c:func: `PySlice_GetIndicesEx `.
2330- * :c:func: `!PyUnicode_AsDecodedObject `.
2331- * :c:func: `!PyUnicode_AsDecodedUnicode `.
2332- * :c:func: `!PyUnicode_AsEncodedObject `.
2333- * :c:func: `!PyUnicode_AsEncodedUnicode `.
2334- * :c:func: `PyUnicode_READY `: not needed since Python 3.12.
2335- * :c:func: `!_PyErr_ChainExceptions `.
2336- * :c:member: `!PyBytesObject.ob_shash ` member:
2337- call :c:func: `PyObject_Hash ` instead.
2338- * :c:member: `!PyDictObject.ma_version_tag ` member.
2339- * TLS API:
2340-
2341- * :c:func: `PyThread_create_key `: use :c:func: `PyThread_tss_alloc `.
2342- * :c:func: `PyThread_delete_key `: use :c:func: `PyThread_tss_free `.
2343- * :c:func: `PyThread_set_key_value `: use :c:func: `PyThread_tss_set `.
2344- * :c:func: `PyThread_get_key_value `: use :c:func: `PyThread_tss_get `.
2345- * :c:func: `PyThread_delete_key_value `: use :c:func: `PyThread_tss_delete `.
2346- * :c:func: `PyThread_ReInitTLS `: no longer needed.
2257+ .. include :: ../deprecations/c-api-pending-removal-in-3.14.rst
23472258
2348- * Remove undocumented ``PY_TIMEOUT_MAX `` constant from the limited C API.
2349- (Contributed by Victor Stinner in :gh: `110014 `.)
2259+ .. include :: ../deprecations/c-api-pending-removal-in-3.15.rst
23502260
2261+ .. include :: ../deprecations/c-api-pending-removal-in-future.rst
23512262
23522263Regression Test Changes
23532264=======================
0 commit comments