| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python313-unsync | Distribution: openSUSE Tumbleweed |
| Version: 1.4.0 | Vendor: openSUSE |
| Release: 1.3 | Build date: Thu Jan 16 13:36:55 2025 |
| Group: Unspecified | Build host: reproducible |
| Size: 33701 | Source RPM: python-unsync-1.4.0-1.3.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://github.com/alex-sherman/unsync | |
| Summary: Unsynchronize asyncio | |
Unsynchronize `asyncio` by using an ambient event loop in a separate thread.
1. Mark all async functions with `@unsync`. May also mark regular
functions to execute in a separate thread.
* All `@unsync` functions, async or not, return an `Unfuture`
2. All `Futures` must be `Unfutures` which includes the result of an
`@unsync` function call, or wrapping `Unfuture(asyncio.Future)` or
`Unfuture(concurrent.Future)`. `Unfuture` combines the behavior of
`asyncio.Future` and `concurrent.Future`:
* `Unfuture.set_value` is threadsafe unlike `asyncio.Future`
* `Unfuture` instances can be awaited, even if made from
`concurrent.Future`
* `Unfuture.result()` is a blocking operation *except* in
`unsync.loop`/`unsync.thread` where it behaves like
`asyncio.Future.result` and will throw an exception if the future
is not done
3. Functions will execute in different contexts:
* `@unsync` async functions will execute in an event loop in
`unsync.thread`
* `@unsync` regular functions will execute in
`unsync.thread_executor`, a `ThreadPoolExecutor`
* `@unsync(cpu_bound=True)` regular functions will execute in
`unsync.process_executor`, a `ProcessPoolExecutor`
MIT
* Thu Jan 16 2025 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 1.4.0
* Rename TestEventLoopPolicy so that pytest doesn't complain (#44)
* Change Unfuture.then to pass result() instead of itself to the
continuation (#41)
* Tue Jan 07 2025 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to version 1.3.2
* Delete print("DERP") (#39)
- from version 1.3.1
* Add a multi-process example
* Cleanup README
* Modify async example in documentation (#36)
* Support setting custom event loops (#34)
* Refactor lazy initialized unsync class members into properties
- Switch package to modern Python Stack on SLE-15
* Use Python 3.11 on SLE-15 by default
* Drop support for older Python versions
- 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
* Sat Jan 02 2021 Matej Cepl <mcepl@suse.com>
- Initial packaging of unsync 1.3.
/usr/lib/python3.13/site-packages/unsync /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/INSTALLER /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/LICENSE /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/METADATA /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/RECORD /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/REQUESTED /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/WHEEL /usr/lib/python3.13/site-packages/unsync-1.4.0.dist-info/top_level.txt /usr/lib/python3.13/site-packages/unsync/__init__.py /usr/lib/python3.13/site-packages/unsync/__pycache__ /usr/lib/python3.13/site-packages/unsync/__pycache__/__init__.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/unsync/__pycache__/__init__.cpython-313.pyc /usr/lib/python3.13/site-packages/unsync/__pycache__/unsync.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/unsync/__pycache__/unsync.cpython-313.pyc /usr/lib/python3.13/site-packages/unsync/unsync.py
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Oct 31 23:03:09 2025