Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-twine for openSUSE:Factory checked in at 2024-10-12 13:24:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-twine (Old) and /work/SRC/openSUSE:Factory/.python-twine.new.19354 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-twine" Sat Oct 12 13:24:48 2024 rev:17 rq:1207164 version:5.1.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-twine/python-twine.changes 2024-07-01 11:19:24.976975118 +0200 +++ /work/SRC/openSUSE:Factory/.python-twine.new.19354/python-twine.changes 2024-10-12 13:25:03.282608435 +0200 @@ -1,0 +2,11 @@ +Fri Oct 11 11:50:51 UTC 2024 - John Paul Adrian Glaubitz <[email protected]> + +- Update to 5.1.1 + * Resolve DeprecationWarnings when extracting ``twine`` metadata. + * Fix bug for Repository URLs with auth where the port was lost. When attempting + to prevent printing authentication credentials in URLs provided with username + and password, we did not properly handle the case where the URL also contains + a port (when reconstructing the URL). This is now handled and tested to + ensure no regressions. + +------------------------------------------------------------------- Old: ---- twine-5.1.0.tar.gz New: ---- twine-5.1.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-twine.spec ++++++ --- /var/tmp/diff_new_pack.p2KpUp/_old 2024-10-12 13:25:03.794629655 +0200 +++ /var/tmp/diff_new_pack.p2KpUp/_new 2024-10-12 13:25:03.798629820 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-twine -Version: 5.1.0 +Version: 5.1.1 Release: 0 Summary: Collection of utilities for interacting with PyPI License: Apache-2.0 ++++++ twine-5.1.0.tar.gz -> twine-5.1.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/.github/workflows/codeql-analysis.yml new/twine-5.1.1/.github/workflows/codeql-analysis.yml --- old/twine-5.1.0/.github/workflows/codeql-analysis.yml 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/.github/workflows/codeql-analysis.yml 2024-06-26 16:57:38.000000000 +0200 @@ -41,7 +41,7 @@ steps: - name: Checkout repository - uses: actions/[email protected] + uses: actions/[email protected] # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/.github/workflows/main.yml new/twine-5.1.1/.github/workflows/main.yml --- old/twine-5.1.0/.github/workflows/main.yml 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/.github/workflows/main.yml 2024-06-26 16:57:38.000000000 +0200 @@ -25,7 +25,7 @@ lint: runs-on: ubuntu-latest steps: - - uses: actions/[email protected] + - uses: actions/[email protected] - uses: actions/[email protected] with: python-version: ${{ env.DEFAULT_PYTHON_VERSION }} @@ -49,7 +49,7 @@ - windows-latest runs-on: ${{ matrix.platform }} steps: - - uses: actions/[email protected] + - uses: actions/[email protected] - uses: actions/[email protected] with: python-version: ${{ matrix.python-version }} @@ -67,7 +67,7 @@ # Only run on Ubuntu because most of the tests are skipped on Windows runs-on: ubuntu-latest steps: - - uses: actions/[email protected] + - uses: actions/[email protected] - uses: actions/[email protected] with: python-version: ${{ env.MIN_PYTHON_VERSION }} @@ -79,7 +79,7 @@ docs: runs-on: ubuntu-latest steps: - - uses: actions/[email protected] + - uses: actions/[email protected] - uses: actions/[email protected] with: python-version: ${{ env.MIN_PYTHON_VERSION }} @@ -113,7 +113,7 @@ if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') runs-on: ubuntu-latest steps: - - uses: actions/[email protected] + - uses: actions/[email protected] - uses: actions/[email protected] with: python-version: ${{ env.MIN_PYTHON_VERSION }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/.github/workflows/release.yml new/twine-5.1.1/.github/workflows/release.yml --- old/twine-5.1.0/.github/workflows/release.yml 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/.github/workflows/release.yml 2024-06-26 16:57:38.000000000 +0200 @@ -19,7 +19,7 @@ steps: - name: "Checkout repository" - uses: "actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b" + uses: "actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29" - name: "Setup Python" uses: "actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/PKG-INFO new/twine-5.1.1/PKG-INFO --- old/twine-5.1.0/PKG-INFO 2024-05-16 15:46:51.487540500 +0200 +++ new/twine-5.1.1/PKG-INFO 2024-06-26 16:57:42.289044900 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: twine -Version: 5.1.0 +Version: 5.1.1 Summary: Collection of utilities for publishing packages on PyPI Author-email: Donald Stufft and individual contributors <[email protected]> Project-URL: Homepage, https://twine.readthedocs.io/ @@ -36,6 +36,7 @@ Requires-Dist: keyring>=15.1 Requires-Dist: rfc3986>=1.4.0 Requires-Dist: rich>=12.0.0 +Requires-Dist: pkginfo<1.11 .. |twine-version| image:: https://img.shields.io/pypi/v/twine.svg :target: https://pypi.org/project/twine diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/docs/changelog.rst new/twine-5.1.1/docs/changelog.rst --- old/twine-5.1.0/docs/changelog.rst 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/docs/changelog.rst 2024-06-26 16:57:38.000000000 +0200 @@ -12,6 +12,21 @@ .. towncrier release notes start +Twine 5.1.1 (2024-06-26) +------------------------ + +Bugfixes +^^^^^^^^ + +- Resolve DeprecationWarnings when extracting ``twine`` metadata. (`#1115 <https://github.com/pypa/twine/issues/1115>`_) + +- Fix bug for Repository URLs with auth where the port was lost. When attempting + to prevent printing authentication credentials in URLs provided with username + and password, we did not properly handle the case where the URL also contains + a port (when reconstructing the URL). This is now handled and tested to + ensure no regressions. (`#fix-repo-urls-with-auth-and-port <https://github.com/pypa/twine/issues/fix-repo-urls-with-auth-and-port>`_) + + Twine 5.1.0 (2024-05-15) ------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/docs/contributing.rst new/twine-5.1.1/docs/contributing.rst --- old/twine-5.1.0/docs/contributing.rst 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/docs/contributing.rst 2024-06-26 16:57:38.000000000 +0200 @@ -195,7 +195,7 @@ for publishing on any Python package index -Currently, twine has two principle functions: uploading new packages +Currently, twine has two principal functions: uploading new packages and registering new `projects`_ (``register`` is no longer supported on PyPI, and is in Twine for use with other package indexes). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/pyproject.toml new/twine-5.1.1/pyproject.toml --- old/twine-5.1.0/pyproject.toml 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/pyproject.toml 2024-06-26 16:57:38.000000000 +0200 @@ -39,6 +39,9 @@ "keyring >= 15.1", "rfc3986 >= 1.4.0", "rich >= 12.0.0", + + # workaround for #1116 + "pkginfo < 1.11", ] dynamic = ["version"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/tests/test_utils.py new/twine-5.1.1/tests/test_utils.py --- old/twine-5.1.0/tests/test_utils.py 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/tests/test_utils.py 2024-06-26 16:57:38.000000000 +0200 @@ -150,15 +150,38 @@ assert utils.get_repository_from_config(config_file, "pypi") == exp -def test_get_repository_config_url_with_auth(config_file): - repository_url = "https://user:[email protected]/pypi" - exp = { - "repository": "https://notexisting.python.org/pypi", - "username": "user", - "password": "pass", - } - assert utils.get_repository_from_config(config_file, "foo", repository_url) == exp - assert utils.get_repository_from_config(config_file, "pypi", repository_url) == exp [email protected]( + "repository_url, expected_config", + [ + ( + "https://user:[email protected]/pypi", + { + "repository": "https://notexisting.python.org/pypi", + "username": "user", + "password": "pass", + }, + ), + ( + "https://auser:[email protected]:8443", + { + "repository": "https://pypi.proxy.local.repo.net:8443", + "username": "auser", + "password": "pass", + }, + ), + ], +) +def test_get_repository_config_url_with_auth( + config_file, repository_url, expected_config +): + assert ( + utils.get_repository_from_config(config_file, "foo", repository_url) + == expected_config + ) + assert ( + utils.get_repository_from_config(config_file, "pypi", repository_url) + == expected_config + ) @pytest.mark.parametrize( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/tox.ini new/twine-5.1.1/tox.ini --- old/twine-5.1.0/tox.ini 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/tox.ini 2024-06-26 16:57:38.000000000 +0200 @@ -100,6 +100,16 @@ commands = towncrier build {posargs} + +# Usage: +# tox -e create-changelog-item -- [additional arguments] {filename}.{bugfix,feature,doc,removal,misc} +[testenv:create-changelog-item] +basepython = python3 +skip_install = True +deps = towncrier +commands = + towncrier create --config pyproject.toml {posargs} + [testenv:release] # specify Python 3 to use platform's default Python 3 basepython = python3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/twine/__init__.py new/twine-5.1.1/twine/__init__.py --- old/twine-5.1.0/twine/__init__.py 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/twine/__init__.py 2024-06-26 16:57:38.000000000 +0200 @@ -30,6 +30,8 @@ __copyright__ = "Copyright 2019 Donald Stufft and individual contributors" +import email + import importlib_metadata metadata = importlib_metadata.metadata("twine") @@ -37,8 +39,11 @@ __title__ = metadata["name"] __summary__ = metadata["summary"] -__uri__ = metadata["home-page"] +__uri__ = next( + entry.split(", ")[1] + for entry in metadata.get_all("Project-URL", ()) + if entry.startswith("Homepage") +) __version__ = metadata["version"] -__author__ = metadata["author"] -__email__ = metadata["author-email"] +__author__, __email__ = email.utils.parseaddr(metadata["author-email"]) __license__ = None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/twine/repository.py new/twine-5.1.1/twine/repository.py --- old/twine-5.1.0/twine/repository.py 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/twine/repository.py 2024-06-26 16:57:38.000000000 +0200 @@ -246,5 +246,5 @@ def verify_package_integrity(self, package: package_file.PackageFile) -> None: # TODO(sigmavirus24): Add a way for users to download the package and - # check it's hash against what it has locally. + # check its hash against what it has locally. pass diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/twine/utils.py new/twine-5.1.1/twine/utils.py --- old/twine-5.1.0/twine/utils.py 2024-05-16 15:46:47.000000000 +0200 +++ new/twine-5.1.1/twine/utils.py 2024-06-26 16:57:38.000000000 +0200 @@ -174,7 +174,9 @@ if parsed.username: config["username"] = parsed.username config["password"] = parsed.password - config["repository"] = urlunparse((parsed.scheme, parsed.hostname) + parsed[2:]) + config["repository"] = cast( + str, rfc3986.urlparse(url).copy_with(userinfo=None).unsplit() + ) config["repository"] = normalize_repository_url(cast(str, config["repository"])) return config diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/twine.egg-info/PKG-INFO new/twine-5.1.1/twine.egg-info/PKG-INFO --- old/twine-5.1.0/twine.egg-info/PKG-INFO 2024-05-16 15:46:51.000000000 +0200 +++ new/twine-5.1.1/twine.egg-info/PKG-INFO 2024-06-26 16:57:42.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: twine -Version: 5.1.0 +Version: 5.1.1 Summary: Collection of utilities for publishing packages on PyPI Author-email: Donald Stufft and individual contributors <[email protected]> Project-URL: Homepage, https://twine.readthedocs.io/ @@ -36,6 +36,7 @@ Requires-Dist: keyring>=15.1 Requires-Dist: rfc3986>=1.4.0 Requires-Dist: rich>=12.0.0 +Requires-Dist: pkginfo<1.11 .. |twine-version| image:: https://img.shields.io/pypi/v/twine.svg :target: https://pypi.org/project/twine diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/twine-5.1.0/twine.egg-info/requires.txt new/twine-5.1.1/twine.egg-info/requires.txt --- old/twine-5.1.0/twine.egg-info/requires.txt 2024-05-16 15:46:51.000000000 +0200 +++ new/twine-5.1.1/twine.egg-info/requires.txt 2024-06-26 16:57:42.000000000 +0200 @@ -7,3 +7,4 @@ keyring>=15.1 rfc3986>=1.4.0 rich>=12.0.0 +pkginfo<1.11
