bpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)
Co-authored-by: Ćukasz Langa <lukasz@langa.pl>
diff --git a/Doc/library/webbrowser.rst b/Doc/library/webbrowser.rst
index bd09191..27e0b51 100644
--- a/Doc/library/webbrowser.rst
+++ b/Doc/library/webbrowser.rst
@@ -143,9 +143,9 @@
+------------------------+-----------------------------------------+-------+
| ``'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 @@
.. 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 d6a95a2..896a292 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -292,6 +292,10 @@
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 ec3cece..d8a9915 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 0000000..84a02c4
--- /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.