ez-a-sync 0.32.29__cp310-cp310-win_amd64.whl
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.
Potentially problematic release.
This version of ez-a-sync might be problematic. Click here for more details.
- a_sync/ENVIRONMENT_VARIABLES.py +42 -0
- a_sync/__init__.pxd +2 -0
- a_sync/__init__.py +145 -0
- a_sync/_smart.c +22803 -0
- a_sync/_smart.cp310-win_amd64.pyd +0 -0
- a_sync/_smart.pxd +2 -0
- a_sync/_smart.pyi +202 -0
- a_sync/_smart.pyx +674 -0
- a_sync/_typing.py +258 -0
- a_sync/a_sync/__init__.py +60 -0
- a_sync/a_sync/_descriptor.c +20528 -0
- a_sync/a_sync/_descriptor.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/_descriptor.pyi +33 -0
- a_sync/a_sync/_descriptor.pyx +422 -0
- a_sync/a_sync/_flags.c +6074 -0
- a_sync/a_sync/_flags.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/_flags.pxd +3 -0
- a_sync/a_sync/_flags.pyx +92 -0
- a_sync/a_sync/_helpers.c +14521 -0
- a_sync/a_sync/_helpers.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/_helpers.pxd +3 -0
- a_sync/a_sync/_helpers.pyi +10 -0
- a_sync/a_sync/_helpers.pyx +167 -0
- a_sync/a_sync/_kwargs.c +12194 -0
- a_sync/a_sync/_kwargs.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/_kwargs.pxd +2 -0
- a_sync/a_sync/_kwargs.pyx +64 -0
- a_sync/a_sync/_meta.py +210 -0
- a_sync/a_sync/abstract.c +12411 -0
- a_sync/a_sync/abstract.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/abstract.pyi +141 -0
- a_sync/a_sync/abstract.pyx +221 -0
- a_sync/a_sync/base.c +14932 -0
- a_sync/a_sync/base.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/base.pyi +60 -0
- a_sync/a_sync/base.pyx +271 -0
- a_sync/a_sync/config.py +168 -0
- a_sync/a_sync/decorator.py +651 -0
- a_sync/a_sync/flags.c +5272 -0
- a_sync/a_sync/flags.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/flags.pxd +72 -0
- a_sync/a_sync/flags.pyi +74 -0
- a_sync/a_sync/flags.pyx +72 -0
- a_sync/a_sync/function.c +37846 -0
- a_sync/a_sync/function.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/function.pxd +28 -0
- a_sync/a_sync/function.pyi +571 -0
- a_sync/a_sync/function.pyx +1381 -0
- a_sync/a_sync/method.c +29774 -0
- a_sync/a_sync/method.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/method.pxd +9 -0
- a_sync/a_sync/method.pyi +525 -0
- a_sync/a_sync/method.pyx +1023 -0
- a_sync/a_sync/modifiers/__init__.pxd +1 -0
- a_sync/a_sync/modifiers/__init__.py +101 -0
- a_sync/a_sync/modifiers/cache/__init__.py +160 -0
- a_sync/a_sync/modifiers/cache/memory.py +165 -0
- a_sync/a_sync/modifiers/limiter.py +132 -0
- a_sync/a_sync/modifiers/manager.c +16149 -0
- a_sync/a_sync/modifiers/manager.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/modifiers/manager.pxd +5 -0
- a_sync/a_sync/modifiers/manager.pyi +219 -0
- a_sync/a_sync/modifiers/manager.pyx +299 -0
- a_sync/a_sync/modifiers/semaphores.py +173 -0
- a_sync/a_sync/property.c +27260 -0
- a_sync/a_sync/property.cp310-win_amd64.pyd +0 -0
- a_sync/a_sync/property.pyi +376 -0
- a_sync/a_sync/property.pyx +819 -0
- a_sync/a_sync/singleton.py +63 -0
- a_sync/aliases.py +3 -0
- a_sync/async_property/__init__.pxd +1 -0
- a_sync/async_property/__init__.py +1 -0
- a_sync/async_property/cached.c +20386 -0
- a_sync/async_property/cached.cp310-win_amd64.pyd +0 -0
- a_sync/async_property/cached.pxd +10 -0
- a_sync/async_property/cached.pyi +45 -0
- a_sync/async_property/cached.pyx +178 -0
- a_sync/async_property/proxy.c +34654 -0
- a_sync/async_property/proxy.cp310-win_amd64.pyd +0 -0
- a_sync/async_property/proxy.pxd +2 -0
- a_sync/async_property/proxy.pyi +124 -0
- a_sync/async_property/proxy.pyx +474 -0
- a_sync/asyncio/__init__.pxd +6 -0
- a_sync/asyncio/__init__.py +164 -0
- a_sync/asyncio/as_completed.c +18841 -0
- a_sync/asyncio/as_completed.cp310-win_amd64.pyd +0 -0
- a_sync/asyncio/as_completed.pxd +8 -0
- a_sync/asyncio/as_completed.pyi +109 -0
- a_sync/asyncio/as_completed.pyx +269 -0
- a_sync/asyncio/create_task.c +15902 -0
- a_sync/asyncio/create_task.cp310-win_amd64.pyd +0 -0
- a_sync/asyncio/create_task.pxd +2 -0
- a_sync/asyncio/create_task.pyi +51 -0
- a_sync/asyncio/create_task.pyx +271 -0
- a_sync/asyncio/gather.c +16679 -0
- a_sync/asyncio/gather.cp310-win_amd64.pyd +0 -0
- a_sync/asyncio/gather.pyi +107 -0
- a_sync/asyncio/gather.pyx +218 -0
- a_sync/asyncio/igather.c +12676 -0
- a_sync/asyncio/igather.cp310-win_amd64.pyd +0 -0
- a_sync/asyncio/igather.pxd +1 -0
- a_sync/asyncio/igather.pyi +7 -0
- a_sync/asyncio/igather.pyx +182 -0
- a_sync/asyncio/sleep.c +9593 -0
- a_sync/asyncio/sleep.cp310-win_amd64.pyd +0 -0
- a_sync/asyncio/sleep.pyi +14 -0
- a_sync/asyncio/sleep.pyx +49 -0
- a_sync/debugging.c +15362 -0
- a_sync/debugging.cp310-win_amd64.pyd +0 -0
- a_sync/debugging.pyi +76 -0
- a_sync/debugging.pyx +107 -0
- a_sync/exceptions.c +13312 -0
- a_sync/exceptions.cp310-win_amd64.pyd +0 -0
- a_sync/exceptions.pyi +376 -0
- a_sync/exceptions.pyx +446 -0
- a_sync/executor.py +619 -0
- a_sync/functools.c +12738 -0
- a_sync/functools.cp310-win_amd64.pyd +0 -0
- a_sync/functools.pxd +7 -0
- a_sync/functools.pyi +33 -0
- a_sync/functools.pyx +139 -0
- a_sync/future.py +1497 -0
- a_sync/iter.c +37271 -0
- a_sync/iter.cp310-win_amd64.pyd +0 -0
- a_sync/iter.pxd +11 -0
- a_sync/iter.pyi +370 -0
- a_sync/iter.pyx +981 -0
- a_sync/primitives/__init__.pxd +1 -0
- a_sync/primitives/__init__.py +53 -0
- a_sync/primitives/_debug.c +15757 -0
- a_sync/primitives/_debug.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/_debug.pxd +12 -0
- a_sync/primitives/_debug.pyi +52 -0
- a_sync/primitives/_debug.pyx +223 -0
- a_sync/primitives/_loggable.c +11529 -0
- a_sync/primitives/_loggable.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/_loggable.pxd +4 -0
- a_sync/primitives/_loggable.pyi +66 -0
- a_sync/primitives/_loggable.pyx +102 -0
- a_sync/primitives/locks/__init__.pxd +8 -0
- a_sync/primitives/locks/__init__.py +17 -0
- a_sync/primitives/locks/counter.c +17679 -0
- a_sync/primitives/locks/counter.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/locks/counter.pxd +12 -0
- a_sync/primitives/locks/counter.pyi +151 -0
- a_sync/primitives/locks/counter.pyx +260 -0
- a_sync/primitives/locks/event.c +17063 -0
- a_sync/primitives/locks/event.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/locks/event.pxd +22 -0
- a_sync/primitives/locks/event.pyi +43 -0
- a_sync/primitives/locks/event.pyx +185 -0
- a_sync/primitives/locks/prio_semaphore.c +25590 -0
- a_sync/primitives/locks/prio_semaphore.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/locks/prio_semaphore.pxd +25 -0
- a_sync/primitives/locks/prio_semaphore.pyi +217 -0
- a_sync/primitives/locks/prio_semaphore.pyx +597 -0
- a_sync/primitives/locks/semaphore.c +26509 -0
- a_sync/primitives/locks/semaphore.cp310-win_amd64.pyd +0 -0
- a_sync/primitives/locks/semaphore.pxd +21 -0
- a_sync/primitives/locks/semaphore.pyi +197 -0
- a_sync/primitives/locks/semaphore.pyx +454 -0
- a_sync/primitives/queue.py +1022 -0
- a_sync/py.typed +0 -0
- a_sync/sphinx/__init__.py +3 -0
- a_sync/sphinx/ext.py +289 -0
- a_sync/task.py +932 -0
- a_sync/utils/__init__.py +105 -0
- a_sync/utils/iterators.py +297 -0
- a_sync/utils/repr.c +15799 -0
- a_sync/utils/repr.cp310-win_amd64.pyd +0 -0
- a_sync/utils/repr.pyi +2 -0
- a_sync/utils/repr.pyx +73 -0
- ez_a_sync-0.32.29.dist-info/METADATA +367 -0
- ez_a_sync-0.32.29.dist-info/RECORD +177 -0
- ez_a_sync-0.32.29.dist-info/WHEEL +5 -0
- ez_a_sync-0.32.29.dist-info/licenses/LICENSE.txt +17 -0
- ez_a_sync-0.32.29.dist-info/top_level.txt +1 -0
|
Binary file
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module provides a mixin class to add debug logging capabilities to other classes.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from functools import cached_property as cached_property
|
|
6
|
+
from logging import Logger
|
|
7
|
+
|
|
8
|
+
class _LoggerMixin:
|
|
9
|
+
"""
|
|
10
|
+
A mixin class that adds logging capabilities to other classes.
|
|
11
|
+
|
|
12
|
+
This mixin provides a cached property for accessing a logger instance and a property to check if debug logging is enabled.
|
|
13
|
+
|
|
14
|
+
See Also:
|
|
15
|
+
- :func:`logging.getLogger`
|
|
16
|
+
- :class:`logging.Logger`
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
@cached_property
|
|
20
|
+
def logger(self) -> Logger:
|
|
21
|
+
"""
|
|
22
|
+
Provides a logger instance specific to the class using this mixin.
|
|
23
|
+
|
|
24
|
+
The logger ID is constructed from the module and class name, and optionally includes an instance name if available.
|
|
25
|
+
|
|
26
|
+
Examples:
|
|
27
|
+
>>> class MyClass(_LoggerMixin):
|
|
28
|
+
... _name = "example"
|
|
29
|
+
...
|
|
30
|
+
>>> instance = MyClass()
|
|
31
|
+
>>> logger = instance.logger
|
|
32
|
+
>>> logger.name
|
|
33
|
+
\'module_name.MyClass.example\'
|
|
34
|
+
|
|
35
|
+
>>> class AnotherClass(_LoggerMixin):
|
|
36
|
+
... pass
|
|
37
|
+
...
|
|
38
|
+
>>> another_instance = AnotherClass()
|
|
39
|
+
>>> another_logger = another_instance.logger
|
|
40
|
+
>>> another_logger.name
|
|
41
|
+
\'module_name.AnotherClass\'
|
|
42
|
+
|
|
43
|
+
Note:
|
|
44
|
+
Replace `module_name` with the actual module name where the class is defined.
|
|
45
|
+
|
|
46
|
+
See Also:
|
|
47
|
+
- :func:`logging.getLogger`
|
|
48
|
+
- :class:`logging.Logger`
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
@property
|
|
52
|
+
def debug_logs_enabled(self) -> bool:
|
|
53
|
+
"""
|
|
54
|
+
Checks if debug logging is enabled for the logger.
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
>>> class MyClass(_LoggerMixin):
|
|
58
|
+
... pass
|
|
59
|
+
...
|
|
60
|
+
>>> instance = MyClass()
|
|
61
|
+
>>> instance.debug_logs_enabled
|
|
62
|
+
False
|
|
63
|
+
|
|
64
|
+
See Also:
|
|
65
|
+
- :attr:`logging.Logger.isEnabledFor`
|
|
66
|
+
"""
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# cython: boundscheck=False
|
|
2
|
+
"""
|
|
3
|
+
This module provides a mixin class to add debug logging capabilities to other classes.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import logging
|
|
7
|
+
cdef object Logger = logging.Logger
|
|
8
|
+
cdef object getLogger = logging.getLogger
|
|
9
|
+
cdef object isEnabledFor = Logger.isEnabledFor
|
|
10
|
+
cdef object DEBUG = 10
|
|
11
|
+
del logging
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
cdef class _LoggerMixin:
|
|
15
|
+
"""
|
|
16
|
+
A mixin class that adds logging capabilities to other classes.
|
|
17
|
+
|
|
18
|
+
This mixin provides a cached property for accessing a logger instance and a property to check if debug logging is enabled.
|
|
19
|
+
|
|
20
|
+
See Also:
|
|
21
|
+
- :func:`logging.getLogger`
|
|
22
|
+
- :class:`logging.Logger`
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def logger(self) -> Logger:
|
|
27
|
+
"""
|
|
28
|
+
Provides a logger instance specific to the class using this mixin.
|
|
29
|
+
|
|
30
|
+
The logger ID is constructed from the module and class name, and optionally includes an instance name if available.
|
|
31
|
+
|
|
32
|
+
Examples:
|
|
33
|
+
>>> class MyClass(_LoggerMixin):
|
|
34
|
+
... _name = "example"
|
|
35
|
+
...
|
|
36
|
+
>>> instance = MyClass()
|
|
37
|
+
>>> logger = instance.logger
|
|
38
|
+
>>> logger.name
|
|
39
|
+
'module_name.MyClass.example'
|
|
40
|
+
|
|
41
|
+
>>> class AnotherClass(_LoggerMixin):
|
|
42
|
+
... pass
|
|
43
|
+
...
|
|
44
|
+
>>> another_instance = AnotherClass()
|
|
45
|
+
>>> another_logger = another_instance.logger
|
|
46
|
+
>>> another_logger.name
|
|
47
|
+
'module_name.AnotherClass'
|
|
48
|
+
|
|
49
|
+
Note:
|
|
50
|
+
Replace `module_name` with the actual module name where the class is defined.
|
|
51
|
+
|
|
52
|
+
See Also:
|
|
53
|
+
- :func:`logging.getLogger`
|
|
54
|
+
- :class:`logging.Logger`
|
|
55
|
+
"""
|
|
56
|
+
return self.get_logger()
|
|
57
|
+
|
|
58
|
+
cdef object get_logger(self):
|
|
59
|
+
cdef object logger, cls
|
|
60
|
+
cdef str cls_key, name
|
|
61
|
+
logger = self._logger
|
|
62
|
+
if logger is None:
|
|
63
|
+
cls = type(self)
|
|
64
|
+
name = getattr(self, "_name", "")
|
|
65
|
+
if name:
|
|
66
|
+
logger = getLogger(f"{cls.__module__}.{cls.__qualname__}.{name}")
|
|
67
|
+
else:
|
|
68
|
+
logger = _get_logger_for_cls(f"{cls.__module__}.{cls.__qualname__}")
|
|
69
|
+
self._logger = logger
|
|
70
|
+
return logger
|
|
71
|
+
|
|
72
|
+
@property
|
|
73
|
+
def debug_logs_enabled(self) -> bool:
|
|
74
|
+
"""
|
|
75
|
+
Checks if debug logging is enabled for the logger.
|
|
76
|
+
|
|
77
|
+
Examples:
|
|
78
|
+
>>> class MyClass(_LoggerMixin):
|
|
79
|
+
... pass
|
|
80
|
+
...
|
|
81
|
+
>>> instance = MyClass()
|
|
82
|
+
>>> instance.debug_logs_enabled
|
|
83
|
+
False
|
|
84
|
+
|
|
85
|
+
See Also:
|
|
86
|
+
- :attr:`logging.Logger.isEnabledFor`
|
|
87
|
+
"""
|
|
88
|
+
return isEnabledFor(self.get_logger(), DEBUG)
|
|
89
|
+
|
|
90
|
+
cdef inline bint check_debug_logs_enabled(self):
|
|
91
|
+
return isEnabledFor(self.get_logger(), DEBUG)
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
cdef dict[str, object] _class_loggers = {}
|
|
95
|
+
|
|
96
|
+
cdef object _get_logger_for_cls(str cls_key):
|
|
97
|
+
cdef object logger = _class_loggers.get(cls_key)
|
|
98
|
+
if logger is None:
|
|
99
|
+
logger = getLogger(cls_key)
|
|
100
|
+
_class_loggers[cls_key] = logger
|
|
101
|
+
return logger
|
|
102
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from a_sync.primitives.locks.counter cimport CounterLock
|
|
2
|
+
from a_sync.primitives.locks.event cimport CythonEvent as Event
|
|
3
|
+
from a_sync.primitives.locks.prio_semaphore cimport PrioritySemaphore
|
|
4
|
+
from a_sync.primitives.locks.semaphore cimport (
|
|
5
|
+
DummySemaphore,
|
|
6
|
+
Semaphore,
|
|
7
|
+
ThreadsafeSemaphore,
|
|
8
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from a_sync.primitives.locks.counter import CounterLock
|
|
2
|
+
from a_sync.primitives.locks.event import CythonEvent as Event
|
|
3
|
+
from a_sync.primitives.locks.prio_semaphore import PrioritySemaphore
|
|
4
|
+
from a_sync.primitives.locks.semaphore import (
|
|
5
|
+
DummySemaphore,
|
|
6
|
+
Semaphore,
|
|
7
|
+
ThreadsafeSemaphore,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"Event",
|
|
12
|
+
"Semaphore",
|
|
13
|
+
"PrioritySemaphore",
|
|
14
|
+
"CounterLock",
|
|
15
|
+
"ThreadsafeSemaphore",
|
|
16
|
+
"DummySemaphore",
|
|
17
|
+
]
|