@@ -1049,95 +1049,6 @@ Deprecated
1049
1049
:c:func: `PyWeakref_GetRef ` on Python 3.12 and older.
1050
1050
(Contributed by Victor Stinner in :gh: `105927 `.)
1051
1051
1052
- Pending Removal in Python 3.14
1053
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1054
-
1055
- * The ``ma_version_tag `` field in :c:type: `PyDictObject ` for extension modules
1056
- (:pep: `699 `; :gh: `101193 `).
1057
-
1058
- * Global configuration variables:
1059
-
1060
- * :c:var: `Py_DebugFlag `: use :c:member: `PyConfig.parser_debug `
1061
- * :c:var: `Py_VerboseFlag `: use :c:member: `PyConfig.verbose `
1062
- * :c:var: `Py_QuietFlag `: use :c:member: `PyConfig.quiet `
1063
- * :c:var: `Py_InteractiveFlag `: use :c:member: `PyConfig.interactive `
1064
- * :c:var: `Py_InspectFlag `: use :c:member: `PyConfig.inspect `
1065
- * :c:var: `Py_OptimizeFlag `: use :c:member: `PyConfig.optimization_level `
1066
- * :c:var: `Py_NoSiteFlag `: use :c:member: `PyConfig.site_import `
1067
- * :c:var: `Py_BytesWarningFlag `: use :c:member: `PyConfig.bytes_warning `
1068
- * :c:var: `Py_FrozenFlag `: use :c:member: `PyConfig.pathconfig_warnings `
1069
- * :c:var: `Py_IgnoreEnvironmentFlag `: use :c:member: `PyConfig.use_environment `
1070
- * :c:var: `Py_DontWriteBytecodeFlag `: use :c:member: `PyConfig.write_bytecode `
1071
- * :c:var: `Py_NoUserSiteDirectory `: use :c:member: `PyConfig.user_site_directory `
1072
- * :c:var: `Py_UnbufferedStdioFlag `: use :c:member: `PyConfig.buffered_stdio `
1073
- * :c:var: `Py_HashRandomizationFlag `: use :c:member: `PyConfig.use_hash_seed `
1074
- and :c:member: `PyConfig.hash_seed `
1075
- * :c:var: `Py_IsolatedFlag `: use :c:member: `PyConfig.isolated `
1076
- * :c:var: `Py_LegacyWindowsFSEncodingFlag `: use :c:member: `PyPreConfig.legacy_windows_fs_encoding `
1077
- * :c:var: `Py_LegacyWindowsStdioFlag `: use :c:member: `PyConfig.legacy_windows_stdio `
1078
- * :c:var: `!Py_FileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
1079
- * :c:var: `!Py_HasFileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
1080
- * :c:var: `!Py_FileSystemDefaultEncodeErrors `: use :c:member: `PyConfig.filesystem_errors `
1081
- * :c:var: `!Py_UTF8Mode `: use :c:member: `PyPreConfig.utf8_mode ` (see :c:func: `Py_PreInitialize `)
1082
-
1083
- The :c:func: `Py_InitializeFromConfig ` API should be used with
1084
- :c:type: `PyConfig ` instead.
1085
-
1086
- * Creating :c:data: `immutable types <Py_TPFLAGS_IMMUTABLETYPE> ` with mutable
1087
- bases (:gh: `95388 `).
1088
-
1089
- Pending Removal in Python 3.15
1090
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1091
-
1092
- * :c:func: `PyImport_ImportModuleNoBlock `: use :c:func: `PyImport_ImportModule `
1093
- * :c:func: `PyWeakref_GET_OBJECT `: use :c:func: `PyWeakref_GetRef `
1094
- * :c:func: `PyWeakref_GetObject `: use :c:func: `PyWeakref_GetRef `
1095
- * :c:type: `!Py_UNICODE_WIDE ` type: use :c:type: `wchar_t `
1096
- * :c:type: `Py_UNICODE ` type: use :c:type: `wchar_t `
1097
- * Python initialization functions:
1098
-
1099
- * :c:func: `PySys_ResetWarnOptions `: clear :data: `sys.warnoptions ` and
1100
- :data: `!warnings.filters `
1101
- * :c:func: `Py_GetExecPrefix `: get :data: `sys.exec_prefix `
1102
- * :c:func: `Py_GetPath `: get :data: `sys.path `
1103
- * :c:func: `Py_GetPrefix `: get :data: `sys.prefix `
1104
- * :c:func: `Py_GetProgramFullPath `: get :data: `sys.executable `
1105
- * :c:func: `Py_GetProgramName `: get :data: `sys.executable `
1106
- * :c:func: `Py_GetPythonHome `: get :c:member: `PyConfig.home ` or
1107
- the :envvar: `PYTHONHOME ` environment variable
1108
-
1109
- Pending Removal in Future Versions
1110
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1111
-
1112
- The following APIs are deprecated and will be removed,
1113
- although there is currently no date scheduled for their removal.
1114
-
1115
- * :c:macro: `Py_TPFLAGS_HAVE_FINALIZE `: unneeded since Python 3.8
1116
- * :c:func: `PyErr_Fetch `: use :c:func: `PyErr_GetRaisedException `
1117
- * :c:func: `PyErr_NormalizeException `: use :c:func: `PyErr_GetRaisedException `
1118
- * :c:func: `PyErr_Restore `: use :c:func: `PyErr_SetRaisedException `
1119
- * :c:func: `PyModule_GetFilename `: use :c:func: `PyModule_GetFilenameObject `
1120
- * :c:func: `PyOS_AfterFork `: use :c:func: `PyOS_AfterFork_Child `
1121
- * :c:func: `PySlice_GetIndicesEx `: use :c:func: `PySlice_Unpack ` and :c:func: `PySlice_AdjustIndices `
1122
- * :c:func: `!PyUnicode_AsDecodedObject `: use :c:func: `PyCodec_Decode `
1123
- * :c:func: `!PyUnicode_AsDecodedUnicode `: use :c:func: `PyCodec_Decode `
1124
- * :c:func: `!PyUnicode_AsEncodedObject `: use :c:func: `PyCodec_Encode `
1125
- * :c:func: `!PyUnicode_AsEncodedUnicode `: use :c:func: `PyCodec_Encode `
1126
- * :c:func: `PyUnicode_READY `: unneeded since Python 3.12
1127
- * :c:func: `!PyErr_Display `: use :c:func: `PyErr_DisplayException `
1128
- * :c:func: `!_PyErr_ChainExceptions `: use ``_PyErr_ChainExceptions1 ``
1129
- * :c:member: `!PyBytesObject.ob_shash ` member:
1130
- call :c:func: `PyObject_Hash ` instead
1131
- * :c:member: `!PyDictObject.ma_version_tag ` member
1132
- * Thread Local Storage (TLS) API:
1133
-
1134
- * :c:func: `PyThread_create_key `: use :c:func: `PyThread_tss_alloc `
1135
- * :c:func: `PyThread_delete_key `: use :c:func: `PyThread_tss_free `
1136
- * :c:func: `PyThread_set_key_value `: use :c:func: `PyThread_tss_set `
1137
- * :c:func: `PyThread_get_key_value `: use :c:func: `PyThread_tss_get `
1138
- * :c:func: `PyThread_delete_key_value `: use :c:func: `PyThread_tss_delete `
1139
- * :c:func: `PyThread_ReInitTLS `: unneeded since Python 3.7
1140
-
1141
1052
Removed
1142
1053
-------
1143
1054
@@ -1272,3 +1183,95 @@ Removed
1272
1183
:c:func: `PyModule_Add ` or :c:func: `PyModule_AddObjectRef ` functions should
1273
1184
be used instead.
1274
1185
(Contributed by Serhiy Storchaka in :gh: `86493 `.)
1186
+
1187
+ Pending Removal
1188
+ ---------------
1189
+
1190
+ Pending Removal in Python 3.14
1191
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1192
+
1193
+ * The ``ma_version_tag `` field in :c:type: `PyDictObject ` for extension modules
1194
+ (:pep: `699 `; :gh: `101193 `).
1195
+
1196
+ * Global configuration variables:
1197
+
1198
+ * :c:var: `Py_DebugFlag `: use :c:member: `PyConfig.parser_debug `
1199
+ * :c:var: `Py_VerboseFlag `: use :c:member: `PyConfig.verbose `
1200
+ * :c:var: `Py_QuietFlag `: use :c:member: `PyConfig.quiet `
1201
+ * :c:var: `Py_InteractiveFlag `: use :c:member: `PyConfig.interactive `
1202
+ * :c:var: `Py_InspectFlag `: use :c:member: `PyConfig.inspect `
1203
+ * :c:var: `Py_OptimizeFlag `: use :c:member: `PyConfig.optimization_level `
1204
+ * :c:var: `Py_NoSiteFlag `: use :c:member: `PyConfig.site_import `
1205
+ * :c:var: `Py_BytesWarningFlag `: use :c:member: `PyConfig.bytes_warning `
1206
+ * :c:var: `Py_FrozenFlag `: use :c:member: `PyConfig.pathconfig_warnings `
1207
+ * :c:var: `Py_IgnoreEnvironmentFlag `: use :c:member: `PyConfig.use_environment `
1208
+ * :c:var: `Py_DontWriteBytecodeFlag `: use :c:member: `PyConfig.write_bytecode `
1209
+ * :c:var: `Py_NoUserSiteDirectory `: use :c:member: `PyConfig.user_site_directory `
1210
+ * :c:var: `Py_UnbufferedStdioFlag `: use :c:member: `PyConfig.buffered_stdio `
1211
+ * :c:var: `Py_HashRandomizationFlag `: use :c:member: `PyConfig.use_hash_seed `
1212
+ and :c:member: `PyConfig.hash_seed `
1213
+ * :c:var: `Py_IsolatedFlag `: use :c:member: `PyConfig.isolated `
1214
+ * :c:var: `Py_LegacyWindowsFSEncodingFlag `: use :c:member: `PyPreConfig.legacy_windows_fs_encoding `
1215
+ * :c:var: `Py_LegacyWindowsStdioFlag `: use :c:member: `PyConfig.legacy_windows_stdio `
1216
+ * :c:var: `!Py_FileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
1217
+ * :c:var: `!Py_HasFileSystemDefaultEncoding `: use :c:member: `PyConfig.filesystem_encoding `
1218
+ * :c:var: `!Py_FileSystemDefaultEncodeErrors `: use :c:member: `PyConfig.filesystem_errors `
1219
+ * :c:var: `!Py_UTF8Mode `: use :c:member: `PyPreConfig.utf8_mode ` (see :c:func: `Py_PreInitialize `)
1220
+
1221
+ The :c:func: `Py_InitializeFromConfig ` API should be used with
1222
+ :c:type: `PyConfig ` instead.
1223
+
1224
+ * Creating :c:data: `immutable types <Py_TPFLAGS_IMMUTABLETYPE> ` with mutable
1225
+ bases (:gh: `95388 `).
1226
+
1227
+ Pending Removal in Python 3.15
1228
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1229
+
1230
+ * :c:func: `PyImport_ImportModuleNoBlock `: use :c:func: `PyImport_ImportModule `
1231
+ * :c:func: `PyWeakref_GET_OBJECT `: use :c:func: `PyWeakref_GetRef `
1232
+ * :c:func: `PyWeakref_GetObject `: use :c:func: `PyWeakref_GetRef `
1233
+ * :c:type: `!Py_UNICODE_WIDE ` type: use :c:type: `wchar_t `
1234
+ * :c:type: `Py_UNICODE ` type: use :c:type: `wchar_t `
1235
+ * Python initialization functions:
1236
+
1237
+ * :c:func: `PySys_ResetWarnOptions `: clear :data: `sys.warnoptions ` and
1238
+ :data: `!warnings.filters `
1239
+ * :c:func: `Py_GetExecPrefix `: get :data: `sys.exec_prefix `
1240
+ * :c:func: `Py_GetPath `: get :data: `sys.path `
1241
+ * :c:func: `Py_GetPrefix `: get :data: `sys.prefix `
1242
+ * :c:func: `Py_GetProgramFullPath `: get :data: `sys.executable `
1243
+ * :c:func: `Py_GetProgramName `: get :data: `sys.executable `
1244
+ * :c:func: `Py_GetPythonHome `: get :c:member: `PyConfig.home ` or
1245
+ the :envvar: `PYTHONHOME ` environment variable
1246
+
1247
+ Pending Removal in Future Versions
1248
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1249
+
1250
+ The following APIs are deprecated and will be removed,
1251
+ although there is currently no date scheduled for their removal.
1252
+
1253
+ * :c:macro: `Py_TPFLAGS_HAVE_FINALIZE `: unneeded since Python 3.8
1254
+ * :c:func: `PyErr_Fetch `: use :c:func: `PyErr_GetRaisedException `
1255
+ * :c:func: `PyErr_NormalizeException `: use :c:func: `PyErr_GetRaisedException `
1256
+ * :c:func: `PyErr_Restore `: use :c:func: `PyErr_SetRaisedException `
1257
+ * :c:func: `PyModule_GetFilename `: use :c:func: `PyModule_GetFilenameObject `
1258
+ * :c:func: `PyOS_AfterFork `: use :c:func: `PyOS_AfterFork_Child `
1259
+ * :c:func: `PySlice_GetIndicesEx `: use :c:func: `PySlice_Unpack ` and :c:func: `PySlice_AdjustIndices `
1260
+ * :c:func: `!PyUnicode_AsDecodedObject `: use :c:func: `PyCodec_Decode `
1261
+ * :c:func: `!PyUnicode_AsDecodedUnicode `: use :c:func: `PyCodec_Decode `
1262
+ * :c:func: `!PyUnicode_AsEncodedObject `: use :c:func: `PyCodec_Encode `
1263
+ * :c:func: `!PyUnicode_AsEncodedUnicode `: use :c:func: `PyCodec_Encode `
1264
+ * :c:func: `PyUnicode_READY `: unneeded since Python 3.12
1265
+ * :c:func: `!PyErr_Display `: use :c:func: `PyErr_DisplayException `
1266
+ * :c:func: `!_PyErr_ChainExceptions `: use ``_PyErr_ChainExceptions1 ``
1267
+ * :c:member: `!PyBytesObject.ob_shash ` member:
1268
+ call :c:func: `PyObject_Hash ` instead
1269
+ * :c:member: `!PyDictObject.ma_version_tag ` member
1270
+ * Thread Local Storage (TLS) API:
1271
+
1272
+ * :c:func: `PyThread_create_key `: use :c:func: `PyThread_tss_alloc `
1273
+ * :c:func: `PyThread_delete_key `: use :c:func: `PyThread_tss_free `
1274
+ * :c:func: `PyThread_set_key_value `: use :c:func: `PyThread_tss_set `
1275
+ * :c:func: `PyThread_get_key_value `: use :c:func: `PyThread_tss_get `
1276
+ * :c:func: `PyThread_delete_key_value `: use :c:func: `PyThread_tss_delete `
1277
+ * :c:func: `PyThread_ReInitTLS `: unneeded since Python 3.7
0 commit comments