[Python-checkins] bpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)

ambv webhook-mailer at python.org
Fri Sep 3 12:21:08 EDT 2021


https://github.com/python/cpython/commit/bc1c49fa94b2abf70e6937373bf1e6b5378035c5
commit: bc1c49fa94b2abf70e6937373bf1e6b5378035c5
branch: main
author: Dong-hee Na <donghee.na at python.org>
committer: ambv <lukasz at langa.pl>
date: 2021-09-03T18:21:03+02:00
summary:

bpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)

Co-authored-by: Łukasz Langa <lukasz at langa.pl>

files:
A Misc/NEWS.d/next/Library/2021-08-19-23-49-10.bpo-42255.ofe3ms.rst
M Doc/library/webbrowser.rst
M Doc/whatsnew/3.11.rst
M Lib/webbrowser.py

diff --git a/Doc/library/webbrowser.rst b/Doc/library/webbrowser.rst
index bd0919164d8fa0..27e0b51ccf8965 100644
--- a/Doc/library/webbrowser.rst
+++ b/Doc/library/webbrowser.rst
@@ -143,9 +143,9 @@ for the controller classes, all defined in this module.
 +------------------------+-----------------------------------------+-------+
 | ``'windows-default'``  | :class:`WindowsDefault`                 | \(2)  |
 +------------------------+-----------------------------------------+-------+
-| ``'macosx'``           | :class:`MacOSX('default')`              | \(3)  |
+| ``'macosx'``           | :class:`MacOSXOSAScript('default')`     | \(3)  |
 +------------------------+-----------------------------------------+-------+
-| ``'safari'``           | :class:`MacOSX('safari')`               | \(3)  |
+| ``'safari'``           | :class:`MacOSXOSAScript('safari')`      | \(3)  |
 +------------------------+-----------------------------------------+-------+
 | ``'google-chrome'``    | :class:`Chrome('google-chrome')`        |       |
 +------------------------+-----------------------------------------+-------+
@@ -174,6 +174,9 @@ Notes:
 .. versionadded:: 3.3
    Support for Chrome/Chromium has been added.
 
+.. deprecated-removed:: 3.11 3.13
+   :class:`MacOSX` is deprecated, use :class:`MacOSXOSAScript` instead.
+
 Here are some simple examples::
 
    url = 'https://docs.python.org/'
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index d6a95a2e3175c7..896a292c3356e8 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -292,6 +292,10 @@ Deprecated
   Python 3.10 or newer. See the :pep:`617` (New PEG parser for CPython).
   (Contributed by Victor Stinner in :issue:`40360`.)
 
+* :class:`webbrowser.MacOSX` is deprecated and will be removed in Python 3.13.
+  It is untested and undocumented and also not used by webbrowser itself.
+  (Contributed by Dong-hee Na in :issue:`42255`.)
+
 
 Removed
 =======
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index ec3cece48c9587..d8a9915cac5f6f 100755
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -8,6 +8,7 @@
 import sys
 import subprocess
 import threading
+import warnings
 
 __all__ = ["Error", "open", "open_new", "open_new_tab", "get", "register"]
 
@@ -629,6 +630,8 @@ class MacOSX(BaseBrowser):
         Internet System Preferences panel, will be used.
         """
         def __init__(self, name):
+            warnings.warn(f'{self.__class__.__name__} is deprecated in 3.11'
+                          ' use MacOSXOSAScript instead.', DeprecationWarning, stacklevel=2)
             self.name = name
 
         def open(self, url, new=0, autoraise=True):
diff --git a/Misc/NEWS.d/next/Library/2021-08-19-23-49-10.bpo-42255.ofe3ms.rst b/Misc/NEWS.d/next/Library/2021-08-19-23-49-10.bpo-42255.ofe3ms.rst
new file mode 100644
index 00000000000000..84a02c4c3fb2b4
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2021-08-19-23-49-10.bpo-42255.ofe3ms.rst
@@ -0,0 +1,3 @@
+:class:`webbrowser.MacOSX` is deprecated and will be removed in Python 3.13.
+It is untested and undocumented and also not used by webbrowser itself.
+Patch by Dong-hee Na.



More information about the Python-checkins mailing list