ez-a-sync 0.24.19__tar.gz → 0.24.20__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.

Potentially problematic release.


This version of ez-a-sync might be problematic. Click here for more details.

Files changed (170) hide show
  1. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/PKG-INFO +1 -1
  2. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/semaphore.c +57 -76
  3. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/semaphore.pyx +1 -1
  4. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/PKG-INFO +1 -1
  5. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/primitives/test_semaphore.py +1 -0
  6. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.coverage +0 -0
  7. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/black.yaml +0 -0
  8. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/codeql.yaml +0 -0
  9. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/docs.yaml +0 -0
  10. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/mypy.yaml +0 -0
  11. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/pytest.yaml +0 -0
  12. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.github/workflows/release.yaml +0 -0
  13. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.gitignore +0 -0
  14. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/.sourcery.yaml +0 -0
  15. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/LICENSE.txt +0 -0
  16. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/MANIFEST.in +0 -0
  17. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/Makefile +0 -0
  18. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/README.md +0 -0
  19. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/TODO +0 -0
  20. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
  21. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/__init__.pxd +0 -0
  22. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/__init__.py +0 -0
  23. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/_smart.py +0 -0
  24. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/_typing.py +0 -0
  25. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/__init__.py +0 -0
  26. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_descriptor.py +0 -0
  27. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_flags.c +0 -0
  28. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_flags.pxd +0 -0
  29. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_flags.pyx +0 -0
  30. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_helpers.c +0 -0
  31. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_helpers.pxd +0 -0
  32. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_helpers.pyi +0 -0
  33. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_helpers.pyx +0 -0
  34. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_kwargs.c +0 -0
  35. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_kwargs.pxd +0 -0
  36. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_kwargs.pyx +0 -0
  37. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/_meta.py +0 -0
  38. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/abstract.c +0 -0
  39. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/abstract.pyi +0 -0
  40. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/abstract.pyx +0 -0
  41. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/base.c +0 -0
  42. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/base.pyi +0 -0
  43. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/base.pyx +0 -0
  44. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/config.py +0 -0
  45. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/decorator.py +0 -0
  46. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/flags.py +0 -0
  47. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/function.c +0 -0
  48. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/function.pyi +0 -0
  49. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/function.pyx +0 -0
  50. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/method.c +0 -0
  51. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/method.pxd +0 -0
  52. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/method.pyi +0 -0
  53. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/method.pyx +0 -0
  54. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/__init__.py +0 -0
  55. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
  56. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
  57. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/limiter.py +0 -0
  58. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/manager.c +0 -0
  59. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/manager.pyi +0 -0
  60. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/manager.pyx +0 -0
  61. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/modifiers/semaphores.py +0 -0
  62. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/property.c +0 -0
  63. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/property.pyi +0 -0
  64. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/property.pyx +0 -0
  65. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/a_sync/singleton.py +0 -0
  66. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/aliases.py +0 -0
  67. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/__init__.py +0 -0
  68. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/as_completed.c +0 -0
  69. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/as_completed.pxd +0 -0
  70. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/as_completed.pyi +0 -0
  71. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/as_completed.pyx +0 -0
  72. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/create_task.c +0 -0
  73. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/create_task.pxd +0 -0
  74. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/create_task.pyi +0 -0
  75. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/create_task.pyx +0 -0
  76. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/gather.c +0 -0
  77. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/gather.pyi +0 -0
  78. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/asyncio/gather.pyx +0 -0
  79. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/exceptions.py +0 -0
  80. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/executor.py +0 -0
  81. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/future.py +0 -0
  82. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/iter.c +0 -0
  83. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/iter.pyi +0 -0
  84. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/iter.pyx +0 -0
  85. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/__init__.pxd +0 -0
  86. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/__init__.py +0 -0
  87. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_debug.c +0 -0
  88. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_debug.pxd +0 -0
  89. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_debug.pyi +0 -0
  90. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_debug.pyx +0 -0
  91. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_loggable.c +0 -0
  92. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_loggable.pxd +0 -0
  93. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_loggable.pyi +0 -0
  94. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/_loggable.pyx +0 -0
  95. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/__init__.pxd +0 -0
  96. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/__init__.py +0 -0
  97. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/counter.c +0 -0
  98. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/counter.pxd +0 -0
  99. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/counter.pyi +0 -0
  100. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/counter.pyx +0 -0
  101. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/event.c +0 -0
  102. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/event.pxd +0 -0
  103. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/event.pyi +0 -0
  104. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/event.pyx +0 -0
  105. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/prio_semaphore.c +0 -0
  106. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/prio_semaphore.pxd +0 -0
  107. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/prio_semaphore.pyi +0 -0
  108. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/prio_semaphore.pyx +0 -0
  109. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/semaphore.pxd +0 -0
  110. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/locks/semaphore.pyi +0 -0
  111. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/primitives/queue.py +0 -0
  112. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/py.typed +0 -0
  113. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/sphinx/__init__.py +0 -0
  114. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/sphinx/ext.py +0 -0
  115. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/task.py +0 -0
  116. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/utils/__init__.py +0 -0
  117. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/a_sync/utils/iterators.py +0 -0
  118. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/Makefile +0 -0
  119. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/alabaster.css +0 -0
  120. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/basic.css +0 -0
  121. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/custom.css +0 -0
  122. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/doctools.js +0 -0
  123. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/documentation_options.js +0 -0
  124. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/file.png +0 -0
  125. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/language_data.js +0 -0
  126. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/minus.png +0 -0
  127. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/plus.png +0 -0
  128. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/pygments.css +0 -0
  129. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/searchtools.js +0 -0
  130. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  131. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/conf.py +0 -0
  132. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/index.rst +0 -0
  133. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/docs/make.bat +0 -0
  134. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/SOURCES.txt +0 -0
  135. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/dependency_links.txt +0 -0
  136. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/not-zip-safe +0 -0
  137. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/requires.txt +0 -0
  138. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/ez_a_sync.egg-info/top_level.txt +0 -0
  139. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/pyproject.yaml +0 -0
  140. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/requirements-dev.txt +0 -0
  141. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/requirements.txt +0 -0
  142. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/setup.cfg +0 -0
  143. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/setup.py +0 -0
  144. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/__init__.py +0 -0
  145. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/modifiers/test_apply_semaphore.py +0 -0
  146. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_abstract.py +0 -0
  147. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_base.py +0 -0
  148. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_cache.py +0 -0
  149. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_decorator.py +0 -0
  150. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_limiter.py +0 -0
  151. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_meta.py +0 -0
  152. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_modified.py +0 -0
  153. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/a_sync/test_singleton.py +0 -0
  154. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/asyncio/test_as_completed.py +0 -0
  155. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/asyncio/test_create_task.py +0 -0
  156. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/asyncio/test_gather.py +0 -0
  157. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/conftest.py +0 -0
  158. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/executor.py +0 -0
  159. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/fixtures.py +0 -0
  160. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/primitives/test_counter.py +0 -0
  161. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/primitives/test_event.py +0 -0
  162. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/primitives/test_prio_semaphore.py +0 -0
  163. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/primitives/test_queue.py +0 -0
  164. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/task/test_task.py +0 -0
  165. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/task/test_task_mapping_views.py +0 -0
  166. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/test_executor.py +0 -0
  167. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/test_future.py +0 -0
  168. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/test_helpers.py +0 -0
  169. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/test_iter.py +0 -0
  170. {ez_a_sync-0.24.19 → ez_a_sync-0.24.20}/tests/test_smart.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ez-a-sync
3
- Version: 0.24.19
3
+ Version: 0.24.20
4
4
  Summary: A library that makes it easy to define objects that can be used for both sync and async use cases.
5
5
  Home-page: https://github.com/BobTheBuidler/a-sync
6
6
  Author: BobTheBuidler
@@ -2595,6 +2595,9 @@ static void __Pyx_WriteUnraisable(const char *name, int clineno,
2595
2595
  PyObject_Format(s, f))
2596
2596
  #endif
2597
2597
 
2598
+ /* PyUnicode_Unicode.proto */
2599
+ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj);
2600
+
2598
2601
  /* GCCDiagnostics.proto */
2599
2602
  #if !defined(__INTEL_COMPILER) && defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
2600
2603
  #define __Pyx_HAS_GCC_DIAGNOSTIC
@@ -3349,7 +3352,6 @@ static const char __pyx_k_CancelledError[] = "CancelledError";
3349
3352
  static const char __pyx_k_DummySemaphore[] = "DummySemaphore";
3350
3353
  static const char __pyx_k_a_sync__typing[] = "a_sync._typing";
3351
3354
  static const char __pyx_k_current_thread[] = "current_thread";
3352
- static const char __pyx_k_Semaphore__name[] = "_Semaphore__name";
3353
3355
  static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
3354
3356
  static const char __pyx_k_Semaphore_locked[] = "Semaphore.locked";
