ez-a-sync 0.33.4__cp313-cp313-musllinux_1_2_i686.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.
Files changed (177) hide show
  1. a_sync/ENVIRONMENT_VARIABLES.py +42 -0
  2. a_sync/__init__.pxd +2 -0
  3. a_sync/__init__.py +145 -0
  4. a_sync/_smart.c +22830 -0
  5. a_sync/_smart.cpython-313-i386-linux-musl.so +0 -0
  6. a_sync/_smart.pxd +2 -0
  7. a_sync/_smart.pyi +202 -0
  8. a_sync/_smart.pyx +674 -0
  9. a_sync/_typing.py +258 -0
  10. a_sync/a_sync/__init__.py +60 -0
  11. a_sync/a_sync/_descriptor.c +20537 -0
  12. a_sync/a_sync/_descriptor.cpython-313-i386-linux-musl.so +0 -0
  13. a_sync/a_sync/_descriptor.pyi +33 -0
  14. a_sync/a_sync/_descriptor.pyx +422 -0
  15. a_sync/a_sync/_flags.c +6082 -0
  16. a_sync/a_sync/_flags.cpython-313-i386-linux-musl.so +0 -0
  17. a_sync/a_sync/_flags.pxd +3 -0
  18. a_sync/a_sync/_flags.pyx +92 -0
  19. a_sync/a_sync/_helpers.c +14529 -0
  20. a_sync/a_sync/_helpers.cpython-313-i386-linux-musl.so +0 -0
  21. a_sync/a_sync/_helpers.pxd +3 -0
  22. a_sync/a_sync/_helpers.pyi +10 -0
  23. a_sync/a_sync/_helpers.pyx +167 -0
  24. a_sync/a_sync/_kwargs.c +12202 -0
  25. a_sync/a_sync/_kwargs.cpython-313-i386-linux-musl.so +0 -0
  26. a_sync/a_sync/_kwargs.pxd +2 -0
  27. a_sync/a_sync/_kwargs.pyx +64 -0
  28. a_sync/a_sync/_meta.py +210 -0
  29. a_sync/a_sync/abstract.c +12420 -0
  30. a_sync/a_sync/abstract.cpython-313-i386-linux-musl.so +0 -0
  31. a_sync/a_sync/abstract.pyi +141 -0
  32. a_sync/a_sync/abstract.pyx +221 -0
  33. a_sync/a_sync/base.c +14940 -0
  34. a_sync/a_sync/base.cpython-313-i386-linux-musl.so +0 -0
  35. a_sync/a_sync/base.pyi +60 -0
  36. a_sync/a_sync/base.pyx +271 -0
  37. a_sync/a_sync/config.py +168 -0
  38. a_sync/a_sync/decorator.py +651 -0
  39. a_sync/a_sync/flags.c +5272 -0
  40. a_sync/a_sync/flags.cpython-313-i386-linux-musl.so +0 -0
  41. a_sync/a_sync/flags.pxd +72 -0
  42. a_sync/a_sync/flags.pyi +74 -0
  43. a_sync/a_sync/flags.pyx +72 -0
  44. a_sync/a_sync/function.c +37856 -0
  45. a_sync/a_sync/function.cpython-313-i386-linux-musl.so +0 -0
  46. a_sync/a_sync/function.pxd +28 -0
  47. a_sync/a_sync/function.pyi +571 -0
  48. a_sync/a_sync/function.pyx +1381 -0
  49. a_sync/a_sync/method.c +29662 -0
  50. a_sync/a_sync/method.cpython-313-i386-linux-musl.so +0 -0
  51. a_sync/a_sync/method.pxd +9 -0
  52. a_sync/a_sync/method.pyi +523 -0
  53. a_sync/a_sync/method.pyx +1023 -0
  54. a_sync/a_sync/modifiers/__init__.pxd +1 -0
  55. a_sync/a_sync/modifiers/__init__.py +101 -0
  56. a_sync/a_sync/modifiers/cache/__init__.py +160 -0
  57. a_sync/a_sync/modifiers/cache/memory.py +165 -0
  58. a_sync/a_sync/modifiers/limiter.py +132 -0
  59. a_sync/a_sync/modifiers/manager.c +16157 -0
  60. a_sync/a_sync/modifiers/manager.cpython-313-i386-linux-musl.so +0 -0
  61. a_sync/a_sync/modifiers/manager.pxd +5 -0
  62. a_sync/a_sync/modifiers/manager.pyi +219 -0
  63. a_sync/a_sync/modifiers/manager.pyx +299 -0
  64. a_sync/a_sync/modifiers/semaphores.py +173 -0
  65. a_sync/a_sync/property.c +27268 -0
  66. a_sync/a_sync/property.cpython-313-i386-linux-musl.so +0 -0
  67. a_sync/a_sync/property.pyi +376 -0
  68. a_sync/a_sync/property.pyx +819 -0
  69. a_sync/a_sync/singleton.py +63 -0
  70. a_sync/aliases.py +3 -0
  71. a_sync/async_property/__init__.pxd +1 -0
  72. a_sync/async_property/__init__.py +1 -0
  73. a_sync/async_property/cached.c +20397 -0
  74. a_sync/async_property/cached.cpython-313-i386-linux-musl.so +0 -0
  75. a_sync/async_property/cached.pxd +10 -0
  76. a_sync/async_property/cached.pyi +45 -0
  77. a_sync/async_property/cached.pyx +178 -0
  78. a_sync/async_property/proxy.c +34662 -0
  79. a_sync/async_property/proxy.cpython-313-i386-linux-musl.so +0 -0
  80. a_sync/async_property/proxy.pxd +2 -0
  81. a_sync/async_property/proxy.pyi +124 -0
  82. a_sync/async_property/proxy.pyx +474 -0
  83. a_sync/asyncio/__init__.pxd +6 -0
  84. a_sync/asyncio/__init__.py +164 -0
  85. a_sync/asyncio/as_completed.c +18849 -0
  86. a_sync/asyncio/as_completed.cpython-313-i386-linux-musl.so +0 -0
  87. a_sync/asyncio/as_completed.pxd +8 -0
  88. a_sync/asyncio/as_completed.pyi +109 -0
  89. a_sync/asyncio/as_completed.pyx +269 -0
  90. a_sync/asyncio/create_task.c +15912 -0
  91. a_sync/asyncio/create_task.cpython-313-i386-linux-musl.so +0 -0
  92. a_sync/asyncio/create_task.pxd +2 -0
  93. a_sync/asyncio/create_task.pyi +51 -0
  94. a_sync/asyncio/create_task.pyx +271 -0
  95. a_sync/asyncio/gather.c +16687 -0
  96. a_sync/asyncio/gather.cpython-313-i386-linux-musl.so +0 -0
  97. a_sync/asyncio/gather.pyi +107 -0
  98. a_sync/asyncio/gather.pyx +218 -0
  99. a_sync/asyncio/igather.c +13080 -0
  100. a_sync/asyncio/igather.cpython-313-i386-linux-musl.so +0 -0
  101. a_sync/asyncio/igather.pxd +1 -0
  102. a_sync/asyncio/igather.pyi +8 -0
  103. a_sync/asyncio/igather.pyx +183 -0
  104. a_sync/asyncio/sleep.c +9601 -0
  105. a_sync/asyncio/sleep.cpython-313-i386-linux-musl.so +0 -0
  106. a_sync/asyncio/sleep.pyi +14 -0
  107. a_sync/asyncio/sleep.pyx +49 -0
  108. a_sync/debugging.c +15370 -0
  109. a_sync/debugging.cpython-313-i386-linux-musl.so +0 -0
  110. a_sync/debugging.pyi +76 -0
  111. a_sync/debugging.pyx +107 -0
  112. a_sync/exceptions.c +13320 -0
  113. a_sync/exceptions.cpython-313-i386-linux-musl.so +0 -0
  114. a_sync/exceptions.pyi +376 -0
  115. a_sync/exceptions.pyx +446 -0
  116. a_sync/executor.py +619 -0
  117. a_sync/functools.c +12746 -0
  118. a_sync/functools.cpython-313-i386-linux-musl.so +0 -0
  119. a_sync/functools.pxd +7 -0
  120. a_sync/functools.pyi +33 -0
  121. a_sync/functools.pyx +139 -0
  122. a_sync/future.py +1497 -0
  123. a_sync/iter.c +37279 -0
  124. a_sync/iter.cpython-313-i386-linux-musl.so +0 -0
  125. a_sync/iter.pxd +11 -0
  126. a_sync/iter.pyi +370 -0
  127. a_sync/iter.pyx +981 -0
  128. a_sync/primitives/__init__.pxd +1 -0
  129. a_sync/primitives/__init__.py +53 -0
  130. a_sync/primitives/_debug.c +15765 -0
  131. a_sync/primitives/_debug.cpython-313-i386-linux-musl.so +0 -0
  132. a_sync/primitives/_debug.pxd +12 -0
  133. a_sync/primitives/_debug.pyi +52 -0
  134. a_sync/primitives/_debug.pyx +223 -0
  135. a_sync/primitives/_loggable.c +11538 -0
  136. a_sync/primitives/_loggable.cpython-313-i386-linux-musl.so +0 -0
  137. a_sync/primitives/_loggable.pxd +4 -0
  138. a_sync/primitives/_loggable.pyi +66 -0
  139. a_sync/primitives/_loggable.pyx +102 -0
  140. a_sync/primitives/locks/__init__.pxd +8 -0
  141. a_sync/primitives/locks/__init__.py +17 -0
  142. a_sync/primitives/locks/counter.c +17938 -0
  143. a_sync/primitives/locks/counter.cpython-313-i386-linux-musl.so +0 -0
  144. a_sync/primitives/locks/counter.pxd +12 -0
  145. a_sync/primitives/locks/counter.pyi +151 -0
  146. a_sync/primitives/locks/counter.pyx +267 -0
  147. a_sync/primitives/locks/event.c +17072 -0
  148. a_sync/primitives/locks/event.cpython-313-i386-linux-musl.so +0 -0
  149. a_sync/primitives/locks/event.pxd +22 -0
  150. a_sync/primitives/locks/event.pyi +43 -0
  151. a_sync/primitives/locks/event.pyx +185 -0
  152. a_sync/primitives/locks/prio_semaphore.c +25635 -0
  153. a_sync/primitives/locks/prio_semaphore.cpython-313-i386-linux-musl.so +0 -0
  154. a_sync/primitives/locks/prio_semaphore.pxd +25 -0
  155. a_sync/primitives/locks/prio_semaphore.pyi +217 -0
  156. a_sync/primitives/locks/prio_semaphore.pyx +597 -0
  157. a_sync/primitives/locks/semaphore.c +26553 -0
  158. a_sync/primitives/locks/semaphore.cpython-313-i386-linux-musl.so +0 -0
  159. a_sync/primitives/locks/semaphore.pxd +21 -0
  160. a_sync/primitives/locks/semaphore.pyi +197 -0
  161. a_sync/primitives/locks/semaphore.pyx +454 -0
  162. a_sync/primitives/queue.py +1026 -0
  163. a_sync/py.typed +0 -0
  164. a_sync/sphinx/__init__.py +3 -0
  165. a_sync/sphinx/ext.py +289 -0
  166. a_sync/task.py +934 -0
  167. a_sync/utils/__init__.py +105 -0
  168. a_sync/utils/iterators.py +297 -0
  169. a_sync/utils/repr.c +15866 -0
  170. a_sync/utils/repr.cpython-313-i386-linux-musl.so +0 -0
  171. a_sync/utils/repr.pyi +2 -0
  172. a_sync/utils/repr.pyx +73 -0
  173. ez_a_sync-0.33.4.dist-info/METADATA +368 -0
  174. ez_a_sync-0.33.4.dist-info/RECORD +177 -0
  175. ez_a_sync-0.33.4.dist-info/WHEEL +5 -0
  176. ez_a_sync-0.33.4.dist-info/licenses/LICENSE.txt +17 -0
  177. ez_a_sync-0.33.4.dist-info/top_level.txt +1 -0
@@ -0,0 +1,4 @@
1
+ cdef class _LoggerMixin:
2
+ cdef object _logger
3
+ cdef object get_logger(self)
4
+ cdef inline bint check_debug_logs_enabled(self)
@@ -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
+ ]