Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-filelock for openSUSE:Factory
checked in at 2025-11-12 21:41:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-filelock (Old)
and /work/SRC/openSUSE:Factory/.python-filelock.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-filelock"
Wed Nov 12 21:41:36 2025 rev:26 rq:1317112 version:3.20.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-filelock/python-filelock.changes
2025-09-17 16:42:33.346620283 +0200
+++
/work/SRC/openSUSE:Factory/.python-filelock.new.1980/python-filelock.changes
2025-11-12 21:42:21.724598284 +0100
@@ -1,0 +2,8 @@
+Tue Oct 21 09:31:13 UTC 2025 - John Paul Adrian Glaubitz
<[email protected]>
+
+- Update to 3.20.0
+ * Add tox.toml to sdist
+ * Update docs with example
+ * Add 3.14 support and drop 3.9
+
+-------------------------------------------------------------------
Old:
----
filelock-3.19.1.tar.gz
New:
----
filelock-3.20.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-filelock.spec ++++++
--- /var/tmp/diff_new_pack.EmAwXX/_old 2025-11-12 21:42:22.272621302 +0100
+++ /var/tmp/diff_new_pack.EmAwXX/_new 2025-11-12 21:42:22.276621471 +0100
@@ -27,7 +27,7 @@
%endif
%{?sle15_python_module_pythons}
Name: python-filelock%{?pkg_suffix}
-Version: 3.19.1
+Version: 3.20.0
Release: 0
Summary: Platform Independent File Lock in Python
License: Unlicense
++++++ filelock-3.19.1.tar.gz -> filelock-3.20.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/PKG-INFO new/filelock-3.20.0/PKG-INFO
--- old/filelock-3.19.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/filelock-3.20.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: filelock
-Version: 3.19.1
+Version: 3.20.0
Summary: A platform independent file lock.
Project-URL: Documentation, https://py-filelock.readthedocs.io
Project-URL: Homepage, https://github.com/tox-dev/py-filelock
@@ -16,15 +16,15 @@
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
-Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
+Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System
-Requires-Python: >=3.9
+Requires-Python: >=3.10
Description-Content-Type: text/markdown
# filelock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/pyproject.toml
new/filelock-3.20.0/pyproject.toml
--- old/filelock-3.19.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/filelock-3.20.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -20,7 +20,7 @@
maintainers = [
{ name = "Bernát Gábor", email = "[email protected]" },
]
-requires-python = ">=3.9"
+requires-python = ">=3.10"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
@@ -28,11 +28,11 @@
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
- "Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
+ "Programming Language :: Python :: 3.14",
"Topic :: Internet",
"Topic :: Software Development :: Libraries",
"Topic :: System",
@@ -57,36 +57,36 @@
test = [
"covdefaults>=2.3",
- "diff-cover>=9.6",
- "pytest>=8.4.1",
- "pytest-asyncio>=1.1",
- "pytest-cov>=6.2.1",
- "pytest-mock>=3.14.1",
+ "diff-cover>=9.7.1",
+ "pytest>=8.4.2",
+ "pytest-asyncio>=1.2",
+ "pytest-cov>=7",
+ "pytest-mock>=3.15.1",
"pytest-timeout>=2.4",
- "virtualenv>=20.33.1",
+ "virtualenv>=20.34",
]
type = [
- "mypy>=1.17.1",
- "typing-extensions>=4.14.1; python_version<'3.11'",
+ "mypy>=1.18.2",
+ "typing-extensions>=4.15; python_version<'3.11'",
{ include-group = "test" },
]
docs = [
- "furo>=2025.7.19",
+ "furo>=2025.9.25",
"sphinx>=8.2.3",
"sphinx-autodoc-typehints>=3.2",
]
fix = [
- "pre-commit-uv>=4.1.4",
+ "pre-commit-uv>=4.1.5",
]
pkg-meta = [
"check-wheel-contents>=0.6.3",
- "twine>=6.1",
- "uv>=0.8.5",
+ "twine>=6.2",
+ "uv>=0.8.22",
]
coverage = [
"covdefaults>=2.3",
- "coverage[toml]>=7.10.2",
- "diff-cover>=9.6",
+ "coverage[toml]>=7.10.7",
+ "diff-cover>=9.7.1",
]
[tool.hatch]
@@ -94,7 +94,7 @@
build.targets.sdist.include = [
"/src",
"/tests",
- "/tox.ini",
+ "/tox.toml",
]
version.source = "vcs"
@@ -140,7 +140,7 @@
ignore-words-list = "master"
[tool.pyproject-fmt]
-max_supported_python = "3.13"
+max_supported_python = "3.14"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "session"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/src/filelock/asyncio.py
new/filelock-3.20.0/src/filelock/asyncio.py
--- old/filelock-3.19.1/src/filelock/asyncio.py 2020-02-02 01:00:00.000000000
+0100
+++ new/filelock-3.20.0/src/filelock/asyncio.py 2020-02-02 01:00:00.000000000
+0100
@@ -10,7 +10,7 @@
from dataclasses import dataclass
from inspect import iscoroutinefunction
from threading import local
-from typing import TYPE_CHECKING, Any, Callable, NoReturn, cast
+from typing import TYPE_CHECKING, Any, NoReturn, cast
from ._api import BaseFileLock, FileLockContext, FileLockMeta
from ._error import Timeout
@@ -20,6 +20,7 @@
if TYPE_CHECKING:
import sys
+ from collections.abc import Callable
from concurrent import futures
from types import TracebackType
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/src/filelock/version.py
new/filelock-3.20.0/src/filelock/version.py
--- old/filelock-3.19.1/src/filelock/version.py 2020-02-02 01:00:00.000000000
+0100
+++ new/filelock-3.20.0/src/filelock/version.py 2020-02-02 01:00:00.000000000
+0100
@@ -1,7 +1,14 @@
# file generated by setuptools-scm
# don't change, don't track in version control
-__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
+__all__ = [
+ "__version__",
+ "__version_tuple__",
+ "version",
+ "version_tuple",
+ "__commit_id__",
+ "commit_id",
+]
TYPE_CHECKING = False
if TYPE_CHECKING:
@@ -9,13 +16,19 @@
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__ = version = '3.19.1'
-__version_tuple__ = version_tuple = (3, 19, 1)
+__version__ = version = '3.20.0'
+__version_tuple__ = version_tuple = (3, 20, 0)
+
+__commit_id__ = commit_id = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/tests/test_filelock.py
new/filelock-3.20.0/tests/test_filelock.py
--- old/filelock-3.19.1/tests/test_filelock.py 2020-02-02 01:00:00.000000000
+0100
+++ new/filelock-3.20.0/tests/test_filelock.py 2020-02-02 01:00:00.000000000
+0100
@@ -12,7 +12,7 @@
from pathlib import Path, PurePath
from stat import S_IWGRP, S_IWOTH, S_IWUSR, filemode
from types import TracebackType
-from typing import TYPE_CHECKING, Any, Callable, Union
+from typing import TYPE_CHECKING, Any
from uuid import uuid4
from weakref import WeakValueDictionary
@@ -21,7 +21,7 @@
from filelock import BaseFileLock, FileLock, SoftFileLock, Timeout,
UnixFileLock, WindowsFileLock
if TYPE_CHECKING:
- from collections.abc import Iterator
+ from collections.abc import Callable, Iterator
from pytest_mock import MockerFixture
@@ -220,7 +220,7 @@
assert not lock_1.is_locked
-_ExcInfoType = Union[tuple[type[BaseException], BaseException, TracebackType],
tuple[None, None, None]]
+_ExcInfoType = tuple[type[BaseException], BaseException, TracebackType] |
tuple[None, None, None]
class ExThread(threading.Thread):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/filelock-3.19.1/tox.toml new/filelock-3.20.0/tox.toml
--- old/filelock-3.19.1/tox.toml 1970-01-01 01:00:00.000000000 +0100
+++ new/filelock-3.20.0/tox.toml 2020-02-02 01:00:00.000000000 +0100
@@ -0,0 +1,148 @@
+requires = [ "tox>=4.30.2" ]
+env_list = [ "fix", "3.14t", "3.14", "3.13", "3.12", "3.11", "3.10",
"coverage", "type", "docs", "pkg_meta" ]
+skip_missing_interpreters = true
+
+[env_run_base]
+description = "run the tests with pytest under {env_name}"
+package = "wheel"
+wheel_build_env = ".pkg"
+dependency_groups = [ "test" ]
+pass_env = [ "PYTEST_*", "SSL_CERT_FILE" ]
+set_env.COVERAGE_FILE = { replace = "env", name = "COVERAGE_FILE", default =
"{work_dir}{/}.coverage.{env_name}" }
+commands = [
+ [
+ "pytest",
+ "--durations",
+ "10",
+ "--junitxml",
+ "{env_tmp_dir}{/}junit.xml",
+ { replace = "posargs", extend = true, default = [
+ "--no-cov-on-fail",
+ "--cov",
+ "{env_site_packages_dir}{/}filelock",
+ "--cov",
+ "{tox_root}{/}tests",
+ "--cov-config",
+ "{tox_root}{/}pyproject.toml",
+ "--cov-context",
+ "test",
+ "--cov-report",
+ "term-missing:skip-covered",
+ "--cov-report",
+ "html:{env_tmp_dir}{/}htmlcov",
+ "--cov-report",
+ "xml:{env_tmp_dir}{/}coverage.xml",
+ ] },
+
+ "tests",
+ ],
+ { replace = "posargs", extend = true, default = [
+ [
+ "diff-cover",
+ "--compare-branch",
+ { replace = "env", name = "DIFF_AGAINST", default = "origin/main" },
+ "{env_tmp_dir}{/}coverage.xml",
+ ],
+ ] },
+]
+
+[env.coverage]
+description = "combine coverage files and generate diff (against DIFF_AGAINST
defaulting to origin/main)"
+skip_install = true
+dependency_groups = [ "coverage" ]
+pass_env = [
+ { replace = "ref", of = [
+ "env_run_base",
+ "pass_env",
+ ], extend = true },
+ "DIFF_AGAINST",
+]
+set_env.COVERAGE_FILE = { replace = "env", name = "COVERAGE_FILE", default =
"{work_dir}{/}.coverage" }
+commands = [
+ [ "coverage", "combine" ],
+ [ "coverage", "report", "--skip-covered", "--show-missing" ],
+ [ "coverage", "xml", "-o", "{env_tmp_dir}{/}coverage.xml" ],
+ [ "coverage", "html", "-d", "{work_dir}{/}htmlcov" ],
+ [
+ "diff-cover",
+ "--compare-branch",
+ { replace = "env", name = "DIFF_AGAINST", default = "origin/main" },
+ "{env_tmp_dir}{/}coverage.xml",
+ ],
+]
+parallel_show_output = true
+depends = [ "3.14t", "3.14", "3.13", "3.12", "3.11", "3.10" ]
+
+[env.fix]
+description = "format the code base to adhere to our styles, and complain
about what we cannot do automatically"
+skip_install = true
+dependency_groups = [ "fix" ]
+pass_env = [
+ { replace = "ref", of = [
+ "env_run_base",
+ "pass_env",
+ ], extend = true },
+ "PROGRAMDATA",
+ "DISABLE_PRE_COMMIT_UV_PATCH",
+]
+commands = [ [ "pre-commit", "run", "--all-files", "--show-diff-on-failure", {
replace = "posargs", extend = true } ] ]
+
+[env.type]
+description = "run type check on code base"
+dependency_groups = [ "type" ]
+commands = [ [ "mypy", "src{/}filelock" ], [ "mypy", "tests" ] ]
+
+[env.docs]
+description = "build documentation"
+dependency_groups = [ "docs" ]
+commands = [
+ [
+ "sphinx-build",
+ "-d",
+ "{env_tmp_dir}{/}docs_tree",
+ "docs",
+ "{env:READTHEDOCS_OUTPUT:{work_dir}{/}docs_out}/html",
+ "--color",
+ "-b",
+ "html",
+ { replace = "posargs", default = [ ], extend = true },
+ "-W",
+ ],
+ [
+ "python",
+ "-c",
+ 'print(r"documentation available under
file://{work_dir}{/}docs_out{/}index.html")',
+ ],
+]
+
+[env.pkg_meta]
+description = "check that the long description is valid"
+skip_install = true
+dependency_groups = [ "pkg_meta" ]
+commands = [
+ [
+ "uv",
+ "build",
+ "--sdist",
+ "--wheel",
+ "--out-dir",
+ "{env_tmp_dir}",
+ ".",
+ ],
+ [
+ "twine",
+ "check",
+ "{env_tmp_dir}{/}*",
+ ],
+ [
+ "check-wheel-contents",
+ "--no-config",
+ "{env_tmp_dir}",
+ ],
+]
+
+[env.dev]
+description = "dev environment with all deps at {envdir}"
+package = "editable"
+dependency_groups = [ "dev" ]
+commands = [ [ "uv", "pip", "list", "--format=columns" ], [ "python", "-c",
'print(r"{env_python}")' ] ]