3355
3357
  static const char __pyx_k_Semaphore___aexit[] = "Semaphore.__aexit__";
@@ -3554,6 +3556,7 @@ typedef struct {
3554
3556
  PyObject *__pyx_kp_s_Literal_True;
3555
3557
  PyObject *__pyx_n_s_MemoryError;
3556
3558
  PyObject *__pyx_n_s_None;
3559
+ PyObject *__pyx_kp_u_None;
3557
3560
  PyObject *__pyx_n_s_OverflowError;
3558
3561
  PyObject *__pyx_kp_s_P_args;
3559
3562
  PyObject *__pyx_kp_s_P_kwargs;
@@ -3565,7 +3568,6 @@ typedef struct {
3565
3568
  PyObject *__pyx_n_s_Semaphore___setstate_cython;
3566
3569
  PyObject *__pyx_n_s_Semaphore__acquire;
3567
3570
  PyObject *__pyx_n_s_Semaphore__debug_daemon;
3568
- PyObject *__pyx_n_s_Semaphore__name;
3569
3571
  PyObject *__pyx_n_s_Semaphore__wake_up_next;
3570
3572
  PyObject *__pyx_n_s_Semaphore_acquire;
3571
3573
  PyObject *__pyx_n_s_Semaphore_c_locked_locals_genexp;
@@ -3835,6 +3837,7 @@ static int __pyx_m_clear(PyObject *m) {
3835
3837
  Py_CLEAR(clear_module_state->__pyx_kp_s_Literal_True);
3836
3838
  Py_CLEAR(clear_module_state->__pyx_n_s_MemoryError);
3837
3839
  Py_CLEAR(clear_module_state->__pyx_n_s_None);
3840
+ Py_CLEAR(clear_module_state->__pyx_kp_u_None);
3838
3841
  Py_CLEAR(clear_module_state->__pyx_n_s_OverflowError);
3839
3842
  Py_CLEAR(clear_module_state->__pyx_kp_s_P_args);
3840
3843
  Py_CLEAR(clear_module_state->__pyx_kp_s_P_kwargs);
@@ -3846,7 +3849,6 @@ static int __pyx_m_clear(PyObject *m) {
3846
3849
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore___setstate_cython);
3847
3850
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore__acquire);
3848
3851
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore__debug_daemon);
3849
- Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore__name);
3850
3852
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore__wake_up_next);
3851
3853
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore_acquire);
3852
3854
  Py_CLEAR(clear_module_state->__pyx_n_s_Semaphore_c_locked_locals_genexp);
@@ -4094,6 +4096,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
4094
4096
  Py_VISIT(traverse_module_state->__pyx_kp_s_Literal_True);
4095
4097
  Py_VISIT(traverse_module_state->__pyx_n_s_MemoryError);
4096
4098
  Py_VISIT(traverse_module_state->__pyx_n_s_None);
