[Python-checkins] gh-105373: Remove C API global config vars in Python 3.14 (#106538)

vstinner webhook-mailer at python.org
Fri Jul 7 19:49:23 EDT 2023


https://github.com/python/cpython/commit/ffe70c4d1c85f07d9b92bf0673e715fdaa2526ed
commit: ffe70c4d1c85f07d9b92bf0673e715fdaa2526ed
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023年07月08日T01:49:20+02:00
summary:
gh-105373: Remove C API global config vars in Python 3.14 (#106538)
Schedule the removal of C API global configuration variables in
Python 3.14. Announce the removal to help C extension maintainers to
upgrade their code.
files:
M Doc/c-api/init.rst
M Doc/whatsnew/3.13.rst
diff --git a/Doc/c-api/init.rst b/Doc/c-api/init.rst
index 1dab0af2659b4..e7b2937d38dcf 100644
--- a/Doc/c-api/init.rst
+++ b/Doc/c-api/init.rst
@@ -87,7 +87,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 Set by the :option:`-b` option.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_DebugFlag
 
@@ -101,7 +101,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment
 variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_DontWriteBytecodeFlag
 
@@ -115,7 +115,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE`
 environment variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_FrozenFlag
 
@@ -128,7 +128,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 Private flag used by ``_freeze_module`` and ``frozenmain`` programs.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_HashRandomizationFlag
 
@@ -143,7 +143,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment
 variable to initialize the secret hash seed.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_IgnoreEnvironmentFlag
 
@@ -156,7 +156,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 Set by the :option:`-E` and :option:`-I` options.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_InspectFlag
 
@@ -171,7 +171,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment
 variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_InteractiveFlag
 
@@ -196,7 +196,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 .. versionadded:: 3.4
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_LegacyWindowsFSEncodingFlag
 
@@ -215,7 +215,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 .. availability:: Windows.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_LegacyWindowsStdioFlag
 
@@ -233,7 +233,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 .. availability:: Windows.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_NoSiteFlag
 
@@ -248,7 +248,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 Set by the :option:`-S` option.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_NoUserSiteDirectory
 
@@ -262,7 +262,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-s` and :option:`-I` options, and the
 :envvar:`PYTHONNOUSERSITE` environment variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_OptimizeFlag
 
@@ -273,7 +273,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment
 variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_QuietFlag
 
@@ -287,7 +287,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 
 .. versionadded:: 3.2
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_UnbufferedStdioFlag
 
@@ -300,7 +300,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED`
 environment variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 .. c:var:: int Py_VerboseFlag
 
@@ -316,7 +316,7 @@ to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to 2.
 Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment
 variable.
 
- .. deprecated:: 3.12
+ .. deprecated-removed:: 3.12 3.14
 
 
 Initializing and finalizing the interpreter
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index fbd34122ac572..b376f846b725e 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -614,6 +614,37 @@ Removed
 :c:func:`PyInterpreterState_Get()` on Python 3.8 and older.
 (Contributed by Victor Stinner in :gh:`106320`.)
 
+Pending Removal in Python 3.14
+------------------------------
+
+* Global configuration variables:
+
+ * :c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`
+ * :c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`
+ * :c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`
+ * :c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`
+ * :c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`
+ * :c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`
+ * :c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`
+ * :c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`
+ * :c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`
+ * :c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`
+ * :c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`
+ * :c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`
+ * :c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`
+ * :c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed`
+ and :c:member:`PyConfig.hash_seed`
+ * :c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`
+ * :c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig.legacy_windows_fs_encoding`
+ * :c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig.legacy_windows_stdio`
+ * :c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig.filesystem_encoding`
+ * :c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig.filesystem_encoding`
+ * :c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig.filesystem_errors`
+ * :c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see :c:func:`Py_PreInitialize`)
+
+ The :c:func:`Py_InitializeFromConfig` API should be used with
+ :c:type:`PyConfig` instead.
+
 Pending Removal in Python 3.15
 ------------------------------
 
@@ -656,34 +687,6 @@ removed, although there is currently no date scheduled for their removal.
 * :c:member:`!PyBytesObject.ob_shash` member:
 call :c:func:`PyObject_Hash` instead.
 * :c:member:`!PyDictObject.ma_version_tag` member.
-* Global configuration variables:
-
- * :c:var:`Py_DebugFlag`: use :c:member:`PyConfig.parser_debug`
- * :c:var:`Py_VerboseFlag`: use :c:member:`PyConfig.verbose`
- * :c:var:`Py_QuietFlag`: use :c:member:`PyConfig.quiet`
- * :c:var:`Py_InteractiveFlag`: use :c:member:`PyConfig.interactive`
- * :c:var:`Py_InspectFlag`: use :c:member:`PyConfig.inspect`
- * :c:var:`Py_OptimizeFlag`: use :c:member:`PyConfig.optimization_level`
- * :c:var:`Py_NoSiteFlag`: use :c:member:`PyConfig.site_import`
- * :c:var:`Py_BytesWarningFlag`: use :c:member:`PyConfig.bytes_warning`
- * :c:var:`Py_FrozenFlag`: use :c:member:`PyConfig.pathconfig_warnings`
- * :c:var:`Py_IgnoreEnvironmentFlag`: use :c:member:`PyConfig.use_environment`
- * :c:var:`Py_DontWriteBytecodeFlag`: use :c:member:`PyConfig.write_bytecode`
- * :c:var:`Py_NoUserSiteDirectory`: use :c:member:`PyConfig.user_site_directory`
- * :c:var:`Py_UnbufferedStdioFlag`: use :c:member:`PyConfig.buffered_stdio`
- * :c:var:`Py_HashRandomizationFlag`: use :c:member:`PyConfig.use_hash_seed`
- and :c:member:`PyConfig.hash_seed`
- * :c:var:`Py_IsolatedFlag`: use :c:member:`PyConfig.isolated`
- * :c:var:`Py_LegacyWindowsFSEncodingFlag`: use :c:member:`PyPreConfig.legacy_windows_fs_encoding`
- * :c:var:`Py_LegacyWindowsStdioFlag`: use :c:member:`PyConfig.legacy_windows_stdio`
- * :c:var:`!Py_FileSystemDefaultEncoding`: use :c:member:`PyConfig.filesystem_encoding`
- * :c:var:`!Py_HasFileSystemDefaultEncoding`: use :c:member:`PyConfig.filesystem_encoding`
- * :c:var:`!Py_FileSystemDefaultEncodeErrors`: use :c:member:`PyConfig.filesystem_errors`
- * :c:var:`!Py_UTF8Mode`: use :c:member:`PyPreConfig.utf8_mode` (see :c:func:`Py_PreInitialize`)
-
- The :c:func:`Py_InitializeFromConfig` API should be used with
- :c:type:`PyConfig` instead.
-
 * TLS API:
 
 * :c:func:`PyThread_create_key`: use :c:func:`PyThread_tss_alloc`.


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /