Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-fasteners for 
openSUSE:Factory checked in at 2025-09-30 17:34:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-fasteners (Old)
 and      /work/SRC/openSUSE:Factory/.python-fasteners.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-fasteners"

Tue Sep 30 17:34:54 2025 rev:15 rq:1307758 version:0.20

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-fasteners/python-fasteners.changes        
2025-08-08 15:10:46.497405193 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-fasteners.new.11973/python-fasteners.changes 
    2025-09-30 17:35:24.371652943 +0200
@@ -1,0 +2,11 @@
+Mon Sep 29 11:18:04 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 0.20:
+  * InterProcessLock now catches OSError and handles
+    BlockingIOError correctly.
+  * Remove support for python 3.8, python 3.9 and pypy 3.9. It
+    should still work,
+  * but is no longer tested.
+  * Add support for python 3.12, 3.13 and pypy 3.11.
+
+-------------------------------------------------------------------

Old:
----
  python-fasteners-0.19-gh.tar.gz

New:
----
  python-fasteners-0.20-gh.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-fasteners.spec ++++++
--- /var/tmp/diff_new_pack.Rrddm9/_old  2025-09-30 17:35:25.715709647 +0200
+++ /var/tmp/diff_new_pack.Rrddm9/_new  2025-09-30 17:35:25.719709816 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-fasteners
-Version:        0.19
+Version:        0.20
 Release:        0
 Summary:        A python package that provides useful locks
 License:        Apache-2.0

++++++ python-fasteners-0.19-gh.tar.gz -> python-fasteners-0.20-gh.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/.github/workflows/build_docs.yml 
new/fasteners-0.20/.github/workflows/build_docs.yml
--- old/fasteners-0.19/.github/workflows/build_docs.yml 2023-09-19 
19:12:20.000000000 +0200
+++ new/fasteners-0.20/.github/workflows/build_docs.yml 1970-01-01 
01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-name: GitHub Pages
-
-on:
-  push:
-    branches: [ main ]
-  pull_request:
-
-jobs:
-  deploy:
-    runs-on: ubuntu-20.04
-    concurrency:
-      group: ${{ github.workflow }}-${{ github.ref }}
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Setup Python
-        uses: actions/setup-python@v2
-        with:
-          python-version: '3.8'
-
-      - name: Upgrade pip
-        run: |
-          # install pip=>20.1 to use "pip cache dir"
-          python3 -m pip install --upgrade pip
-
-      - name: Get pip cache dir
-        id: pip-cache
-        run: echo "::set-output name=dir::$(pip cache dir)"
-
-      - name: Cache dependencies
-        uses: actions/cache@v2
-        with:
-          path: ${{ steps.pip-cache.outputs.dir }}
-          key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
-          restore-keys: |
-            ${{ runner.os }}-pip-
-
-      - name: Install dependencies
-        run: python3 -m pip install -r ./requirements-docs.txt
-
-      - name: Install itself
-        run: python3 -m pip install -e .
-
-      - run: mkdocs build
-
-      - name: Deploy
-        uses: peaceiris/actions-gh-pages@v3
-        if: ${{ github.ref == 'refs/heads/main' }}
-        with:
-          github_token: ${{ secrets.GITHUB_TOKEN }}
-          publish_dir: ./site
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/.github/workflows/run_tests.yml 
new/fasteners-0.20/.github/workflows/run_tests.yml
--- old/fasteners-0.19/.github/workflows/run_tests.yml  2023-09-19 
19:12:20.000000000 +0200
+++ new/fasteners-0.20/.github/workflows/run_tests.yml  2025-08-11 
12:20:49.000000000 +0200
@@ -16,19 +16,15 @@
     strategy:
       matrix:
         os: [ubuntu-latest, macos-latest, windows-latest]
-        python-version: [3.8, 3.9, '3.10', '3.11', 'pypy3.9', 'pypy3.10']
+        python-version: ['3.10', '3.11', '3.12', '3.13', 'pypy-3.10', 
'pypy-3.11']
 
     steps:
-    - uses: actions/checkout@v2
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
+    - uses: actions/checkout@v4
+
+    - name: Install uv
+      uses: astral-sh/setup-uv@v6
       with:
         python-version: ${{ matrix.python-version }}
-    - name: Install dependencies
-      run: |
-        python -m pip install --upgrade pip
-        python -m pip install .
-        python -m pip install -r requirements-test.txt
+
     - name: Test with pytest
-      run: |
-        pytest tests/
+      run: uv run --group test pytest tests/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/.readthedocs.yaml 
new/fasteners-0.20/.readthedocs.yaml
--- old/fasteners-0.19/.readthedocs.yaml        2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/.readthedocs.yaml        2025-08-11 12:20:49.000000000 
+0200
@@ -3,14 +3,14 @@
 version: 2
 
 build:
-  os: ubuntu-22.04
+  os: ubuntu-24.04
   tools:
-    python: "3.11"
+    python: "3.13"
+  jobs:
+    install:
+      - pip install .
+      - pip install --groups docs
 
 mkdocs:
   configuration: mkdocs.yml
   fail_on_warning: false
-
-python:
-  install:
-    - requirements: requirements-docs.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/CHANGELOG.md 
new/fasteners-0.20/CHANGELOG.md
--- old/fasteners-0.19/CHANGELOG.md     2023-09-19 19:12:20.000000000 +0200
+++ new/fasteners-0.20/CHANGELOG.md     2025-08-11 12:20:49.000000000 +0200
@@ -4,6 +4,12 @@
 
 ## [Unreleased]
 
+## [0.20]
+  - InterProcessLock now catches OSError and handles BlockingIOError correctly.
+  - Remove support for python 3.8, python 3.9 and pypy 3.9. It should still 
work,
+    but is no longer tested.
+  - Add support for python 3.12, 3.13 and pypy 3.11.
+
 ## [0.19]
   - Add `.acquire_read_lock`, `.release_read_lock`, `.acquire_write_lock`, and
     `.release_write_lock` methods to the inter thread `ReaderWriterLock` as 
was 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/README.md new/fasteners-0.20/README.md
--- old/fasteners-0.19/README.md        2023-09-19 19:12:20.000000000 +0200
+++ new/fasteners-0.20/README.md        2025-08-11 12:20:49.000000000 +0200
@@ -2,7 +2,6 @@
 =========
 
 [![Documentation 
status](https://readthedocs.org/projects/fasteners/badge/?version=latest)](https://readthedocs.org/projects/fasteners/?badge=latest)
-[![Downloads](https://img.shields.io/pypi/dm/fasteners.svg)](https://pypi.python.org/pypi/fasteners/)
 [![Latest 
version](https://img.shields.io/pypi/v/fasteners.svg)](https://pypi.python.org/pypi/fasteners/)
 
 Cross-platform locks for threads and processes.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/fasteners/process_lock.py 
new/fasteners-0.20/fasteners/process_lock.py
--- old/fasteners-0.19/fasteners/process_lock.py        2023-09-19 
19:12:20.000000000 +0200
+++ new/fasteners-0.20/fasteners/process_lock.py        2025-08-11 
12:20:49.000000000 +0200
@@ -83,7 +83,7 @@
     def _try_acquire(self, blocking, watch):
         try:
             self.trylock()
-        except IOError as e:
+        except (IOError, OSError) as e:
             if e.errno in (errno.EACCES, errno.EAGAIN):
                 if not blocking or watch.expired():
                     return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/fasteners/version.py 
new/fasteners-0.20/fasteners/version.py
--- old/fasteners-0.19/fasteners/version.py     2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/fasteners/version.py     2025-08-11 12:20:49.000000000 
+0200
@@ -17,7 +17,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-_VERSION = "0.19"
+_VERSION = "0.20"
 
 
 def version_string():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/publish.md 
new/fasteners-0.20/publish.md
--- old/fasteners-0.19/publish.md       2023-09-19 19:12:20.000000000 +0200
+++ new/fasteners-0.20/publish.md       2025-08-11 12:20:49.000000000 +0200
@@ -1,26 +1,23 @@
 1. Update the change log:
 
-       CHANGELOG
+       CHANGELOG.md
 
 2. Update the version number:
 
-       setup.cfg
+       pyproject.toml
        fasteners/version.py
 
-4. Make sure that the working directory is clean.
-
+3. Make sure that the working directory is clean.
 
 4. Build:
 
-       source venv/bin/activate
-       python -m build
+       uv run --group build python -m build
 
 5. Inspect the packages manually.
 
-
 6. Upload:
 
-       twine upload dist/*
+       uv run --group build twine upload dist/*
 
 7. Tag the git repo.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/pyproject.toml 
new/fasteners-0.20/pyproject.toml
--- old/fasteners-0.19/pyproject.toml   2023-09-19 19:12:20.000000000 +0200
+++ new/fasteners-0.20/pyproject.toml   2025-08-11 12:20:49.000000000 +0200
@@ -1,3 +1,57 @@
+[project]
+name = "fasteners"
+version = "0.20"
+description = "A python package that provides useful locks"
+readme = { file = "README.md", content-type = "text/markdown; charset=UTF-8" }
+requires-python = ">=3.6"
+keywords = ["lock", "thread", "process", "fasteners"]
+license = "Apache-2.0"
+authors = [{ name = "Joshua Harlow" }]
+maintainers = [{ name = "Paulius Šarka" }]
+classifiers = [
+    "Development Status :: 5 - Production/Stable",
+    "Intended Audience :: Developers",
+    "Operating System :: POSIX :: Linux",
+    "Operating System :: Microsoft :: Windows",
+    "Operating System :: MacOS",
+    "Programming Language :: Python :: 3",
+    "Programming Language :: Python :: 3.10",
+    "Programming Language :: Python :: 3.11",
+    "Programming Language :: Python :: 3.12",
+    "Programming Language :: Python :: 3.13",
+    "Programming Language :: Python :: Implementation :: PyPy",
+    "Topic :: Utilities",
+]
+
+[project.urls]
+Homepage = "https://github.com/harlowja/fasteners";
+
+[dependency-groups]
+test = [
+    "diskcache",
+    "eventlet",
+    "more_itertools",
+    "pytest",
+]
+docs = [
+    "mkdocs",
+    "mkdocstrings[python] >= 0.18",
+    "mkdocs-material",
+]
+build = [
+    "build",
+    "twine",
+]
+
+[tool.uv.dependency-groups.docs]
+requires-python = ">=3.12"
+
+[tool.uv.dependency-groups.build]
+requires-python = ">=3.12"
+
 [build-system]
 requires = ["setuptools", "wheel"]
 build-backend = "setuptools.build_meta"
+
+[tool.setuptools.packages.find]
+exclude = ["tests", "tests_eventlet"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/requirements-docs.txt 
new/fasteners-0.20/requirements-docs.txt
--- old/fasteners-0.19/requirements-docs.txt    2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/requirements-docs.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +0,0 @@
-mkdocs
-mkdocstrings[python] >= 0.18
-mkdocs-material
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/requirements-pkg.txt 
new/fasteners-0.20/requirements-pkg.txt
--- old/fasteners-0.19/requirements-pkg.txt     2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/requirements-pkg.txt     1970-01-01 01:00:00.000000000 
+0100
@@ -1,2 +0,0 @@
-build
-twine
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/requirements-test.txt 
new/fasteners-0.20/requirements-test.txt
--- old/fasteners-0.19/requirements-test.txt    2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/requirements-test.txt    1970-01-01 01:00:00.000000000 
+0100
@@ -1,4 +0,0 @@
-diskcache
-eventlet
-more_itertools
-pytest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/setup.cfg new/fasteners-0.20/setup.cfg
--- old/fasteners-0.19/setup.cfg        2023-09-19 19:12:20.000000000 +0200
+++ new/fasteners-0.20/setup.cfg        1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-[metadata]
-name = fasteners
-version = 0.19
-url = https://github.com/harlowja/fasteners
-
-author = Joshua Harlow
-maintainer = Paulius Šarka
-
-description = A python package that provides useful locks
-long_description = file:README.md
-long_description_content_type = text/markdown; charset-UTF-8
-keywords = lock thread process fasteners
-
-classifiers =
-    Development Status :: 4 - Beta
-    Intended Audience :: Developers
-    License :: OSI Approved :: Apache Software License
-    Operating System :: POSIX :: Linux
-    Operating System :: Microsoft :: Windows
-    Operating System :: MacOS
-    Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.6
-    Programming Language :: Python :: 3.7
-    Programming Language :: Python :: 3.8
-    Programming Language :: Python :: 3.9
-    Programming Language :: Python :: 3.10
-    Programming Language :: Python :: Implementation :: PyPy
-    Topic :: Utilities
-
-license = Apache-2.0
-license_files = LICENSE
-
-[options]
-packages = find:
-python_requires = >=3.6
-
-[options.packages.find]
-exclude =
-    tests
-    tests_eventlet
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fasteners-0.19/tests/test_eventlet.py 
new/fasteners-0.20/tests/test_eventlet.py
--- old/fasteners-0.19/tests/test_eventlet.py   2023-09-19 19:12:20.000000000 
+0200
+++ new/fasteners-0.20/tests/test_eventlet.py   2025-08-11 12:20:49.000000000 
+0200
@@ -5,6 +5,7 @@
 import concurrent.futures
 from multiprocessing import get_context
 
+import pytest
 
 def _test_eventlet_spawn_n_bug():
     """Both threads run at the same time thru the lock"""
@@ -50,6 +51,7 @@
     assert FINISHED.wait(1) == 'finished'
 
 
[email protected](reason="This bug is no longer triggered in recent versions 
of eventlet")
 def test_eventlet_spawn_n_bug():
     with 
concurrent.futures.ProcessPoolExecutor(mp_context=get_context('spawn')) as 
executor:
         f = executor.submit(_test_eventlet_spawn_n_bug)

Reply via email to