4099
+ Py_VISIT(traverse_module_state->__pyx_kp_u_None);
4097
4100
  Py_VISIT(traverse_module_state->__pyx_n_s_OverflowError);
4098
4101
  Py_VISIT(traverse_module_state->__pyx_kp_s_P_args);
4099
4102
  Py_VISIT(traverse_module_state->__pyx_kp_s_P_kwargs);
@@ -4105,7 +4108,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
4105
4108
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore___setstate_cython);
4106
4109
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore__acquire);
4107
4110
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore__debug_daemon);
4108
- Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore__name);
4109
4111
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore__wake_up_next);
4110
4112
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore_acquire);
4111
4113
  Py_VISIT(traverse_module_state->__pyx_n_s_Semaphore_c_locked_locals_genexp);
@@ -4371,6 +4373,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
4371
4373
  #define __pyx_kp_s_Literal_True __pyx_mstate_global->__pyx_kp_s_Literal_True
4372
4374
  #define __pyx_n_s_MemoryError __pyx_mstate_global->__pyx_n_s_MemoryError
4373
4375
  #define __pyx_n_s_None __pyx_mstate_global->__pyx_n_s_None
4376
+ #define __pyx_kp_u_None __pyx_mstate_global->__pyx_kp_u_None
4374
4377
  #define __pyx_n_s_OverflowError __pyx_mstate_global->__pyx_n_s_OverflowError
4375
4378
  #define __pyx_kp_s_P_args __pyx_mstate_global->__pyx_kp_s_P_args
4376
4379
  #define __pyx_kp_s_P_kwargs __pyx_mstate_global->__pyx_kp_s_P_kwargs
@@ -4382,7 +4385,6 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
4382
4385
  #define __pyx_n_s_Semaphore___setstate_cython __pyx_mstate_global->__pyx_n_s_Semaphore___setstate_cython
4383
4386
  #define __pyx_n_s_Semaphore__acquire __pyx_mstate_global->__pyx_n_s_Semaphore__acquire
4384
4387
  #define __pyx_n_s_Semaphore__debug_daemon __pyx_mstate_global->__pyx_n_s_Semaphore__debug_daemon
4385
- #define __pyx_n_s_Semaphore__name __pyx_mstate_global->__pyx_n_s_Semaphore__name
4386
4388
  #define __pyx_n_s_Semaphore__wake_up_next __pyx_mstate_global->__pyx_n_s_Semaphore__wake_up_next
4387
4389
  #define __pyx_n_s_Semaphore_acquire __pyx_mstate_global->__pyx_n_s_Semaphore_acquire
4388
4390
  #define __pyx_n_s_Semaphore_c_locked_locals_genexp __pyx_mstate_global->__pyx_n_s_Semaphore_c_locked_locals_genexp
@@ -5651,7 +5653,7 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_6__c
5651
5653
  * return self.decorate(fn) # type: ignore [arg-type, return-value]
5652
5654
  *
5653
5655
  * def __repr__(self) -> str: # <<<<<<<<<<<<<<
5654
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
5656
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
5655
5657
  * if self._decorated:
5656
5658
  */
5657
5659
 
@@ -5680,10 +5682,8 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5680
5682
  Py_UCS4 __pyx_t_3;
5681
5683
  PyObject *__pyx_t_4 = NULL;
5682
5684
  PyObject *__pyx_t_5 = NULL;
5683
- PyObject *__pyx_t_6 = NULL;
5684
- unsigned int __pyx_t_7;
5685
- Py_ssize_t __pyx_t_8;
5686
- int __pyx_t_9;
5685
+ Py_ssize_t __pyx_t_6;
5686
+ int __pyx_t_7;
5687
5687
  int __pyx_lineno = 0;
5688
5688
  const char *__pyx_filename = NULL;
5689
5689
  int __pyx_clineno = 0;
