Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-devpi-process for
openSUSE:Factory checked in at 2026-08-22 21:35:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-devpi-process (Old)
and /work/SRC/openSUSE:Factory/.python-devpi-process.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-devpi-process"
Sat Aug 22 21:35:28 2026 rev:6 rq:1372958 version:1.2.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-devpi-process/python-devpi-process.changes
2026-03-18 16:52:41.738492613 +0100
+++
/work/SRC/openSUSE:Factory/.python-devpi-process.new.1258/python-devpi-process.changes
2026-08-22 21:37:35.196314984 +0200
@@ -1,0 +2,13 @@
+Fri Aug 21 20:52:15 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 1.2.0:
+ * Add permissions to workflows
+ * Move SECURITY.md to .github/SECURITY.md
+ * Add missing .github config files
+ * Standardize .github files to .yaml suffix
+ * ci(workflows): add zizmor security auditing
+ * fix(type): resolve ty 0.0.25 type errors
+ * Replace prettier with mdformat and yamlfmt
+ * ci(github): test against Python 3.15
+
+-------------------------------------------------------------------
Old:
----
devpi_process-1.1.1.tar.gz
New:
----
devpi_process-1.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-devpi-process.spec ++++++
--- /var/tmp/diff_new_pack.ejta3V/_old 2026-08-22 21:37:36.045345334 +0200
+++ /var/tmp/diff_new_pack.ejta3V/_new 2026-08-22 21:37:36.046345369 +0200
@@ -25,9 +25,8 @@
%bcond_with test
%endif
%{?sle15_python_module_pythons}
-%define skip_python39 1
Name: python-devpi-process%{psuffix}
-Version: 1.1.1
+Version: 1.2.0
Release: 0
Summary: Programmatic API to create and use a devpi server process
License: MIT
++++++ devpi_process-1.1.1.tar.gz -> devpi_process-1.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.github/FUNDING.yaml
new/devpi_process-1.2.0/.github/FUNDING.yaml
--- old/devpi_process-1.1.1/.github/FUNDING.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/.github/FUNDING.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -1 +1,3 @@
-tidelift: pypi/devpi-process
+github: gaborbernat
+tidelift: "pypi/devpi-process"
+thanks_dev: u/gh/gaborbernat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.github/dependabot.yaml
new/devpi_process-1.2.0/.github/dependabot.yaml
--- old/devpi_process-1.1.1/.github/dependabot.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/.github/dependabot.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -4,3 +4,5 @@
directory: "/"
schedule:
interval: "daily"
+ cooldown:
+ default-days: 7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.github/workflows/check.yaml
new/devpi_process-1.2.0/.github/workflows/check.yaml
--- old/devpi_process-1.1.1/.github/workflows/check.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/.github/workflows/check.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -7,11 +7,11 @@
pull_request:
schedule:
- cron: "0 8 * * *"
-
concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true
-
+permissions:
+ contents: read
jobs:
test:
runs-on: ubuntu-latest
@@ -19,6 +19,8 @@
fail-fast: false
matrix:
env:
+ - "3.15"
+ - "3.15t"
- "3.14"
- "3.13"
- "3.12"
@@ -28,13 +30,14 @@
- dev
- pkg_meta
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #
v7.0.0
with:
fetch-depth: 0
+ persist-credentials: false
- name: Install the latest version of uv
- uses: astral-sh/setup-uv@v7
+ uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 #
v8.3.2
with:
- enable-cache: true
+ enable-cache: false
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.github/workflows/release.yaml
new/devpi_process-1.2.0/.github/workflows/release.yaml
--- old/devpi_process-1.1.1/.github/workflows/release.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/.github/workflows/release.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -2,31 +2,31 @@
on:
push:
tags: ["*"]
-
+permissions:
+ contents: read
env:
dists-artifact-name: python-package-distributions
-
jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 #
v7.0.0
with:
fetch-depth: 0
+ persist-credentials: false
- name: Install the latest version of uv
- uses: astral-sh/setup-uv@v7
+ uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 #
v8.3.2
with:
- enable-cache: true
+ enable-cache: false
cache-dependency-glob: "pyproject.toml"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build package
run: uv build --python 3.14 --python-preference only-managed --sdist
--wheel . --out-dir dist
- name: Store the distribution packages
- uses: actions/upload-artifact@v6
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a
# v7
with:
name: ${{ env.dists-artifact-name }}
path: dist/*
-
release:
needs:
- build
@@ -38,11 +38,11 @@
id-token: write
steps:
- name: Download all the dists
- uses: actions/download-artifact@v7
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: ${{ env.dists-artifact-name }}
path: dist/
- name: Publish to PyPI
- uses: pypa/[email protected]
+ uses:
pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # v1.14.0
with:
attestations: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.markdownlint.yaml
new/devpi_process-1.2.0/.markdownlint.yaml
--- old/devpi_process-1.1.1/.markdownlint.yaml 2020-02-02 01:00:00.000000000
+0100
+++ new/devpi_process-1.2.0/.markdownlint.yaml 2020-02-02 01:00:00.000000000
+0100
@@ -3,6 +3,5 @@
headers: false
line_length: 120
tables: false
-
MD046:
style: fenced
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/.pre-commit-config.yaml
new/devpi_process-1.2.0/.pre-commit-config.yaml
--- old/devpi_process-1.1.1/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/.pre-commit-config.yaml 2020-02-02
01:00:00.000000000 +0100
@@ -5,34 +5,47 @@
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.36.2
+ rev: 0.37.4
hooks:
- id: check-github-workflows
args: ["--verbose"]
- repo: https://github.com/codespell-project/codespell
- rev: v2.4.1
+ rev: v2.4.3
hooks:
- id: codespell
additional_dependencies: ["tomli>=2.2.1"]
- repo: https://github.com/tox-dev/tox-toml-fmt
- rev: "v1.7.2"
+ rev: "v1.9.3"
hooks:
- id: tox-toml-fmt
- repo: https://github.com/tox-dev/pyproject-fmt
- rev: "v2.16.2"
+ rev: "v2.25.3"
hooks:
- id: pyproject-fmt
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: "v0.15.2"
+ rev: "v0.15.22"
hooks:
- id: ruff-format
- id: ruff
args: ["--fix", "--unsafe-fixes", "--exit-non-zero-on-fix"]
- - repo: https://github.com/rbubley/mirrors-prettier
- rev: "v3.8.1"
+ - repo: https://github.com/google/yamlfmt
+ rev: "v0.21.0"
hooks:
- - id: prettier
- args: ["--print-width=120", "--prose-wrap=always"]
+ - id: yamlfmt
+ - repo: local
+ hooks:
+ - id: mdformat
+ name: mdformat
+ entry: mdformat --wrap 120
+ language: python
+ types: [markdown]
+ additional_dependencies:
+ - mdformat-gfm>=1
+ - mdformat-ruff>=0.1.3
+ - repo: https://github.com/zizmorcore/zizmor-pre-commit
+ rev: v1.27.0
+ hooks:
+ - id: zizmor
- repo: meta
hooks:
- id: check-hooks-apply
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/PKG-INFO
new/devpi_process-1.2.0/PKG-INFO
--- old/devpi_process-1.1.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: devpi-process
-Version: 1.1.1
+Version: 1.2.0
Summary: devpi process provides a programmatic API to create and use a devpi
server process
Project-URL: Homepage, https://github.com/tox-dev/devpi-process#readme
Project-URL: Source, https://github.com/tox-dev/devpi-process
@@ -23,6 +23,7 @@
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
+Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Testing
Classifier: Topic :: Utilities
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/pyproject.toml
new/devpi_process-1.2.0/pyproject.toml
--- old/devpi_process-1.1.1/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
+++ new/devpi_process-1.2.0/pyproject.toml 2020-02-02 01:00:00.000000000
+0100
@@ -38,6 +38,7 @@
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
+ "Programming Language :: Python :: 3.15",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Testing",
"Topic :: Utilities",
@@ -68,7 +69,7 @@
"pytest-cov>=7",
]
type = [
- "ty>=0.0.17",
+ "ty>=0.0.19",
{ include-group = "test" },
]
lint = [
@@ -81,8 +82,8 @@
]
[tool.hatch]
-build.hooks.vcs.version-file = "src/devpi_process/_version.py"
version.source = "vcs"
+build.hooks.vcs.version-file = "src/devpi_process/_version.py"
[tool.black]
line-length = 120
@@ -127,7 +128,10 @@
count = true
[tool.pyproject-fmt]
-max_supported_python = "3.14"
+max_supported_python = "3.15"
+
+[tool.ty]
+environment.python-version = "3.14"
[tool.coverage]
run.parallel = true
@@ -146,6 +150,3 @@
report.omit = []
html.show_contexts = true
html.skip_covered = false
-
-[tool.ty]
-environment.python-version = "3.14"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/src/devpi_process/__init__.py
new/devpi_process-1.2.0/src/devpi_process/__init__.py
--- old/devpi_process-1.1.1/src/devpi_process/__init__.py 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/src/devpi_process/__init__.py 2020-02-02
01:00:00.000000000 +0100
@@ -9,7 +9,7 @@
import sysconfig
from contextlib import closing
from pathlib import Path
-from subprocess import PIPE, Popen, run # noqa: S404
+from subprocess import PIPE, Popen, run #
ruff:ignore[suspicious-subprocess-import]
from threading import Thread
from typing import IO, TYPE_CHECKING, cast
@@ -26,7 +26,7 @@
def _check_call(cmd: list[str]) -> None:
- run(cmd, check=True, capture_output=True) # noqa: S603
+ run(cmd, check=True, capture_output=True) #
ruff:ignore[subprocess-without-shell-equals-true]
class Index:
@@ -48,7 +48,7 @@
@property
def url(self) -> str:
- """:return: the URL to the index server"""
+ """The URL to the index server."""
return f"{self._server_url}/{self.name}/+simple/"
def use(self) -> None:
@@ -75,7 +75,7 @@
def __init__(
self,
path: Path,
- with_root_pypi: bool = False, # noqa: FBT001, FBT002
+ with_root_pypi: bool = False, #
ruff:ignore[boolean-type-hint-positional-argument,
boolean-default-value-positional-argument]
start_args: Sequence[str] | None = None,
) -> None:
"""
@@ -90,7 +90,7 @@
self._start_args: Sequence[str] = [] if start_args is None else
start_args
self.host, self.port = "localhost", _find_free_port()
- self._passwd = "".join(random.choices(string.ascii_letters, k=8)) #
noqa: S311
+ self._passwd = "".join(random.choices(string.ascii_letters, k=8)) #
ruff:ignore[suspicious-non-cryptographic-random-usage]
scripts_dir = sysconfig.get_path("scripts")
if scripts_dir is None:
@@ -113,7 +113,7 @@
@property
def user(self) -> str:
- """:return: username of the index server"""
+ """Username of the index server."""
return "root"
def __enter__(self) -> Self:
@@ -134,7 +134,7 @@
# 2. start the server
cmd = [self._server, "--serverdir", server_at, "--port",
str(self.port)]
cmd.extend(self._start_args)
- self._process = Popen(cmd, stdout=PIPE, universal_newlines=True) #
noqa: S603
+ self._process = Popen(cmd, stdout=PIPE, universal_newlines=True) #
ruff:ignore[subprocess-without-shell-equals-true]
stdout = self._drain_stdout()
for line in stdout: # pragma: no branch # will always loop at least
once
if "serving at url" in line:
@@ -153,7 +153,7 @@
stdout = cast("IO[str]", process.stdout)
while True:
if process.poll() is not None: # pragma: no cover
- print(f"devpi server with pid {process.pid} at
{self._server_dir} died") # noqa: T201
+ print(f"devpi server with pid {process.pid} at
{self._server_dir} died") # ruff:ignore[print]
break
yield stdout.readline()
@@ -201,7 +201,7 @@
@property
def url(self) -> str:
- """:return: url to the index server"""
+ """URL to the index server."""
return f"http://{self.host}:{self.port}"
def __repr__(self) -> str:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/src/devpi_process/_version.py
new/devpi_process-1.2.0/src/devpi_process/_version.py
--- old/devpi_process-1.1.1/src/devpi_process/_version.py 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/src/devpi_process/_version.py 2020-02-02
01:00:00.000000000 +0100
@@ -1,5 +1,6 @@
-# file generated by setuptools-scm
+# file generated by vcs-versioning
# don't change, don't track in version control
+from __future__ import annotations
__all__ = [
"__version__",
@@ -10,25 +11,14 @@
"commit_id",
]
-TYPE_CHECKING = False
-if TYPE_CHECKING:
- from typing import Tuple
- from typing import Union
-
- VERSION_TUPLE = Tuple[Union[int, str], ...]
- COMMIT_ID = Union[str, None]
-else:
- VERSION_TUPLE = object
- COMMIT_ID = object
-
version: str
__version__: str
-__version_tuple__: VERSION_TUPLE
-version_tuple: VERSION_TUPLE
-commit_id: COMMIT_ID
-__commit_id__: COMMIT_ID
+__version_tuple__: tuple[int | str, ...]
+version_tuple: tuple[int | str, ...]
+commit_id: str | None
+__commit_id__: str | None
-__version__ = version = '1.1.1'
-__version_tuple__ = version_tuple = (1, 1, 1)
+__version__ = version = '1.2.0'
+__version_tuple__ = version_tuple = (1, 2, 0)
__commit_id__ = commit_id = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/tests/demo_pkg_inline/build.py
new/devpi_process-1.2.0/tests/demo_pkg_inline/build.py
--- old/devpi_process-1.1.1/tests/demo_pkg_inline/build.py 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/tests/demo_pkg_inline/build.py 2020-02-02
01:00:00.000000000 +0100
@@ -50,8 +50,8 @@
def build_wheel(
wheel_directory: str,
- metadata_directory: str | None = None, # noqa: ARG001
- config_settings: None = None, # noqa: ARG001
+ metadata_directory: str | None = None, #
ruff:ignore[unused-function-argument]
+ config_settings: None = None, # ruff:ignore[unused-function-argument]
) -> str:
base_name = f"{name}-{version}-py{sys.version_info[0]}-none-any.whl"
path = Path(wheel_directory) / base_name
@@ -62,14 +62,14 @@
def get_requires_for_build_wheel(
- config_settings: None = None, # noqa: ARG001
+ config_settings: None = None, # ruff:ignore[unused-function-argument]
) -> list[str]:
return [] # pragma: no cover # only executed in non-host pythons
def build_sdist(
sdist_directory: str,
- config_settings: None = None, # noqa: ARG001
+ config_settings: None = None, # ruff:ignore[unused-function-argument]
) -> str:
result = f"{name}-{version}.tar.gz"
with tarfile.open(str(Path(sdist_directory) / result), "w:gz") as tar:
@@ -86,6 +86,6 @@
def get_requires_for_build_sdist(
- config_settings: None = None, # noqa: ARG001
+ config_settings: None = None, # ruff:ignore[unused-function-argument]
) -> list[str]:
return [] # pragma: no cover # only executed in non-host pythons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/tests/test_devpi_process.py
new/devpi_process-1.2.0/tests/test_devpi_process.py
--- old/devpi_process-1.1.1/tests/test_devpi_process.py 2020-02-02
01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/tests/test_devpi_process.py 2020-02-02
01:00:00.000000000 +0100
@@ -14,7 +14,7 @@
def test_version() -> None:
- import devpi_process # noqa: PLC0415
+ import devpi_process # ruff:ignore[import-outside-top-level]
assert devpi_process.__version__ is not None
@@ -69,5 +69,7 @@
def test_create_server_start_args(tmp_path: Path) -> None:
with IndexServer(tmp_path, start_args=["--offline-mode"]) as server:
- assert server._process is not None # noqa: SLF001
- assert server._process.args[-1] == "--offline-mode" # type:
ignore[index] # noqa: SLF001
+ assert server._process is not None #
ruff:ignore[private-member-access]
+ args = server._process.args # ruff:ignore[private-member-access]
+ assert isinstance(args, list)
+ assert args[-1] == "--offline-mode"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/devpi_process-1.1.1/tox.toml
new/devpi_process-1.2.0/tox.toml
--- old/devpi_process-1.1.1/tox.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/devpi_process-1.2.0/tox.toml 2020-02-02 01:00:00.000000000 +0100
@@ -1,5 +1,5 @@
requires = [ "tox>=4.34.1", "tox-uv>=1.29" ]
-env_list = [ "3.14", "3.13", "3.12", "3.11", "3.10", "fix", "pkg_meta", "type"
]
+env_list = [ "3.15", "3.14", "3.13", "3.12", "3.11", "3.10", "3.15t", "fix",
"pkg_meta", "type" ]
skip_missing_interpreters = true
[env_run_base]
@@ -14,7 +14,7 @@
"python",
"-m",
"pytest",
- { replace = "posargs", extend = true, default = [
+ { replace = "posargs", default = [
"--cov",
"{env_site_packages_dir}{/}devpi_process",
"--cov",
@@ -31,7 +31,7 @@
"--junitxml",
"{work_dir}{/}junit.{env_name}.xml",
"tests",
- ] },
+ ], extend = true },
],
]