flexexecutor 0.0.12__tar.gz → 0.0.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flexexecutor-0.0.12 → flexexecutor-0.0.13}/PKG-INFO +6 -1
- {flexexecutor-0.0.12 → flexexecutor-0.0.13}/README.md +4 -0
- {flexexecutor-0.0.12 → flexexecutor-0.0.13}/flexexecutor.py +3 -3
- {flexexecutor-0.0.12 → flexexecutor-0.0.13}/pyproject.toml +2 -1
- {flexexecutor-0.0.12 → flexexecutor-0.0.13}/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flexexecutor
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.13
|
|
4
4
|
Summary: Executors for both async and sync functions and automatically scales the number of workers
|
|
5
5
|
Author: leavers
|
|
6
6
|
Author-Email: Leavers <leavers930@gmail.com>
|
|
@@ -14,6 +14,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
17
18
|
Classifier: Topic :: Software Development
|
|
18
19
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
19
20
|
Classifier: Topic :: Utilities
|
|
@@ -94,6 +95,10 @@ if __name__ == "__main__":
|
|
|
94
95
|
|
|
95
96
|
### AsyncPoolExecutor
|
|
96
97
|
|
|
98
|
+
`AsyncPoolExecutor` runs all coroutines in a dedicated worker thread with its own
|
|
99
|
+
event loop. Note that **tasks are not executed in the thread where they are
|
|
100
|
+
submitted** — they are sent to the internal worker thread for execution.
|
|
101
|
+
|
|
97
102
|
```python
|
|
98
103
|
from flexexecutor import AsyncPoolExecutor
|
|
99
104
|
|
|
@@ -70,6 +70,10 @@ if __name__ == "__main__":
|
|
|
70
70
|
|
|
71
71
|
### AsyncPoolExecutor
|
|
72
72
|
|
|
73
|
+
`AsyncPoolExecutor` runs all coroutines in a dedicated worker thread with its own
|
|
74
|
+
event loop. Note that **tasks are not executed in the thread where they are
|
|
75
|
+
submitted** — they are sent to the internal worker thread for execution.
|
|
76
|
+
|
|
73
77
|
```python
|
|
74
78
|
from flexexecutor import AsyncPoolExecutor
|
|
75
79
|
|
|
@@ -40,7 +40,7 @@ __all__ = (
|
|
|
40
40
|
"WorkerContext",
|
|
41
41
|
)
|
|
42
42
|
|
|
43
|
-
__version__ = "0.0.
|
|
43
|
+
__version__ = "0.0.13"
|
|
44
44
|
|
|
45
45
|
# Type alias for async component (loop, queue) tuple
|
|
46
46
|
_AsyncComponent = tuple[AbstractEventLoop, "AsyncQueue[_AsyncWorkItem | None]"]
|
|
@@ -74,7 +74,7 @@ class WorkerContext:
|
|
|
74
74
|
|
|
75
75
|
This class provides a way to customize worker thread initialization,
|
|
76
76
|
task execution, and cleanup. It is designed to be compatible with
|
|
77
|
-
Python 3.
|
|
77
|
+
Python 3.11+ and follows the design of Python 3.14's ThreadPoolExecutor.
|
|
78
78
|
|
|
79
79
|
Example:
|
|
80
80
|
class DatabaseContext(WorkerContext):
|
|
@@ -223,7 +223,7 @@ def _worker(
|
|
|
223
223
|
class ThreadPoolExecutor(_base.Executor):
|
|
224
224
|
"""A thread pool executor with automatic worker scaling and idle timeout.
|
|
225
225
|
|
|
226
|
-
This implementation is compatible with Python 3.11-3.
|
|
226
|
+
This implementation is compatible with Python 3.11-3.15 and does not depend
|
|
227
227
|
on internal CPython APIs.
|
|
228
228
|
"""
|
|
229
229
|
|
|
@@ -15,6 +15,7 @@ classifiers = [
|
|
|
15
15
|
"Programming Language :: Python :: 3.12",
|
|
16
16
|
"Programming Language :: Python :: 3.13",
|
|
17
17
|
"Programming Language :: Python :: 3.14",
|
|
18
|
+
"Programming Language :: Python :: 3.15",
|
|
18
19
|
"Topic :: Software Development",
|
|
19
20
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
20
21
|
"Topic :: Utilities",
|
|
@@ -23,7 +24,7 @@ requires-python = ">=3.11"
|
|
|
23
24
|
readme = "README.md"
|
|
24
25
|
dependencies = []
|
|
25
26
|
dynamic = []
|
|
26
|
-
version = "0.0.
|
|
27
|
+
version = "0.0.13"
|
|
27
28
|
|
|
28
29
|
[project.license]
|
|
29
30
|
text = "MIT"
|
|
File without changes
|