@@ -5693,7 +5693,7 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5693
5693
  /* "a_sync/primitives/locks/semaphore.pyx":119
5694
5694
  *
5695
5695
  * def __repr__(self) -> str:
5696
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>" # <<<<<<<<<<<<<<
5696
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>" # <<<<<<<<<<<<<<
5697
5697
  * if self._decorated:
5698
5698
  * representation = f"{representation[:-1]} decorates={self._decorated}"
5699
5699
  */
@@ -5723,93 +5723,68 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5723
5723
  __pyx_t_2 += 6;
5724
5724
  __Pyx_GIVEREF(__pyx_kp_u_name_3);
5725
5725
  PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_name_3);
5726
- __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_Semaphore__name); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
5726
+ __pyx_t_4 = ((struct __pyx_vtabstruct_6a_sync_10primitives_5locks_9semaphore_Semaphore *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_vtab)->decode_name(__pyx_v_self); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L1_error)
5727
+ __Pyx_GOTREF(__pyx_t_4);
5728
+ __pyx_t_5 = __Pyx_PyUnicode_Unicode(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
5727
5729
  __Pyx_GOTREF(__pyx_t_5);
5728
- __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_decode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
5729
- __Pyx_GOTREF(__pyx_t_6);
5730
- __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5731
- __pyx_t_5 = NULL;
5732
- __pyx_t_7 = 0;
5733
- #if CYTHON_UNPACK_METHODS
5734
- if (likely(PyMethod_Check(__pyx_t_6))) {
5735
- __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
5736
- if (likely(__pyx_t_5)) {
5737
- PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
5738
- __Pyx_INCREF(__pyx_t_5);
5739
- __Pyx_INCREF(function);
5740
- __Pyx_DECREF_SET(__pyx_t_6, function);
5741
- __pyx_t_7 = 1;
5742
- }
5743
- }
5744
- #endif
5745
- {
5746
- PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_kp_u_utf_8};
5747
- __pyx_t_4 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_7, 1+__pyx_t_7);
5748
- __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
5749
- if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 119, __pyx_L1_error)
5750
- __Pyx_GOTREF(__pyx_t_4);
5751
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5752
- }
5753
- __pyx_t_6 = __Pyx_PyObject_FormatSimple(__pyx_t_4, __pyx_empty_unicode); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
5754
- __Pyx_GOTREF(__pyx_t_6);
5755
5730
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
5756
- __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_6) : __pyx_t_3;
5757
- __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
5758
- __Pyx_GIVEREF(__pyx_t_6);
5759
- PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_6);
5760
- __pyx_t_6 = 0;
5731
+ __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_5) : __pyx_t_3;
5732
+ __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
5733
+ __Pyx_GIVEREF(__pyx_t_5);
5734
+ PyTuple_SET_ITEM(__pyx_t_1, 3, __pyx_t_5);
5735
+ __pyx_t_5 = 0;
5761
5736
  __Pyx_INCREF(__pyx_kp_u_value_2);
5762
5737
  __pyx_t_2 += 7;
5763
5738
  __Pyx_GIVEREF(__pyx_kp_u_value_2);
5764
5739
  PyTuple_SET_ITEM(__pyx_t_1, 4, __pyx_kp_u_value_2);
