Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-importlib-metadata for openSUSE:Factory checked in at 2025-02-07 22:56:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-importlib-metadata (Old) and /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.2316 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-importlib-metadata" Fri Feb 7 22:56:42 2025 rev:27 rq:1243315 version:8.6.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-importlib-metadata/python-importlib-metadata.changes 2024-11-15 15:38:14.913877866 +0100 +++ /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.2316/python-importlib-metadata.changes 2025-02-07 22:58:51.818490590 +0100 @@ -1,0 +2,9 @@ +Wed Feb 5 06:34:42 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 8.6.1 + * Fixed indentation logic to also honor blank lines. +- from version 8.6.0 + * Add support for rendering metadata where some fields + have newlines (python/cpython#119650). + +------------------------------------------------------------------- Old: ---- importlib_metadata-8.5.0.tar.gz New: ---- importlib_metadata-8.6.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-importlib-metadata.spec ++++++ --- /var/tmp/diff_new_pack.Im2BRY/_old 2025-02-07 22:58:52.642524589 +0100 +++ /var/tmp/diff_new_pack.Im2BRY/_new 2025-02-07 22:58:52.642524589 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-importlib-metadata # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,7 +27,7 @@ %define skip_python2 1 %{?sle15_python_module_pythons} Name: python-importlib-metadata%{psuffix} -Version: 8.5.0 +Version: 8.6.1 Release: 0 Summary: Read metadata from Python packages License: Apache-2.0 ++++++ importlib_metadata-8.5.0.tar.gz -> importlib_metadata-8.6.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/.github/workflows/main.yml new/importlib_metadata-8.6.1/.github/workflows/main.yml --- old/importlib_metadata-8.5.0/.github/workflows/main.yml 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/.github/workflows/main.yml 2025-01-20 23:21:08.000000000 +0100 @@ -10,6 +10,7 @@ # required if branches-ignore is supplied (jaraco/skeleton#103) - '**' pull_request: + workflow_dispatch: permissions: contents: read @@ -34,23 +35,25 @@ # https://blog.jaraco.com/efficient-use-of-ci-resources/ matrix: python: - - "3.8" - - "3.12" + - "3.9" + - "3.13" platform: - ubuntu-latest - macos-latest - windows-latest include: - - python: "3.9" - platform: ubuntu-latest - 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: pypy3.10 platform: ubuntu-latest runs-on: ${{ matrix.platform }} - continue-on-error: ${{ matrix.python == '3.13' }} + continue-on-error: ${{ matrix.python == '3.14' }} steps: - uses: actions/checkout@v4 - name: Setup Python diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/.pre-commit-config.yaml new/importlib_metadata-8.6.1/.pre-commit-config.yaml --- old/importlib_metadata-8.5.0/.pre-commit-config.yaml 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/.pre-commit-config.yaml 2025-01-20 23:21:08.000000000 +0100 @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.6 + rev: v0.7.1 hooks: - id: ruff args: [--fix, --unsafe-fixes] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/NEWS.rst new/importlib_metadata-8.6.1/NEWS.rst --- old/importlib_metadata-8.5.0/NEWS.rst 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/NEWS.rst 2025-01-20 23:21:08.000000000 +0100 @@ -1,3 +1,21 @@ +v8.6.1 +====== + +Bugfixes +-------- + +- Fixed indentation logic to also honor blank lines. + + +v8.6.0 +====== + +Features +-------- + +- Add support for rendering metadata where some fields have newlines (python/cpython#119650). + + v8.5.0 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/PKG-INFO new/importlib_metadata-8.6.1/PKG-INFO --- old/importlib_metadata-8.5.0/PKG-INFO 2024-09-11 16:56:04.196250200 +0200 +++ new/importlib_metadata-8.6.1/PKG-INFO 2025-01-20 23:21:26.066305200 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: importlib_metadata -Version: 8.5.0 +Version: 8.6.1 Summary: Read metadata from Python packages Author-email: "Jason R. Coombs" <jar...@jaraco.com> Project-URL: Source, https://github.com/python/importlib_metadata @@ -9,7 +9,7 @@ Classifier: License :: OSI Approved :: Apache Software License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.8 +Requires-Python: >=3.9 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: zipp>=3.20 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/docs/conf.py new/importlib_metadata-8.6.1/docs/conf.py --- old/importlib_metadata-8.5.0/docs/conf.py 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/docs/conf.py 2025-01-20 23:21:08.000000000 +0100 @@ -1,6 +1,5 @@ from __future__ import annotations - extensions = [ 'sphinx.ext.autodoc', 'jaraco.packaging.sphinx', @@ -28,9 +27,13 @@ url='https://peps.python.org/pep-{pep_number:0>4}/', ), dict( - pattern=r'(python/cpython#|Python #|py-)(?P<python>\d+)', + pattern=r'(python/cpython#|Python #)(?P<python>\d+)', url='https://github.com/python/cpython/issues/{python}', ), + dict( + pattern=r'bpo-(?P<bpo>\d+)', + url='http://bugs.python.org/issue{bpo}', + ), ], ) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/importlib_metadata/_adapters.py new/importlib_metadata-8.6.1/importlib_metadata/_adapters.py --- old/importlib_metadata-8.5.0/importlib_metadata/_adapters.py 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/importlib_metadata/_adapters.py 2025-01-20 23:21:08.000000000 +0100 @@ -1,11 +1,58 @@ import email.message +import email.policy import re import textwrap from ._text import FoldedCase +class RawPolicy(email.policy.EmailPolicy): + def fold(self, name, value): + folded = self.linesep.join( + textwrap.indent(value, prefix=' ' * 8, predicate=lambda line: True) + .lstrip() + .splitlines() + ) + return f'{name}: {folded}{self.linesep}' + + class Message(email.message.Message): + r""" + Specialized Message subclass to handle metadata naturally. + + Reads values that may have newlines in them and converts the + payload to the Description. + + >>> msg_text = textwrap.dedent(''' + ... Name: Foo + ... Version: 3.0 + ... License: blah + ... de-blah + ... <BLANKLINE> + ... First line of description. + ... Second line of description. + ... <BLANKLINE> + ... Fourth line! + ... ''').lstrip().replace('<BLANKLINE>', '') + >>> msg = Message(email.message_from_string(msg_text)) + >>> msg['Description'] + 'First line of description.\nSecond line of description.\n\nFourth line!\n' + + Message should render even if values contain newlines. + + >>> print(msg) + Name: Foo + Version: 3.0 + License: blah + de-blah + Description: First line of description. + Second line of description. + <BLANKLINE> + Fourth line! + <BLANKLINE> + <BLANKLINE> + """ + multiple_use_keys = set( map( FoldedCase, @@ -57,15 +104,20 @@ def _repair_headers(self): def redent(value): "Correct for RFC822 indentation" - if not value or '\n' not in value: + indent = ' ' * 8 + if not value or '\n' + indent not in value: return value - return textwrap.dedent(' ' * 8 + value) + return textwrap.dedent(indent + value) headers = [(key, redent(value)) for key, value in vars(self)['_headers']] if self._payload: headers.append(('Description', self.get_payload())) + self.set_payload('') return headers + def as_string(self): + return super().as_string(policy=RawPolicy()) + @property def json(self): """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/importlib_metadata.egg-info/PKG-INFO new/importlib_metadata-8.6.1/importlib_metadata.egg-info/PKG-INFO --- old/importlib_metadata-8.5.0/importlib_metadata.egg-info/PKG-INFO 2024-09-11 16:56:04.000000000 +0200 +++ new/importlib_metadata-8.6.1/importlib_metadata.egg-info/PKG-INFO 2025-01-20 23:21:26.000000000 +0100 @@ -1,6 +1,6 @@ -Metadata-Version: 2.1 +Metadata-Version: 2.2 Name: importlib_metadata -Version: 8.5.0 +Version: 8.6.1 Summary: Read metadata from Python packages Author-email: "Jason R. Coombs" <jar...@jaraco.com> Project-URL: Source, https://github.com/python/importlib_metadata @@ -9,7 +9,7 @@ Classifier: License :: OSI Approved :: Apache Software License Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only -Requires-Python: >=3.8 +Requires-Python: >=3.9 Description-Content-Type: text/x-rst License-File: LICENSE Requires-Dist: zipp>=3.20 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/pyproject.toml new/importlib_metadata-8.6.1/pyproject.toml --- old/importlib_metadata-8.5.0/pyproject.toml 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/pyproject.toml 2025-01-20 23:21:08.000000000 +0100 @@ -16,7 +16,7 @@ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", ] -requires-python = ">=3.8" +requires-python = ">=3.9" dependencies = [ "zipp>=3.20", 'typing-extensions>=3.6.4; python_version < "3.8"', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/ruff.toml new/importlib_metadata-8.6.1/ruff.toml --- old/importlib_metadata-8.5.0/ruff.toml 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/ruff.toml 2025-01-20 23:21:08.000000000 +0100 @@ -1,3 +1,6 @@ +# extend pyproject.toml for requires-python (workaround astral-sh/ruff#10299) +extend = "pyproject.toml" + [lint] extend-select = [ "C901", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-8.5.0/tox.ini new/importlib_metadata-8.6.1/tox.ini --- old/importlib_metadata-8.5.0/tox.ini 2024-09-11 16:55:48.000000000 +0200 +++ new/importlib_metadata-8.6.1/tox.ini 2025-01-20 23:21:08.000000000 +0100 @@ -33,9 +33,7 @@ changedir = docs commands = python -m sphinx -W --keep-going . {toxinidir}/build/html - python -m sphinxlint \ - # workaround for sphinx-contrib/sphinx-lint#83 - --jobs 1 + python -m sphinxlint [testenv:finalize] description = assemble changelog and tag a release