15
0
forked from pool/python-Pebble

- update to 5.2.0:

* issue #158: set pending futures to BrokenProcessPool error
    when ProcessPool internal errors occur.
  * Cleanup resources when terminating pool's processes via SIGTERM.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Pebble?expand=0&rev=40
This commit is contained in:
2026-01-27 07:35:21 +00:00
committed by Git OBS Bridge
commit 0d151dbbc2
6 changed files with 289 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
pebble-5.1.3.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9fdf00dde4abb09907817114ad8cf822836b6d6cc8f43a3f0ec741be276086e7
size 39027

3
pebble-5.2.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e0a5f6a1cfdd0ac1bfc4a789e20d2b4b895de976e547d23b7de23b71ef39b34
size 39811

195
python-Pebble.changes Normal file
View File

@@ -0,0 +1,195 @@
-------------------------------------------------------------------
Tue Jan 27 07:34:58 UTC 2026 - Dirk Müller <dmueller@suse.com>
- update to 5.2.0:
* issue #158: set pending futures to BrokenProcessPool error
when ProcessPool internal errors occur.
* Cleanup resources when terminating pool's processes via SIGTERM.
-------------------------------------------------------------------
Fri Aug 15 02:17:49 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 5.1.3:
* issue #152: fix crash when scheduling non copy-able functions
* issue #101: allow `atexit.register` callbacks on pool shutdown
* Fix deadlock with `waitforthreads` function
* Fix bug causing threads to crash when using `waitforthreads`
function
-------------------------------------------------------------------
Wed Apr 23 10:56:25 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 5.1.1
* issue #146: fix pool hanging on pickle errors.
* issue #147: fix pool hanging when futures are cancelled
while large amount of data is being transferred.
- Adjust upstream source name in spec file
- Allow lower- and uppercase filenames for meta directory
- Switch build system from setuptools to pyproject.toml
* Add python-pip and python-wheel to BuildRequires
* Replace %python_build with %pyproject_wheel
* Replace %python_install with %pyproject_install
- Use Python 3.11 on SLE-15 by default
-------------------------------------------------------------------
Fri Jan 24 13:34:44 UTC 2025 - Yunus Acar <yunus.acar@suse.com>
- Update to 5.1.0:
* issue #140: expose internal constants to allow changing default
timeouts and polling intervals.
* issue #141: add PID of expired process to ProcessExpired exception.
* Add pool decorators parameter allowing to provide a PebblePool
as executor for the decorated functions.
* issue #137: reset SIGTERM default handler to child processes.
* Include concurrent and asynchronous modules as top-level packages.
* Improve type hinting logic.
* Refactor internal logic: remove code duplication.
-------------------------------------------------------------------
Fri Mar 22 21:01:33 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 5.0.7:
* issue #96: handle race condition under different interpreters
* issue #125: handle frozen classes as exceptions
* issue #127: handle unexpected errors when reading from pipe in
process decorators
* issue #128: allow different context from `multiprocessing` ones
-------------------------------------------------------------------
Wed Dec 27 13:52:06 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 5.0.6:
* issue #124: handle `BaseException` in pools' workers
-------------------------------------------------------------------
Sun Dec 10 21:37:30 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 5.0.5:
* issue #123: do not raise exception when returned from workers
* issue #122: slightly improve type hints
* issue #122: add type hints to decorator functions
-------------------------------------------------------------------
Tue Nov 15 21:50:22 UTC 2022 - Martin Liška <mliska@suse.cz>
- Update to 5.0.3
* issue #111: reinstate `Pool.schedule` function in place of
`Pool.submit`.
-------------------------------------------------------------------
Mon Oct 10 11:29:15 UTC 2022 - Martin Liška <mliska@suse.cz>
- Update to 5.0.2
* issue #108: fix build tag enforcing Python 3.6 as minimum
compatible version.
-------------------------------------------------------------------
Thu Oct 6 07:29:26 UTC 2022 - Martin Liška <mliska@suse.cz>
- Update to 5.0.1
* Improvements:
+ issue #105: run callbacks after process termination on timeout or
task cancellation
-------------------------------------------------------------------
Tue Sep 13 11:09:36 UTC 2022 - Martin Liška <mliska@suse.cz>
- Update to 5.0.0
* Backward incompatible changes:
+ issue #93: Python 2 is no longer compatible. Minimum supported
version is now 3.7.
* Deprecations:
+ issue #90: pools `schedule` method is now deprecated, use `submit`
instead.
* Features:
+ issue #90: pools are now compatible with asyncio APIs.
+ issue #94: asynchronous function decorators
+ issue #102: type hints have been added to all functionalities
+ issue #103: support alternative multiprocessing.context
implementations
* Fixes:
+ issue #99: fix deadlock when closing a full pipe on Windows in pool
- Require Python >= 3.7.
- Drop Python 2 support.
-------------------------------------------------------------------
Tue Aug 16 23:32:48 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
- Update to 4.6.3
+ issue #84: fix import bug on Windows
- Update to 4.6.2
* Fixes:
+ issue #82: fix issue with poll mechanism in MAC OS Mojave (@sam-harding)
+ Fix polling timeout resolution (@sam-harding)
- Update to 4.6.1
* Improvements:
+ issue #76: allow spawning processes within `ProcessPool` workers
+ Few minor improvements
* Fixes:
+ issues #75: fix error when cancelling futures in Python >= 3.8
+ issue #80: fix error when using decorators without @pie notation
+ Several minor fixes on MAC OS
* Tests:
+ Add Windows and MAC OS test automation support
-------------------------------------------------------------------
Thu Jan 14 03:53:26 UTC 2021 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 4.6.0
* Features:
+ issue #73: allow passing `multiprocessing.context` object
as `concurrent.process` and `ProcessPool` parameter
* Fixes:
+ issues #34, #35: rework Pool termination logic to silence Windows errors
+ issue #68: use fully qualified function name in `concurrent.process`
decorator trampoline to handle class inheritance in Windows
+ issue #69: correctly propagate the timeout in pool's map method
+ issue #64: rework versioning logic
-------------------------------------------------------------------
Wed May 6 15:47:22 UTC 2020 - Martin Liška <mliska@suse.cz>
- Bump to 4.5.2:
- Fix issue #58: handle pool connection teardown in Python 3.8
-------------------------------------------------------------------
Mon Apr 20 11:18:48 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Fix build without python2
-------------------------------------------------------------------
Thu Mar 26 16:16:44 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 4.5.1
* add daemon parameter to decorator
* travis: add Python 3.8 tests
-------------------------------------------------------------------
Wed Jan 15 10:59:02 UTC 2020 - Marketa Calabkova <mcalabkova@suse.com>
- update to 4.4.1
* use poll in channel implementation instead of select
* handle pickling errors in ProcessPool
* add test cases
-------------------------------------------------------------------
Mon Oct 7 15:00:00 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 4.4.0:
* Various doc and test fixes
-------------------------------------------------------------------
Sat Aug 24 05:59:11 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Use description from upstream.
-------------------------------------------------------------------
Sun Aug 11 03:51:46 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Initial version

64
python-Pebble.spec Normal file
View File

@@ -0,0 +1,64 @@
#
# spec file for package python-Pebble
#
# Copyright (c) 2026 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-Pebble
Version: 5.2.0
Release: 0
Summary: Threading and multiprocessing eye-candy for Python
License: LGPL-3.0-only
URL: https://github.com/noxdafox/pebble
Source: https://files.pythonhosted.org/packages/source/p/pebble/pebble-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: git-core
BuildRequires: python-rpm-macros
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module pytest}
# /SECTION
%python_subpackages
%description
Pebble provides an API to manage threads and processes within an application.
It wraps Pythons standard library threading and multiprocessing objects.
%prep
%setup -q -n pebble-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# Seems to actually deadlock
%pytest -k 'not test_pool_deadlock_stop_cancel'
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/pebble
%{python_sitelib}/[Pp]ebble-%{version}.dist-info
%changelog