5765
- __pyx_t_6 = __Pyx_PyUnicode_From_unsigned_PY_LONG_LONG(__pyx_v_self->_Semaphore__value, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
5766
- __Pyx_GOTREF(__pyx_t_6);
5767
- __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
5768
- __Pyx_GIVEREF(__pyx_t_6);
5769
- PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_6);
5770
- __pyx_t_6 = 0;
5740
+ __pyx_t_5 = __Pyx_PyUnicode_From_unsigned_PY_LONG_LONG(__pyx_v_self->_Semaphore__value, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
5741
+ __Pyx_GOTREF(__pyx_t_5);
5742
+ __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
5743
+ __Pyx_GIVEREF(__pyx_t_5);
5744
+ PyTuple_SET_ITEM(__pyx_t_1, 5, __pyx_t_5);
5745
+ __pyx_t_5 = 0;
5771
5746
  __Pyx_INCREF(__pyx_kp_u_waiters);
5772
5747
  __pyx_t_2 += 9;
5773
5748
  __Pyx_GIVEREF(__pyx_kp_u_waiters);
5774
5749
  PyTuple_SET_ITEM(__pyx_t_1, 6, __pyx_kp_u_waiters);
5775
- __pyx_t_8 = PyObject_Length(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_8 == ((Py_ssize_t)-1))) __PYX_ERR(0, 119, __pyx_L1_error)
5776
- __pyx_t_6 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_8, 0, ' ', 'd'); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
5777
- __Pyx_GOTREF(__pyx_t_6);
5778
- __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_6);
5779
- __Pyx_GIVEREF(__pyx_t_6);
5780
- PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_t_6);
5781
- __pyx_t_6 = 0;
5750
+ __pyx_t_6 = PyObject_Length(((PyObject *)__pyx_v_self)); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 119, __pyx_L1_error)
5751
+ __pyx_t_5 = __Pyx_PyUnicode_From_Py_ssize_t(__pyx_t_6, 0, ' ', 'd'); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
5752
+ __Pyx_GOTREF(__pyx_t_5);
5753
+ __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_5);
5754
+ __Pyx_GIVEREF(__pyx_t_5);
5755
+ PyTuple_SET_ITEM(__pyx_t_1, 7, __pyx_t_5);
5756
+ __pyx_t_5 = 0;
5782
5757
  __Pyx_INCREF(__pyx_kp_u__8);
5783
5758
  __pyx_t_2 += 1;
5784
5759
  __Pyx_GIVEREF(__pyx_kp_u__8);
5785
5760
  PyTuple_SET_ITEM(__pyx_t_1, 8, __pyx_kp_u__8);
5786
- __pyx_t_6 = __Pyx_PyUnicode_Join(__pyx_t_1, 9, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 119, __pyx_L1_error)
5787
- __Pyx_GOTREF(__pyx_t_6);
5761
+ __pyx_t_5 = __Pyx_PyUnicode_Join(__pyx_t_1, 9, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 119, __pyx_L1_error)
5762
+ __Pyx_GOTREF(__pyx_t_5);
5788
5763
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
5789
- __pyx_v_representation = ((PyObject*)__pyx_t_6);
5790
- __pyx_t_6 = 0;
5764
+ __pyx_v_representation = ((PyObject*)__pyx_t_5);
5765
+ __pyx_t_5 = 0;
5791
5766
 
5792
5767
  /* "a_sync/primitives/locks/semaphore.pyx":120
5793
5768
  * def __repr__(self) -> str:
5794
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
5769
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
5795
5770
  * if self._decorated: # <<<<<<<<<<<<<<
5796
5771
  * representation = f"{representation[:-1]} decorates={self._decorated}"
5797
5772
  * return representation
5798
5773
  */
5799
5774
  __Pyx_TraceLine(120,0,__PYX_ERR(0, 120, __pyx_L1_error))
5800
- __pyx_t_9 = (__pyx_v_self->_decorated != Py_None)&&(PySet_GET_SIZE(__pyx_v_self->_decorated) != 0);
5801
- if (__pyx_t_9) {
5775
+ __pyx_t_7 = (__pyx_v_self->_decorated != Py_None)&&(PySet_GET_SIZE(__pyx_v_self->_decorated) != 0);
5776
+ if (__pyx_t_7) {
5802
5777
 
5803
5778
  /* "a_sync/primitives/locks/semaphore.pyx":121
5804
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
5779
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
5805
5780
  * if self._decorated:
5806
5781
  * representation = f"{representation[:-1]} decorates={self._decorated}" # <<<<<<<<<<<<<<
5807
5782
  * return representation
5808
5783
  *
5809
5784
  */
5810
5785
  __Pyx_TraceLine(121,0,__PYX_ERR(0, 121, __pyx_L1_error))
5811
- __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 121, __pyx_L1_error)
5812
- __Pyx_GOTREF(__pyx_t_6);
5786
+ __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 121, __pyx_L1_error)
5787
+ __Pyx_GOTREF(__pyx_t_5);
5813
5788
  __pyx_t_2 = 0;
