Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-jaraco.text for openSUSE:Factory checked in at 2026-08-24 12:01:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-jaraco.text (Old) and /work/SRC/openSUSE:Factory/.python-jaraco.text.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jaraco.text" Mon Aug 24 12:01:35 2026 rev:19 rq:1373043 version:4.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-jaraco.text/python-jaraco.text.changes 2026-03-17 19:02:12.698998759 +0100 +++ /work/SRC/openSUSE:Factory/.python-jaraco.text.new.1258/python-jaraco.text.changes 2026-08-24 12:02:12.360890626 +0200 @@ -1,0 +2,7 @@ +Sat Aug 22 09:38:17 UTC 2026 - Dirk Müller <[email protected]> + +- update to 4.3.0: + * Added strip_ansi for removing ANSI escape sequences (e.g. SGR + color codes) from a string. + +------------------------------------------------------------------- Old: ---- jaraco_text-4.2.0.tar.gz New: ---- jaraco_text-4.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-jaraco.text.spec ++++++ --- /var/tmp/diff_new_pack.sP8NEk/_old 2026-08-24 12:02:13.581933704 +0200 +++ /var/tmp/diff_new_pack.sP8NEk/_new 2026-08-24 12:02:13.583933774 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-jaraco.text -Version: 4.2.0 +Version: 4.3.0 Release: 0 Summary: Tools to work with text License: MIT ++++++ jaraco_text-4.2.0.tar.gz -> jaraco_text-4.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/.github/workflows/main.yml new/jaraco_text-4.3.0/.github/workflows/main.yml --- old/jaraco_text-4.2.0/.github/workflows/main.yml 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/.github/workflows/main.yml 2026-07-13 00:44:25.000000000 +0200 @@ -34,31 +34,31 @@ # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: python: - - "3.9" + - "3.10" - "3.13" platform: - ubuntu-latest - macos-latest - windows-latest include: - - python: "3.10" - platform: ubuntu-latest - python: "3.11" platform: ubuntu-latest - python: "3.12" platform: ubuntu-latest - python: "3.14" platform: ubuntu-latest + - python: "3.15" + platform: ubuntu-latest - python: pypy3.10 platform: ubuntu-latest runs-on: ${{ matrix.platform }} - continue-on-error: ${{ matrix.python == '3.14' }} + continue-on-error: ${{ matrix.python == '3.15' }} steps: - uses: actions/checkout@v4 - name: Install build dependencies # Install dependencies for building packages on pre-release Pythons # jaraco/skeleton#161 - if: matrix.python == '3.14' && matrix.platform == 'ubuntu-latest' + if: matrix.python == '3.15' && matrix.platform == 'ubuntu-latest' run: | sudo apt update sudo apt install -y libxml2-dev libxslt-dev diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/.pre-commit-config.yaml new/jaraco_text-4.3.0/.pre-commit-config.yaml --- old/jaraco_text-4.2.0/.pre-commit-config.yaml 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/.pre-commit-config.yaml 2026-07-13 00:44:25.000000000 +0200 @@ -2,6 +2,6 @@ - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.12.0 hooks: - - id: ruff + - id: ruff-check args: [--fix, --unsafe-fixes] - id: ruff-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/NEWS.rst new/jaraco_text-4.3.0/NEWS.rst --- old/jaraco_text-4.2.0/NEWS.rst 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/NEWS.rst 2026-07-13 00:44:25.000000000 +0200 @@ -1,3 +1,12 @@ +v4.3.0 +====== + +Features +-------- + +- Added ``strip_ansi`` for removing ANSI escape sequences (e.g. SGR color codes) from a string. + + v4.2.0 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/PKG-INFO new/jaraco_text-4.3.0/PKG-INFO --- old/jaraco_text-4.2.0/PKG-INFO 2026-02-10 00:30:02.087462400 +0100 +++ new/jaraco_text-4.3.0/PKG-INFO 2026-07-13 00:44:44.182412400 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: jaraco.text -Version: 4.2.0 +Version: 4.3.0 Summary: Module for text manipulation Author-email: "Jason R. Coombs" <[email protected]> License-Expression: MIT @@ -9,7 +9,7 @@ Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.9 +Requires-Python: >=3.10 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: jaraco.context>=4.1 @@ -29,15 +29,14 @@ Provides-Extra: inflect Requires-Dist: inflect; extra == "inflect" Provides-Extra: check -Requires-Dist: pytest-checkdocs>=2.4; extra == "check" +Requires-Dist: pytest-checkdocs>=2.14; extra == "check" Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check" Provides-Extra: cover Requires-Dist: pytest-cov; extra == "cover" Provides-Extra: enabler Requires-Dist: pytest-enabler>=3.4; extra == "enabler" Provides-Extra: type -Requires-Dist: pytest-mypy>=1.0.1; extra == "type" -Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra == "type" +Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" and extra == "type" Dynamic: license-file .. image:: https://img.shields.io/pypi/v/jaraco.text.svg @@ -56,7 +55,7 @@ .. image:: https://readthedocs.org/projects/jaracotext/badge/?version=latest :target: https://jaracotext.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/jaraco.text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/README.rst new/jaraco_text-4.3.0/README.rst --- old/jaraco_text-4.2.0/README.rst 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/README.rst 2026-07-13 00:44:25.000000000 +0200 @@ -14,7 +14,7 @@ .. image:: https://readthedocs.org/projects/jaracotext/badge/?version=latest :target: https://jaracotext.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/jaraco.text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco/text/__init__.py new/jaraco_text-4.3.0/jaraco/text/__init__.py --- old/jaraco_text-4.2.0/jaraco/text/__init__.py 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco/text/__init__.py 2026-07-13 00:44:25.000000000 +0200 @@ -29,16 +29,18 @@ from importlib.abc import Traversable if TYPE_CHECKING: + from typing import TypeAlias, TypeGuard + from _typeshed import ( FileDescriptorOrPath, SupportsIter, SupportsNext, ) - from typing_extensions import Self, TypeAlias, TypeGuard, Unpack + from typing_extensions import Self, Unpack Openable: TypeAlias = FileDescriptorOrPath else: - Openable = Union[str, bytes, os.PathLike, int] + Openable = str | bytes | os.PathLike | int _T = TypeVar("_T") @@ -210,7 +212,7 @@ return pattern.split(self, int(maxsplit)) -@ExceptionTrap(UnicodeDecodeError).passes # type: ignore[no-untyped-call, untyped-decorator, unused-ignore, misc] # jaraco/jaraco.context#15 +@ExceptionTrap(UnicodeDecodeError).passes # type: ignore[no-untyped-call, untyped-decorator, unused-ignore, misc, arg-type] # jaraco/jaraco.context#15 def is_decodable(value: _SupportsDecode) -> None: r""" Return True if the supplied value is decodable (using the default @@ -488,6 +490,25 @@ return ''.join(texts) +# ECMA-48 escape sequences: a Fe escape (except CSI) or a CSI sequence. +_ansi_pattern = re.compile(r'\x1b(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])') + + +def strip_ansi(text: str) -> str: + r""" + Remove ANSI escape sequences (such as SGR color codes) from `text`. + + >>> strip_ansi('\x1b[1;32m3.24 nsec\x1b[0m \x1b[32mper loop\x1b[0m') + '3.24 nsec per loop' + + Text without escape sequences passes through unchanged. + + >>> strip_ansi('plain text') + 'plain text' + """ + return _ansi_pattern.sub('', text) + + class SeparatedValues(str): """ A string separated by a separator. Overrides __iter__ for getting @@ -697,7 +718,7 @@ # https://docs.python.org/3/library/io.html#io.TextIOBase.newlines -NewlineSpec: TypeAlias = Union[str, tuple[str, ...], None] +NewlineSpec: TypeAlias = str | tuple[str, ...] | None @functools.singledispatch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco/text/layouts.py new/jaraco_text-4.3.0/jaraco/text/layouts.py --- old/jaraco_text-4.2.0/jaraco/text/layouts.py 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco/text/layouts.py 2026-07-13 00:44:25.000000000 +0200 @@ -1,13 +1,14 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Union +from typing import TYPE_CHECKING if TYPE_CHECKING: + from typing import TypeAlias + from _typeshed import SupportsGetItem, SupportsRead - from typing_extensions import TypeAlias # Same as builtins._TranslateTable from typeshed - _TranslateTable: TypeAlias = SupportsGetItem[int, Union[str, int, None]] + _TranslateTable: TypeAlias = SupportsGetItem[int, str | int | None] qwerty = "-=qwertyuiop[]asdfghjkl;'zxcvbnm,./_+QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>?" dvorak = "[]',.pyfgcrl/=aoeuidhtns-;qjkxbmwvz{}\"<>PYFGCRL?+AOEUIDHTNS_:QJKXBMWVZ" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco.text.egg-info/PKG-INFO new/jaraco_text-4.3.0/jaraco.text.egg-info/PKG-INFO --- old/jaraco_text-4.2.0/jaraco.text.egg-info/PKG-INFO 2026-02-10 00:30:02.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco.text.egg-info/PKG-INFO 2026-07-13 00:44:44.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: jaraco.text -Version: 4.2.0 +Version: 4.3.0 Summary: Module for text manipulation Author-email: "Jason R. Coombs" <[email protected]> License-Expression: MIT @@ -9,7 +9,7 @@ Classifier: Intended Audience :: Developers Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.9 +Requires-Python: >=3.10 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: jaraco.context>=4.1 @@ -29,15 +29,14 @@ Provides-Extra: inflect Requires-Dist: inflect; extra == "inflect" Provides-Extra: check -Requires-Dist: pytest-checkdocs>=2.4; extra == "check" +Requires-Dist: pytest-checkdocs>=2.14; extra == "check" Requires-Dist: pytest-ruff>=0.2.1; sys_platform != "cygwin" and extra == "check" Provides-Extra: cover Requires-Dist: pytest-cov; extra == "cover" Provides-Extra: enabler Requires-Dist: pytest-enabler>=3.4; extra == "enabler" Provides-Extra: type -Requires-Dist: pytest-mypy>=1.0.1; extra == "type" -Requires-Dist: mypy<1.19; platform_python_implementation == "PyPy" and extra == "type" +Requires-Dist: pytest-mypy>=1.0.1; platform_python_implementation != "PyPy" and extra == "type" Dynamic: license-file .. image:: https://img.shields.io/pypi/v/jaraco.text.svg @@ -56,7 +55,7 @@ .. image:: https://readthedocs.org/projects/jaracotext/badge/?version=latest :target: https://jaracotext.readthedocs.io/en/latest/?badge=latest -.. image:: https://img.shields.io/badge/skeleton-2025-informational +.. image:: https://img.shields.io/badge/skeleton-2026-informational :target: https://blog.jaraco.com/skeleton .. image:: https://tidelift.com/badges/package/pypi/jaraco.text diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco.text.egg-info/SOURCES.txt new/jaraco_text-4.3.0/jaraco.text.egg-info/SOURCES.txt --- old/jaraco_text-4.2.0/jaraco.text.egg-info/SOURCES.txt 2026-02-10 00:30:02.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco.text.egg-info/SOURCES.txt 2026-07-13 00:44:44.000000000 +0200 @@ -22,6 +22,8 @@ jaraco.text.egg-info/SOURCES.txt jaraco.text.egg-info/dependency_links.txt jaraco.text.egg-info/requires.txt +jaraco.text.egg-info/scm_file_list.json +jaraco.text.egg-info/scm_version.json jaraco.text.egg-info/top_level.txt jaraco/text/Lorem ipsum.txt jaraco/text/__init__.py diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco.text.egg-info/requires.txt new/jaraco_text-4.3.0/jaraco.text.egg-info/requires.txt --- old/jaraco_text-4.2.0/jaraco.text.egg-info/requires.txt 2026-02-10 00:30:02.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco.text.egg-info/requires.txt 2026-07-13 00:44:44.000000000 +0200 @@ -4,7 +4,7 @@ typer-slim [check] -pytest-checkdocs>=2.4 +pytest-checkdocs>=2.14 [check:sys_platform != "cygwin"] pytest-ruff>=0.2.1 @@ -33,7 +33,6 @@ pathlib2 [type] -pytest-mypy>=1.0.1 -[type:platform_python_implementation == "PyPy"] -mypy<1.19 +[type:platform_python_implementation != "PyPy"] +pytest-mypy>=1.0.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco.text.egg-info/scm_file_list.json new/jaraco_text-4.3.0/jaraco.text.egg-info/scm_file_list.json --- old/jaraco_text-4.2.0/jaraco.text.egg-info/scm_file_list.json 1970-01-01 01:00:00.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco.text.egg-info/scm_file_list.json 2026-07-13 00:44:44.000000000 +0200 @@ -0,0 +1,32 @@ +{ + "files": [ + ".coveragerc", + "NEWS.rst", + ".pre-commit-config.yaml", + "mypy.ini", + "tox.ini", + "pyproject.toml", + "SECURITY.md", + "towncrier.toml", + "README.rst", + "ruff.toml", + "conftest.py", + ".editorconfig", + ".readthedocs.yaml", + "pytest.ini", + "docs/index.rst", + "docs/history.rst", + "docs/conf.py", + "jaraco/text/py.typed", + "jaraco/text/__init__.py", + "jaraco/text/Lorem ipsum.txt", + "jaraco/text/strip-prefix.py", + "jaraco/text/to-qwerty.py", + "jaraco/text/to-dvorak.py", + "jaraco/text/layouts.py", + "jaraco/text/show-newlines.py", + "tests/test_core.py", + ".github/FUNDING.yml", + ".github/workflows/main.yml" + ] +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/jaraco.text.egg-info/scm_version.json new/jaraco_text-4.3.0/jaraco.text.egg-info/scm_version.json --- old/jaraco_text-4.2.0/jaraco.text.egg-info/scm_version.json 1970-01-01 01:00:00.000000000 +0100 +++ new/jaraco_text-4.3.0/jaraco.text.egg-info/scm_version.json 2026-07-13 00:44:44.000000000 +0200 @@ -0,0 +1,8 @@ +{ + "tag": "4.3.0", + "distance": 0, + "node": "g8c5892111b3dac47030bcdc7a34dcef3ce7828ef", + "dirty": false, + "branch": "HEAD", + "node_date": "2026-07-12" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/pyproject.toml new/jaraco_text-4.3.0/pyproject.toml --- old/jaraco_text-4.2.0/pyproject.toml 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/pyproject.toml 2026-07-13 00:44:25.000000000 +0200 @@ -20,7 +20,7 @@ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", ] -requires-python = ">=3.9" +requires-python = ">=3.10" license = "MIT" dependencies = [ "jaraco.context >= 4.1", @@ -58,7 +58,7 @@ inflect = ["inflect"] check = [ - "pytest-checkdocs >= 2.4", + "pytest-checkdocs >= 2.14", "pytest-ruff >= 0.2.1; sys_platform != 'cygwin'", ] @@ -72,10 +72,9 @@ type = [ # upstream - "pytest-mypy >= 1.0.1", - - ## workaround for python/mypy#20454 - "mypy < 1.19; python_implementation == 'PyPy'", + + # Exclude PyPy from type checks (python/mypy#20454 jaraco/skeleton#187) + "pytest-mypy >= 1.0.1; platform_python_implementation != 'PyPy'", # local ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jaraco_text-4.2.0/tox.ini new/jaraco_text-4.3.0/tox.ini --- old/jaraco_text-4.2.0/tox.ini 2026-02-10 00:29:39.000000000 +0100 +++ new/jaraco_text-4.3.0/tox.ini 2026-07-13 00:44:25.000000000 +0200 @@ -21,7 +21,7 @@ diff-cover commands = pytest {posargs} --cov-report xml - diff-cover coverage.xml --compare-branch=origin/main --html-report diffcov.html + diff-cover coverage.xml --compare-branch=origin/main --format html:diffcov.html diff-cover coverage.xml --compare-branch=origin/main --fail-under=100 [testenv:docs]
