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}")' ] ]

Reply via email to