gh-105456: Remove 3 deprecated sre_* modules (#135994)

This commit is contained in:
Stan Ulbrych 2025-07-01 16:31:07 +01:00 committed by GitHub
parent 12ce16bc13
commit 93809a918f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 11 additions and 58 deletions

View file

@ -97,6 +97,8 @@ Pending removal in Python 3.15
After eight years in the :mod:`typing` module,
it has yet to be supported by any major type checker.
* :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules.
* :mod:`wave`:
* The ``getmark()``, ``setmark()`` and ``getmarkers()`` methods of

View file

@ -89,8 +89,6 @@ although there is currently no date scheduled for their removal.
underscore.
(Contributed by Serhiy Storchaka in :gh:`91760`.)
* :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules.
* :mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in
Python 3.12; use the *onexc* parameter instead.

View file

@ -252,6 +252,13 @@ platform
(Contributed by Alexey Makridenko in :gh:`133604`.)
sre_*
-----
* Removed :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules.
(Contributed by Stan Ulbrych in :gh:`135994`.)
sysconfig
---------

View file

@ -1,7 +0,0 @@
import warnings
warnings.warn(f"module {__name__!r} is deprecated",
DeprecationWarning,
stacklevel=2)
from re import _compiler as _
globals().update({k: v for k, v in vars(_).items() if k[:2] != '__'})

View file

@ -1,7 +0,0 @@
import warnings
warnings.warn(f"module {__name__!r} is deprecated",
DeprecationWarning,
stacklevel=2)
from re import _constants as _
globals().update({k: v for k, v in vars(_).items() if k[:2] != '__'})

View file

@ -1,7 +0,0 @@
import warnings
warnings.warn(f"module {__name__!r} is deprecated",
DeprecationWarning,
stacklevel=2)
from re import _parser as _
globals().update({k: v for k, v in vars(_).items() if k[:2] != '__'})

View file

@ -11,7 +11,6 @@ from types import FunctionType, MethodType, BuiltinFunctionType
import pyclbr
from unittest import TestCase, main as unittest_main
from test.test_importlib import util as test_importlib_util
import warnings
StaticMethodType = type(staticmethod(lambda: None))
@ -246,9 +245,6 @@ class PyclbrTest(TestCase):
# These were once some of the longest modules.
cm('random', ignore=('Random',)) # from _random import Random as CoreGenerator
cm('pickle', ignore=('partial', 'PickleBuffer'))
with warnings.catch_warnings():
warnings.simplefilter('ignore', DeprecationWarning)
cm('sre_parse', ignore=('dump', 'groups', 'pos')) # from sre_constants import *; property
with temporary_main_spec():
cm(
'pdb',

View file

@ -5,7 +5,6 @@ from test.support import (gc_collect, bigmemtest, _2G,
import locale
import re
import string
import sys
import unittest
import warnings
from re import Scanner
@ -2927,33 +2926,6 @@ class ImplementationTest(unittest.TestCase):
pat = re.compile("")
check_disallow_instantiation(self, type(pat.scanner("")))
def test_deprecated_modules(self):
deprecated = {
'sre_compile': ['compile', 'error',
'SRE_FLAG_IGNORECASE', 'SUBPATTERN',
'_compile_info'],
'sre_constants': ['error', 'SRE_FLAG_IGNORECASE', 'SUBPATTERN',
'_NamedIntConstant'],
'sre_parse': ['SubPattern', 'parse',
'SRE_FLAG_IGNORECASE', 'SUBPATTERN',
'_parse_sub'],
}
for name in deprecated:
with self.subTest(module=name):
sys.modules.pop(name, None)
with self.assertWarns(DeprecationWarning) as w:
__import__(name)
self.assertEqual(str(w.warning),
f"module {name!r} is deprecated")
self.assertEqual(w.filename, __file__)
self.assertIn(name, sys.modules)
mod = sys.modules[name]
self.assertEqual(mod.__name__, name)
self.assertEqual(mod.__package__, '')
for attr in deprecated[name]:
self.assertHasAttr(mod, attr)
del sys.modules[name]
@cpython_only
def test_case_helpers(self):
import _sre

View file

@ -0,0 +1,2 @@
Removed :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse`
modules.

View file

@ -245,9 +245,6 @@ static const char* _Py_stdlib_module_names[] = {
"socket",
"socketserver",
"sqlite3",
"sre_compile",
"sre_constants",
"sre_parse",
"ssl",
"stat",
"statistics",