Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pyproject-api for
openSUSE:Factory checked in at 2025-09-30 17:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pyproject-api (Old)
and /work/SRC/openSUSE:Factory/.python-pyproject-api.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pyproject-api"
Tue Sep 30 17:41:17 2025 rev:5 rq:1308061 version:1.9.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-pyproject-api/python-pyproject-api.changes
2025-07-09 17:27:50.922150580 +0200
+++
/work/SRC/openSUSE:Factory/.python-pyproject-api.new.11973/python-pyproject-api.changes
2025-09-30 17:43:09.443195038 +0200
@@ -1,0 +2,9 @@
+Mon Sep 29 20:31:37 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 1.9.1:
+ * Fix the CI
+ * Wheel is not part of the default requries
+- update to 1.9.0:
+ * Create FUNDING.yml
+
+-------------------------------------------------------------------
Old:
----
pyproject_api-1.8.0.tar.gz
New:
----
pyproject_api-1.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pyproject-api.spec ++++++
--- /var/tmp/diff_new_pack.Zxl3ej/_old 2025-09-30 17:43:11.563284135 +0200
+++ /var/tmp/diff_new_pack.Zxl3ej/_new 2025-09-30 17:43:11.575284640 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-pyproject-api
#
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-pyproject-api
-Version: 1.8.0
+Version: 1.9.1
Release: 0
Summary: API to interact with the python pyproject.toml based projects
License: MIT
++++++ pyproject_api-1.8.0.tar.gz -> pyproject_api-1.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/.github/FUNDING.yml
new/pyproject_api-1.9.1/.github/FUNDING.yml
--- old/pyproject_api-1.8.0/.github/FUNDING.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/pyproject_api-1.9.1/.github/FUNDING.yml 2020-02-02 01:00:00.000000000
+0100
@@ -0,0 +1 @@
+tidelift: "pypi/pyproject-api"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/.github/workflows/check.yaml
new/pyproject_api-1.9.1/.github/workflows/check.yaml
--- old/pyproject_api-1.8.0/.github/workflows/check.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/.github/workflows/check.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -25,7 +25,6 @@
- "3.11"
- "3.10"
- "3.9"
- - "3.8"
- type
- dev
- pkg_meta
@@ -42,7 +41,7 @@
with:
fetch-depth: 0
- name: Install the latest version of uv
- uses: astral-sh/setup-uv@v3
+ uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
@@ -58,8 +57,11 @@
run: uv python install --python-preference only-managed ${{ matrix.env
}}
- name: Setup test suite
run: tox run -vv --notest --skip-missing-interpreters false -e ${{
matrix.env }}
+ env:
+ UV_PYTHON_PREFERENCE: only-managed
- name: Run test suite
run: tox run --skip-pkg-install -e ${{ matrix.env }}
env:
PYTEST_ADDOPTS: "-vv --durations=20"
DIFF_AGAINST: HEAD
+ UV_PYTHON_PREFERENCE: only-managed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/.github/workflows/release.yaml
new/pyproject_api-1.9.1/.github/workflows/release.yaml
--- old/pyproject_api-1.8.0/.github/workflows/release.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/.github/workflows/release.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -14,7 +14,7 @@
with:
fetch-depth: 0
- name: Install the latest version of uv
- uses: astral-sh/setup-uv@v3
+ uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "pyproject.toml"
@@ -43,6 +43,6 @@
name: ${{ env.dists-artifact-name }}
path: dist/
- name: Publish to PyPI
- uses: pypa/[email protected]
+ uses: pypa/[email protected]
with:
attestations: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/.pre-commit-config.yaml
new/pyproject_api-1.9.1/.pre-commit-config.yaml
--- old/pyproject_api-1.8.0/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -1,30 +1,30 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.6.0
+ rev: v5.0.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.29.2
+ rev: 0.33.0
hooks:
- id: check-github-workflows
args: [ "--verbose" ]
- repo: https://github.com/codespell-project/codespell
- rev: v2.3.0
+ rev: v2.4.1
hooks:
- id: codespell
- additional_dependencies: ["tomli>=2.0.1"]
+ additional_dependencies: ["tomli>=2.2.1"]
- repo: https://github.com/tox-dev/tox-ini-fmt
- rev: "1.4.0"
+ rev: "1.5.0"
hooks:
- id: tox-ini-fmt
args: ["-p", "fix"]
- repo: https://github.com/tox-dev/pyproject-fmt
- rev: "2.2.3"
+ rev: "v2.5.1"
hooks:
- id: pyproject-fmt
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: "v0.6.5"
+ rev: "v0.11.9"
hooks:
- id: ruff-format
- id: ruff
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/PKG-INFO
new/pyproject_api-1.9.1/PKG-INFO
--- old/pyproject_api-1.8.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
-Metadata-Version: 2.3
+Metadata-Version: 2.4
Name: pyproject-api
-Version: 1.8.0
+Version: 1.9.1
Summary: API to interact with the python pyproject.toml based projects
Project-URL: Changelog, https://github.com/tox-dev/pyproject-api/releases
Project-URL: Homepage, https://pyproject-api.readthedocs.io
@@ -19,7 +19,6 @@
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
@@ -28,18 +27,18 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
-Requires-Python: >=3.8
-Requires-Dist: packaging>=24.1
-Requires-Dist: tomli>=2.0.1; python_version < '3.11'
+Requires-Python: >=3.9
+Requires-Dist: packaging>=25
+Requires-Dist: tomli>=2.2.1; python_version < '3.11'
Provides-Extra: docs
Requires-Dist: furo>=2024.8.6; extra == 'docs'
-Requires-Dist: sphinx-autodoc-typehints>=2.4.1; extra == 'docs'
+Requires-Dist: sphinx-autodoc-typehints>=3.2; extra == 'docs'
Provides-Extra: testing
Requires-Dist: covdefaults>=2.3; extra == 'testing'
-Requires-Dist: pytest-cov>=5; extra == 'testing'
+Requires-Dist: pytest-cov>=6.1.1; extra == 'testing'
Requires-Dist: pytest-mock>=3.14; extra == 'testing'
-Requires-Dist: pytest>=8.3.3; extra == 'testing'
-Requires-Dist: setuptools>=75.1; extra == 'testing'
+Requires-Dist: pytest>=8.3.5; extra == 'testing'
+Requires-Dist: setuptools>=80.3.1; extra == 'testing'
Description-Content-Type: text/markdown
# [`pyproject-api`](https://pyproject-api.readthedocs.io/en/latest/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/docs/conf.py
new/pyproject_api-1.9.1/docs/conf.py
--- old/pyproject_api-1.8.0/docs/conf.py 2020-02-02 01:00:00.000000000
+0100
+++ new/pyproject_api-1.9.1/docs/conf.py 2020-02-02 01:00:00.000000000
+0100
@@ -1,11 +1,20 @@
# noqa: D100
from __future__ import annotations
+from typing import TYPE_CHECKING
+
+from sphinx.domains.python import PythonDomain
+
from pyproject_api import __version__
+if TYPE_CHECKING:
+ from docutils.nodes import Element
+ from sphinx.application import Sphinx
+ from sphinx.builders import Builder
+ from sphinx.environment import BuildEnvironment
project = name = "pyproject_api"
company = "tox-dev"
-copyright = f"{company}" # noqa: A001
+project_copyright = f"{company}"
version, release = __version__, __version__.split("+")[0]
extensions = [
@@ -38,3 +47,26 @@
nitpicky = True
nitpick_ignore = []
+
+
+def setup(app: Sphinx) -> None: # noqa: D103
+ class PatchedPythonDomain(PythonDomain):
+ def resolve_xref( # noqa: PLR0913,PLR0917
+ self,
+ env: BuildEnvironment,
+ fromdocname: str,
+ builder: Builder,
+ type: str, # noqa: A002
+ target: str,
+ node: resolve_xref,
+ contnode: Element,
+ ) -> Element:
+ # fixup some wrongly resolved mappings
+ mapping = {
+ "pathlib._local.Path": "pathlib.Path",
+ }
+ if target in mapping:
+ target = node["reftarget"] = mapping[target]
+ return super().resolve_xref(env, fromdocname, builder, type,
target, node, contnode)
+
+ app.add_domain(PatchedPythonDomain, override=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/pyproject.toml
new/pyproject_api-1.9.1/pyproject.toml
--- old/pyproject_api-1.8.0/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/pyproject_api-1.9.1/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -2,7 +2,7 @@
build-backend = "hatchling.build"
requires = [
"hatch-vcs>=0.4",
- "hatchling>=1.25",
+ "hatchling>=1.27",
]
[project]
@@ -23,7 +23,7 @@
authors = [
{ name = "Bernát Gábor", email = "[email protected]" },
]
-requires-python = ">=3.8"
+requires-python = ">=3.9"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: tox",
@@ -33,7 +33,6 @@
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Programming Language :: Python :: 3 :: Only",
- "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
@@ -47,19 +46,19 @@
"version",
]
dependencies = [
- "packaging>=24.1",
- "tomli>=2.0.1; python_version<'3.11'",
+ "packaging>=25",
+ "tomli>=2.2.1; python_version<'3.11'",
]
optional-dependencies.docs = [
"furo>=2024.8.6",
- "sphinx-autodoc-typehints>=2.4.1",
+ "sphinx-autodoc-typehints>=3.2",
]
optional-dependencies.testing = [
"covdefaults>=2.3",
- "pytest>=8.3.3",
- "pytest-cov>=5",
+ "pytest>=8.3.5",
+ "pytest-cov>=6.1.1",
"pytest-mock>=3.14",
- "setuptools>=75.1",
+ "setuptools>=80.3.1",
]
urls.Changelog = "https://github.com/tox-dev/pyproject-api/releases"
urls.Homepage = "https://pyproject-api.readthedocs.io"
@@ -71,7 +70,6 @@
version.source = "vcs"
[tool.ruff]
-target-version = "py38"
line-length = 120
format.preview = true
format.docstring-code-line-length = 100
@@ -80,8 +78,6 @@
"ALL",
]
lint.ignore = [
- "ANN101", # Missing type annotation for `self` in method
- "ANN102", # Missing type annotation for `cls` in classmethod
"ANN401", # Dynamically typed expressions
"COM812", # Conflict with formatter
"CPY", # No copyright statements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/src/pyproject_api/_backend.pyi
new/pyproject_api-1.9.1/src/pyproject_api/_backend.pyi
--- old/pyproject_api-1.8.0/src/pyproject_api/_backend.pyi 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/src/pyproject_api/_backend.pyi 2020-02-02
01:00:00.000000000 +0100
@@ -1,4 +1,5 @@
-from typing import Any, Sequence
+from collections.abc import Sequence
+from typing import Any
class MissingCommand(TypeError): ... # noqa: N818
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/src/pyproject_api/_frontend.py
new/pyproject_api-1.9.1/src/pyproject_api/_frontend.py
--- old/pyproject_api-1.8.0/src/pyproject_api/_frontend.py 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/src/pyproject_api/_frontend.py 2020-02-02
01:00:00.000000000 +0100
@@ -9,20 +9,23 @@
from pathlib import Path
from tempfile import NamedTemporaryFile, TemporaryDirectory
from time import sleep
-from typing import Any, Dict, Iterator, List, Literal, NamedTuple, NoReturn,
Optional, TypedDict, cast
+from typing import TYPE_CHECKING, Any, Literal, NamedTuple, NoReturn,
Optional, TypedDict, cast
from zipfile import ZipFile
from packaging.requirements import Requirement
from pyproject_api._util import ensure_empty_dir
+if TYPE_CHECKING:
+ from collections.abc import Iterator
+
if sys.version_info >= (3, 11): # pragma: no cover (py311+)
import tomllib
else: # pragma: no cover (py311+)
import tomli as tomllib
_HERE = Path(__file__).parent
-ConfigSettings = Optional[Dict[str, Any]]
+ConfigSettings = Optional[dict[str, Any]]
class OptionalHooks(TypedDict, total=True):
@@ -173,7 +176,7 @@
#: backend key when the ``pyproject.toml`` does not specify it
LEGACY_BUILD_BACKEND: str = "setuptools.build_meta:__legacy__"
#: backend requirements when the ``pyproject.toml`` does not specify it
- LEGACY_REQUIRES: tuple[Requirement, ...] = (Requirement("setuptools >=
40.8.0"), Requirement("wheel"))
+ LEGACY_REQUIRES: tuple[Requirement, ...] = (Requirement("setuptools >=
40.8.0"),)
def __init__( # noqa: PLR0913, PLR0917
self,
@@ -276,7 +279,7 @@
result, out, err = [], "", ""
if not isinstance(result, list) or not all(isinstance(i, str) for i in
result):
self._unexpected_response("get_requires_for_build_sdist", result,
"list of string", out, err)
- return RequiresBuildSdistResult(tuple(Requirement(r) for r in
cast(List[str], result)), out, err)
+ return RequiresBuildSdistResult(tuple(Requirement(r) for r in
cast("list[str]", result)), out, err)
def get_requires_for_build_wheel(self, config_settings: ConfigSettings |
None = None) -> RequiresBuildWheelResult:
"""
@@ -291,7 +294,7 @@
result, out, err = [], "", ""
if not isinstance(result, list) or not all(isinstance(i, str) for i in
result):
self._unexpected_response("get_requires_for_build_wheel", result,
"list of string", out, err)
- return RequiresBuildWheelResult(tuple(Requirement(r) for r in
cast(List[str], result)), out, err)
+ return RequiresBuildWheelResult(tuple(Requirement(r) for r in
cast("list[str]", result)), out, err)
def get_requires_for_build_editable(
self,
@@ -309,7 +312,7 @@
result, out, err = [], "", ""
if not isinstance(result, list) or not all(isinstance(i, str) for i in
result):
self._unexpected_response("get_requires_for_build_editable",
result, "list of string", out, err)
- return RequiresBuildEditableResult(tuple(Requirement(r) for r in
cast(List[str], result)), out, err)
+ return RequiresBuildEditableResult(tuple(Requirement(r) for r in
cast("list[str]", result)), out, err)
def prepare_metadata_for_build_wheel(
self,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/src/pyproject_api/_version.py
new/pyproject_api-1.9.1/src/pyproject_api/_version.py
--- old/pyproject_api-1.8.0/src/pyproject_api/_version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/src/pyproject_api/_version.py 2020-02-02
01:00:00.000000000 +0100
@@ -1,8 +1,13 @@
-# file generated by setuptools_scm
+# file generated by setuptools-scm
# don't change, don't track in version control
+
+__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
+
TYPE_CHECKING = False
if TYPE_CHECKING:
- from typing import Tuple, Union
+ from typing import Tuple
+ from typing import Union
+
VERSION_TUPLE = Tuple[Union[int, str], ...]
else:
VERSION_TUPLE = object
@@ -12,5 +17,5 @@
__version_tuple__: VERSION_TUPLE
version_tuple: VERSION_TUPLE
-__version__ = version = '1.8.0'
-__version_tuple__ = version_tuple = (1, 8, 0)
+__version__ = version = '1.9.1'
+__version_tuple__ = version_tuple = (1, 9, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pyproject_api-1.8.0/src/pyproject_api/_via_fresh_subprocess.py
new/pyproject_api-1.9.1/src/pyproject_api/_via_fresh_subprocess.py
--- old/pyproject_api-1.8.0/src/pyproject_api/_via_fresh_subprocess.py
2020-02-02 01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/src/pyproject_api/_via_fresh_subprocess.py
2020-02-02 01:00:00.000000000 +0100
@@ -5,11 +5,12 @@
from contextlib import contextmanager
from subprocess import PIPE, Popen # noqa: S404
from threading import Thread
-from typing import IO, TYPE_CHECKING, Any, Iterator, Tuple, cast
+from typing import IO, TYPE_CHECKING, Any, cast
from ._frontend import CmdStatus, Frontend
if TYPE_CHECKING:
+ from collections.abc import Iterator
from pathlib import Path
from packaging.requirements import Requirement
@@ -30,7 +31,7 @@
return self.process.returncode is not None
def out_err(self) -> tuple[str, str]:
- return cast(Tuple[str, str], self._out_err)
+ return cast("tuple[str, str]", self._out_err)
class SubprocessFrontend(Frontend):
@@ -71,7 +72,7 @@
cwd=self._root,
env=env,
)
- cast(IO[str], process.stdin).write(f"{os.linesep}{msg}{os.linesep}")
+ cast("IO[str]", process.stdin).write(f"{os.linesep}{msg}{os.linesep}")
yield SubprocessCmdStatus(process)
def send_cmd(self, cmd: str, **kwargs: Any) -> tuple[Any, str, str]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/tests/test_frontend.py
new/pyproject_api-1.9.1/tests/test_frontend.py
--- old/pyproject_api-1.8.0/tests/test_frontend.py 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/tests/test_frontend.py 2020-02-02
01:00:00.000000000 +0100
@@ -177,7 +177,7 @@
tmp_path = local_builder(txt)
frontend =
SubprocessFrontend(*SubprocessFrontend.create_args_from_folder(tmp_path)[:-1])
- with pytest.raises(RuntimeError, match="missing wheel file return by
backed *"):
+ with pytest.raises(RuntimeError, match=r"missing wheel file return by
backed *"):
frontend.metadata_from_built(tmp_path, "wheel")
@@ -213,7 +213,7 @@
tmp_path = local_builder(txt)
frontend =
SubprocessFrontend(*SubprocessFrontend.create_args_from_folder(tmp_path)[:-1])
- with pytest.raises(RuntimeError, match="no .dist-info found inside
generated wheel*"):
+ with pytest.raises(RuntimeError, match=r"no .dist-info found inside
generated wheel*"):
frontend.metadata_from_built(tmp_path, "wheel")
@@ -225,7 +225,7 @@
assert result[2] == "setuptools.build_meta"
assert result[3] == "__legacy__"
assert all(isinstance(i, Requirement) for i in result[4])
- assert [str(i) for i in result[4]] == ["setuptools>=40.8.0", "wheel"]
+ assert [str(i) for i in result[4]] == ["setuptools>=40.8.0"]
assert result[5] is True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pyproject_api-1.8.0/tests/test_frontend_setuptools.py
new/pyproject_api-1.9.1/tests/test_frontend_setuptools.py
--- old/pyproject_api-1.8.0/tests/test_frontend_setuptools.py 2020-02-02
01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/tests/test_frontend_setuptools.py 2020-02-02
01:00:00.000000000 +0100
@@ -3,7 +3,7 @@
import sys
from contextlib import contextmanager
from stat import S_IWGRP, S_IWOTH, S_IWUSR
-from typing import TYPE_CHECKING, Iterator, NamedTuple
+from typing import TYPE_CHECKING, NamedTuple
import pytest
@@ -11,6 +11,7 @@
from pyproject_api._via_fresh_subprocess import SubprocessFrontend
if TYPE_CHECKING:
+ from collections.abc import Iterator
from pathlib import Path
from _pytest.tmpdir import TempPathFactory
@@ -73,7 +74,8 @@
assert dist.metadata["Name"] == "demo"
values = [v for k, v in dist.metadata.items() if k == "Requires-Dist"] #
type: ignore[attr-defined]
# ignore because "PackageMetadata" has no attribute "items"
- assert sorted(values) == ["magic >3", "requests >2"]
+ expected = ["magic>3", "requests>2"] if sys.version_info[0:2] > (3, 8)
else ["magic >3", "requests >2"]
+ assert sorted(values) == expected
assert isinstance(result.out, str)
assert isinstance(result.err, str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pyproject_api-1.8.0/tox.ini
new/pyproject_api-1.9.1/tox.ini
--- old/pyproject_api-1.8.0/tox.ini 2020-02-02 01:00:00.000000000 +0100
+++ new/pyproject_api-1.9.1/tox.ini 2020-02-02 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
[tox]
requires =
- tox>=4.2
- tox-uv>=1.11
+ tox>=4.25
+ tox-uv>=1.25
env_list =
fix
3.13
@@ -9,7 +9,6 @@
3.11
3.10
3.9
- 3.8
docs
type
pkg_meta
@@ -27,7 +26,6 @@
set_env =
COVERAGE_FILE = {work_dir}/.coverage.{env_name}
COVERAGE_PROCESS_START = {tox_root}/pyproject.toml
- _COVERAGE_SRC = {env_site_packages_dir}/sphinx_argparse_cli
commands =
pytest {tty:--color=yes} {posargs: \
--junitxml {work_dir}{/}junit.{env_name}.xml --cov
{env_site_packages_dir}{/}pyproject_api \
@@ -40,7 +38,7 @@
description = run static analysis and style check using flake8
package = skip
deps =
- pre-commit-uv>=4.1.1
+ pre-commit-uv>=4.1.4
pass_env =
HOMEPATH
PROGRAMDATA
@@ -53,13 +51,13 @@
extras =
docs
commands =
- sphinx-build -d "{env_tmp_dir}{/}doc_tree" docs "{work_dir}{/}docs_out"
--color -b html {posargs} -W
+ sphinx-build -d "{env_tmp_dir}{/}doc_tree" docs "{work_dir}{/}docs_out"
--color -b html {posargs: -W}
python -c 'print(r"documentation available under
file://{work_dir}{/}docs_out{/}index.html")'
[testenv:type]
description = run type check on code base
deps =
- mypy==1.11.2
+ mypy==1.15
set_env =
{tty:MYPY_FORCE_COLOR = 1}
commands =
@@ -70,9 +68,9 @@
description = check that the long description is valid
skip_install = true
deps =
- check-wheel-contents>=0.6
- twine>=5.1.1
- uv>=0.4.10
+ check-wheel-contents>=0.6.1
+ twine>=6.1
+ uv>=0.7.2
commands =
uv build --sdist --wheel --out-dir {env_tmp_dir} .
twine check {env_tmp_dir}{/}*