5814
5789
  __pyx_t_3 = 127;
5815
5790
  __pyx_t_1 = __Pyx_PyUnicode_Substring(__pyx_v_representation, 0, -1L); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
@@ -5817,28 +5792,28 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5817
5792
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_3;
5818
5793
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
5819
5794
  __Pyx_GIVEREF(__pyx_t_1);
5820
- PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
5795
+ PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1);
5821
5796
  __pyx_t_1 = 0;
5822
5797
  __Pyx_INCREF(__pyx_kp_u_decorates);
5823
5798
  __pyx_t_2 += 11;
5824
5799
  __Pyx_GIVEREF(__pyx_kp_u_decorates);
5825
- PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_kp_u_decorates);
5800
+ PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_kp_u_decorates);
5826
5801
  __pyx_t_1 = __Pyx_PyObject_FormatSimple(__pyx_v_self->_decorated, __pyx_empty_unicode); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
5827
5802
  __Pyx_GOTREF(__pyx_t_1);
5828
5803
  __pyx_t_3 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) > __pyx_t_3) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_1) : __pyx_t_3;
5829
5804
  __pyx_t_2 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_1);
5830
5805
  __Pyx_GIVEREF(__pyx_t_1);
5831
- PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_1);
5806
+ PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_1);
5832
5807
  __pyx_t_1 = 0;
5833
- __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_6, 3, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
5808
+ __pyx_t_1 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
5834
5809
  __Pyx_GOTREF(__pyx_t_1);
5835
- __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
5810
+ __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
5836
5811
  __Pyx_DECREF_SET(__pyx_v_representation, ((PyObject*)__pyx_t_1));
5837
5812
  __pyx_t_1 = 0;
5838
5813
 
5839
5814
  /* "a_sync/primitives/locks/semaphore.pyx":120
5840
5815
  * def __repr__(self) -> str:
5841
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
5816
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
5842
5817
  * if self._decorated: # <<<<<<<<<<<<<<
5843
5818
  * representation = f"{representation[:-1]} decorates={self._decorated}"
5844
5819
  * return representation
@@ -5862,7 +5837,7 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5862
5837
  * return self.decorate(fn) # type: ignore [arg-type, return-value]
5863
5838
  *
5864
5839
  * def __repr__(self) -> str: # <<<<<<<<<<<<<<
5865
- * representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
5840
+ * representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
5866
5841
  * if self._decorated:
5867
5842
  */
5868
5843
 
@@ -5871,7 +5846,6 @@ static PyObject *__pyx_pf_6a_sync_10primitives_5locks_9semaphore_9Semaphore_8__r
5871
5846
  __Pyx_XDECREF(__pyx_t_1);
5872
5847
  __Pyx_XDECREF(__pyx_t_4);
5873
5848
  __Pyx_XDECREF(__pyx_t_5);
