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