diff --git a/CHANGES b/CHANGES index 9d3edcb8969..72ee3bf644c 100644 --- a/CHANGES +++ b/CHANGES @@ -17,6 +17,7 @@ Incompatible changes * #11365: Remove support for the ``jsdump`` format in ``sphinx.search``. * #11366: Make ``locale`` a required argument to ``sphinx.util.i18n.format_date()``. +* #11370: Remove deprecated ``sphinx.util.stemmer`` module. Deprecated ---------- diff --git a/sphinx/util/stemmer/__init__.py b/sphinx/util/stemmer/__init__.py deleted file mode 100644 index 9f91ce59e35..00000000000 --- a/sphinx/util/stemmer/__init__.py +++ /dev/null @@ -1,62 +0,0 @@ -"""Word stemming utilities for Sphinx.""" - -import warnings - -import snowballstemmer - -from sphinx.deprecation import RemovedInSphinx70Warning - - -class PorterStemmer: - def __init__(self) -> None: - warnings.warn(f"{self.__class__.__name__} is deprecated, use " - "snowballstemmer.stemmer('porter') instead.", - RemovedInSphinx70Warning, stacklevel=2) - self.stemmer = snowballstemmer.stemmer('porter') - - def stem(self, p: str, i: int, j: int) -> str: - warnings.warn(f"{self.__class__.__name__}.stem() is deprecated, use " - "snowballstemmer.stemmer('porter').stemWord() instead.", - RemovedInSphinx70Warning, stacklevel=2) - return self.stemmer.stemWord(p) - - -class BaseStemmer: - def __init__(self) -> None: - warnings.warn(f"{self.__class__.__name__} is deprecated, use " - "snowballstemmer.stemmer('porter') instead.", - RemovedInSphinx70Warning, stacklevel=3) - - def stem(self, word: str) -> str: - raise NotImplementedError - - -class PyStemmer(BaseStemmer): - def __init__(self) -> None: - super().__init__() - self.stemmer = snowballstemmer.stemmer('porter') - - def stem(self, word: str) -> str: - warnings.warn(f"{self.__class__.__name__}.stem() is deprecated, use " - "snowballstemmer.stemmer('porter').stemWord() instead.", - RemovedInSphinx70Warning, stacklevel=2) - return self.stemmer.stemWord(word) - - -class StandardStemmer(BaseStemmer): - def __init__(self) -> None: - super().__init__() - self.stemmer = snowballstemmer.stemmer('porter') - - def stem(self, word: str) -> str: - warnings.warn(f"{self.__class__.__name__}.stem() is deprecated, use " - "snowballstemmer.stemmer('porter').stemWord() instead.", - RemovedInSphinx70Warning, stacklevel=2) - return self.stemmer.stemWord(word) - - -def get_stemmer() -> BaseStemmer: - warnings.warn("get_stemmer() is deprecated, use " - "snowballstemmer.stemmer('porter') instead.", - RemovedInSphinx70Warning, stacklevel=2) - return PyStemmer()