5874
- __Pyx_XDECREF(__pyx_t_6);
5875
5849
  __Pyx_AddTraceback("a_sync.primitives.locks.semaphore.Semaphore.__repr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
5876
5850
  __pyx_r = NULL;
5877
5851
  __pyx_L0:;
@@ -17167,6 +17141,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
17167
17141
  {&__pyx_kp_s_Literal_True, __pyx_k_Literal_True, sizeof(__pyx_k_Literal_True), 0, 0, 1, 0},
17168
17142
  {&__pyx_n_s_MemoryError, __pyx_k_MemoryError, sizeof(__pyx_k_MemoryError), 0, 0, 1, 1},
17169
17143
  {&__pyx_n_s_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 0, 1, 1},
17144
+ {&__pyx_kp_u_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 1, 0, 0},
17170
17145
  {&__pyx_n_s_OverflowError, __pyx_k_OverflowError, sizeof(__pyx_k_OverflowError), 0, 0, 1, 1},
17171
17146
  {&__pyx_kp_s_P_args, __pyx_k_P_args, sizeof(__pyx_k_P_args), 0, 0, 1, 0},
17172
17147
  {&__pyx_kp_s_P_kwargs, __pyx_k_P_kwargs, sizeof(__pyx_k_P_kwargs), 0, 0, 1, 0},
@@ -17178,7 +17153,6 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
17178
17153
  {&__pyx_n_s_Semaphore___setstate_cython, __pyx_k_Semaphore___setstate_cython, sizeof(__pyx_k_Semaphore___setstate_cython), 0, 0, 1, 1},
17179
17154
  {&__pyx_n_s_Semaphore__acquire, __pyx_k_Semaphore__acquire, sizeof(__pyx_k_Semaphore__acquire), 0, 0, 1, 1},
17180
17155
  {&__pyx_n_s_Semaphore__debug_daemon, __pyx_k_Semaphore__debug_daemon, sizeof(__pyx_k_Semaphore__debug_daemon), 0, 0, 1, 1},
17181
- {&__pyx_n_s_Semaphore__name, __pyx_k_Semaphore__name, sizeof(__pyx_k_Semaphore__name), 0, 0, 1, 1},
17182
17156
  {&__pyx_n_s_Semaphore__wake_up_next, __pyx_k_Semaphore__wake_up_next, sizeof(__pyx_k_Semaphore__wake_up_next), 0, 0, 1, 1},
17183
17157
  {&__pyx_n_s_Semaphore_acquire, __pyx_k_Semaphore_acquire, sizeof(__pyx_k_Semaphore_acquire), 0, 0, 1, 1},
17184
17158
  {&__pyx_n_s_Semaphore_c_locked_locals_genexp, __pyx_k_Semaphore_c_locked_locals_genexp, sizeof(__pyx_k_Semaphore_c_locked_locals_genexp), 0, 0, 1, 1},
@@ -20728,6 +20702,13 @@ static void __Pyx_WriteUnraisable(const char *name, int clineno,
20728
20702
  #endif
20729
20703
  }
20730
20704
 
20705
+ /* PyUnicode_Unicode */
20706
+ static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) {
20707
+ if (unlikely(obj == Py_None))
20708
+ obj = __pyx_kp_u_None;
20709
+ return __Pyx_NewRef(obj);
20710
+ }
20711
+
20731
20712
  /* CIntToDigits */
20732
20713
  static const char DIGIT_PAIRS_10[2*10*10+1] = {
20733
20714
  "00010203040506070809"
@@ -116,7 +116,7 @@ cdef class Semaphore(_DebugDaemonMixin):
116
116
  return self.decorate(fn) # type: ignore [arg-type, return-value]
117
117
 
118
118
  def __repr__(self) -> str:
119
- representation = f"<{self.__class__.__name__} name={self.__name.decode('utf-8')} value={self._Semaphore__value} waiters={len(self)}>"
119
+ representation = f"<{self.__class__.__name__} name={self.decode_name()} value={self._Semaphore__value} waiters={len(self)}>"
120
120
  if self._decorated:
121
121
  representation = f"{representation[:-1]} decorates={self._decorated}"
122
122
  return representation
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ez-a-sync
3
- Version: 0.24.19
3
+ Version: 0.24.20
4
4
  Summary: A library that makes it easy to define objects that can be used for both sync and async use cases.
5
5
  Home-page: https://github.com/BobTheBuidler/a-sync
6
6
  Author: BobTheBuidler
@@ -18,6 +18,7 @@ instance = TestSemaphore(1, sync=False)
18
18
 
19
19
  def test_semaphore_init():
20
20
  assert Semaphore(1)._value == Semaphore()._value == 1
21
+ repr(Semaphore(1))
21
22
 
22
23
 
23
24
  @increment
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes