ez-a-sync 0.24.31__tar.gz → 0.24.32__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 (171) hide show
  1. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/PKG-INFO +1 -1
  2. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_kwargs.c +88 -207
  3. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_kwargs.pyx +1 -0
  4. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/base.c +687 -798
  5. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/base.pyx +2 -1
  6. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/gather.c +824 -798
  7. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/gather.pyx +15 -19
  8. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/iter.c +854 -855
  9. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/iter.pyx +4 -4
  10. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_loggable.c +132 -254
  11. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_loggable.pyx +1 -0
  12. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/event.c +486 -617
  13. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/event.pyx +1 -0
  14. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/prio_semaphore.c +1080 -1208
  15. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/prio_semaphore.pyx +1 -0
  16. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/PKG-INFO +1 -1
  17. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.coverage +0 -0
  18. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/black.yaml +0 -0
  19. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/codeql.yaml +0 -0
  20. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/docs.yaml +0 -0
  21. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/mypy.yaml +0 -0
  22. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/pytest.yaml +0 -0
  23. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.github/workflows/release.yaml +0 -0
  24. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.gitignore +0 -0
  25. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/.sourcery.yaml +0 -0
  26. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/LICENSE.txt +0 -0
  27. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/MANIFEST.in +0 -0
  28. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/Makefile +0 -0
  29. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/README.md +0 -0
  30. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/TODO +0 -0
  31. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
  32. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/__init__.pxd +0 -0
  33. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/__init__.py +0 -0
  34. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/_smart.c +0 -0
  35. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/_smart.pyx +0 -0
  36. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/_typing.py +0 -0
  37. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/__init__.py +0 -0
  38. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_descriptor.py +0 -0
  39. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_flags.c +0 -0
  40. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_flags.pxd +0 -0
  41. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_flags.pyx +0 -0
  42. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_helpers.c +0 -0
  43. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_helpers.pxd +0 -0
  44. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_helpers.pyi +0 -0
  45. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_helpers.pyx +0 -0
  46. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_kwargs.pxd +0 -0
  47. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/_meta.py +0 -0
  48. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/abstract.c +0 -0
  49. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/abstract.pyi +0 -0
  50. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/abstract.pyx +0 -0
  51. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/base.pyi +0 -0
  52. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/config.py +0 -0
  53. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/decorator.py +0 -0
  54. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/flags.py +0 -0
  55. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/function.c +0 -0
  56. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/function.pyi +0 -0
  57. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/function.pyx +0 -0
  58. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/method.c +0 -0
  59. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/method.pxd +0 -0
  60. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/method.pyi +0 -0
  61. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/method.pyx +0 -0
  62. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/__init__.py +0 -0
  63. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
  64. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
  65. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/limiter.py +0 -0
  66. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/manager.c +0 -0
  67. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/manager.pyi +0 -0
  68. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/manager.pyx +0 -0
  69. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/modifiers/semaphores.py +0 -0
  70. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/property.c +0 -0
  71. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/property.pyi +0 -0
  72. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/property.pyx +0 -0
  73. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/a_sync/singleton.py +0 -0
  74. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/aliases.py +0 -0
  75. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/__init__.py +0 -0
  76. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/as_completed.c +0 -0
  77. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/as_completed.pxd +0 -0
  78. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/as_completed.pyi +0 -0
  79. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/as_completed.pyx +0 -0
  80. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/create_task.c +0 -0
  81. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/create_task.pxd +0 -0
  82. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/create_task.pyi +0 -0
  83. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/create_task.pyx +0 -0
  84. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/asyncio/gather.pyi +0 -0
  85. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/exceptions.py +0 -0
  86. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/executor.py +0 -0
  87. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/future.py +0 -0
  88. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/iter.pyi +0 -0
  89. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/__init__.pxd +0 -0
  90. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/__init__.py +0 -0
  91. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_debug.c +0 -0
  92. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_debug.pxd +0 -0
  93. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_debug.pyi +0 -0
  94. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_debug.pyx +0 -0
  95. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_loggable.pxd +0 -0
  96. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/_loggable.pyi +0 -0
  97. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/__init__.pxd +0 -0
  98. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/__init__.py +0 -0
  99. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/counter.c +0 -0
  100. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/counter.pxd +0 -0
  101. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/counter.pyi +0 -0
  102. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/counter.pyx +0 -0
  103. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/event.pxd +0 -0
  104. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/event.pyi +0 -0
  105. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/prio_semaphore.pxd +0 -0
  106. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/prio_semaphore.pyi +0 -0
  107. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/semaphore.c +0 -0
  108. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/semaphore.pxd +0 -0
  109. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/semaphore.pyi +0 -0
  110. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/locks/semaphore.pyx +0 -0
  111. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/primitives/queue.py +0 -0
  112. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/py.typed +0 -0
  113. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/sphinx/__init__.py +0 -0
  114. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/sphinx/ext.py +0 -0
  115. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/task.py +0 -0
  116. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/utils/__init__.py +0 -0
  117. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/a_sync/utils/iterators.py +0 -0
  118. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/Makefile +0 -0
  119. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/alabaster.css +0 -0
  120. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/basic.css +0 -0
  121. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/custom.css +0 -0
  122. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/doctools.js +0 -0
  123. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/documentation_options.js +0 -0
  124. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/file.png +0 -0
  125. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/language_data.js +0 -0
  126. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/minus.png +0 -0
  127. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/plus.png +0 -0
  128. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/pygments.css +0 -0
  129. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/searchtools.js +0 -0
  130. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  131. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/conf.py +0 -0
  132. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/index.rst +0 -0
  133. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/docs/make.bat +0 -0
  134. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/SOURCES.txt +0 -0
  135. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/dependency_links.txt +0 -0
  136. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/not-zip-safe +0 -0
  137. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/requires.txt +0 -0
  138. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/ez_a_sync.egg-info/top_level.txt +0 -0
  139. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/pyproject.toml +0 -0
  140. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/requirements-dev.txt +0 -0
  141. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/requirements.txt +0 -0
  142. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/setup.cfg +0 -0
  143. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/setup.py +0 -0
  144. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/__init__.py +0 -0
  145. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/modifiers/test_apply_semaphore.py +0 -0
  146. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_abstract.py +0 -0
  147. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_base.py +0 -0
  148. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_cache.py +0 -0
  149. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_decorator.py +0 -0
  150. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_limiter.py +0 -0
  151. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_meta.py +0 -0
  152. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_modified.py +0 -0
  153. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/a_sync/test_singleton.py +0 -0
  154. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/asyncio/test_as_completed.py +0 -0
  155. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/asyncio/test_create_task.py +0 -0
  156. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/asyncio/test_gather.py +0 -0
  157. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/conftest.py +0 -0
  158. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/executor.py +0 -0
  159. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/fixtures.py +0 -0
  160. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/primitives/test_counter.py +0 -0
  161. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/primitives/test_event.py +0 -0
  162. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/primitives/test_prio_semaphore.py +0 -0
  163. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/primitives/test_queue.py +0 -0
  164. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/primitives/test_semaphore.py +0 -0
  165. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/task/test_task.py +0 -0
  166. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/task/test_task_mapping_views.py +0 -0
  167. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/test_executor.py +0 -0
  168. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/test_future.py +0 -0
  169. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/test_helpers.py +0 -0
  170. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/tests/test_iter.py +0 -0
  171. {ez_a_sync-0.24.31 → ez_a_sync-0.24.32}/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.31
3
+ Version: 0.24.32
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
@@ -2042,28 +2042,6 @@ static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
2042
2042
  #define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
2043
2043
  #endif
2044
2044
 
2045
- /* GetItemInt.proto */
2046
- #define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2047
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2048
- __Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
2049
- (is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
2050
- __Pyx_GetItemInt_Generic(o, to_py_func(i))))
2051
- #define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2052
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2053
- __Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2054
- (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
2055
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
2056
- int wraparound, int boundscheck);
2057
- #define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
2058
- (__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
2059
- __Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
2060
- (PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
2061
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
2062
- int wraparound, int boundscheck);
2063
- static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j);
2064
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i,
2065
- int is_list, int wraparound, int boundscheck);
2066
-
2067
2045
  /* RaiseUnexpectedTypeError.proto */
2068
2046
  static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj);
2069
2047
 
@@ -2674,7 +2652,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
2674
2652
  #define __pyx_tuple__4 __pyx_mstate_global->__pyx_tuple__4
2675
2653
  /* #### Code section: module_code ### */
2676
2654
 
2677
- /* "a_sync/a_sync/_kwargs.pyx":12
2655
+ /* "a_sync/a_sync/_kwargs.pyx":13
2678
2656
  *
2679
2657
  *
2680
2658
  * def get_flag_name_legacy(dict kwargs) -> str: # <<<<<<<<<<<<<<
@@ -2736,12 +2714,12 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
2736
2714
  (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
2737
2715
  kw_args--;
2738
2716
  }
2739
- else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 12, __pyx_L3_error)
2717
+ else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 13, __pyx_L3_error)
2740
2718
  else goto __pyx_L5_argtuple_error;
2741
2719
  }
2742
2720
  if (unlikely(kw_args > 0)) {
2743
2721
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
2744
- if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_flag_name_legacy") < 0)) __PYX_ERR(0, 12, __pyx_L3_error)
2722
+ if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "get_flag_name_legacy") < 0)) __PYX_ERR(0, 13, __pyx_L3_error)
2745
2723
  }
2746
2724
  } else if (unlikely(__pyx_nargs != 1)) {
2747
2725
  goto __pyx_L5_argtuple_error;
@@ -2752,7 +2730,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
2752
2730
  }
2753
2731
  goto __pyx_L6_skip;
2754
2732
  __pyx_L5_argtuple_error:;
2755
- __Pyx_RaiseArgtupleInvalid("get_flag_name_legacy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 12, __pyx_L3_error)
2733
+ __Pyx_RaiseArgtupleInvalid("get_flag_name_legacy", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 13, __pyx_L3_error)
2756
2734
  __pyx_L6_skip:;
2757
2735
  goto __pyx_L4_argument_unpacking_done;
2758
2736
  __pyx_L3_error:;
@@ -2766,7 +2744,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
2766
2744
  __Pyx_RefNannyFinishContext();
2767
2745
  return NULL;
2768
2746
  __pyx_L4_argument_unpacking_done:;
2769
- if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(0, 12, __pyx_L1_error)
2747
+ if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_kwargs), (&PyDict_Type), 1, "kwargs", 1))) __PYX_ERR(0, 13, __pyx_L1_error)
2770
2748
  __pyx_r = __pyx_pf_6a_sync_6a_sync_7_kwargs_get_flag_name_legacy(__pyx_self, __pyx_v_kwargs);
2771
2749
 
2772
2750
  /* function exit code */
@@ -2794,24 +2772,24 @@ static PyObject *__pyx_pf_6a_sync_6a_sync_7_kwargs_get_flag_name_legacy(CYTHON_U
2794
2772
  int __pyx_clineno = 0;
2795
2773
  __Pyx_TraceFrameInit(__pyx_codeobj_)
2796
2774
  __Pyx_RefNannySetupContext("get_flag_name_legacy", 1);
2797
- __Pyx_TraceCall("get_flag_name_legacy", __pyx_f[0], 12, 0, __PYX_ERR(0, 12, __pyx_L1_error));
2775
+ __Pyx_TraceCall("get_flag_name_legacy", __pyx_f[0], 13, 0, __PYX_ERR(0, 13, __pyx_L1_error));
2798
2776
 
2799
- /* "a_sync/a_sync/_kwargs.pyx":13
2777
+ /* "a_sync/a_sync/_kwargs.pyx":14
2800
2778
  *
2801
2779
  * def get_flag_name_legacy(dict kwargs) -> str:
2802
2780
  * return get_flag_name(kwargs) # <<<<<<<<<<<<<<
2803
2781
  *
2804
2782
  *
2805
2783
  */
2806
- __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error))
2784
+ __Pyx_TraceLine(14,0,__PYX_ERR(0, 14, __pyx_L1_error))
2807
2785
  __Pyx_XDECREF(__pyx_r);
2808
- __pyx_t_1 = __pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
2786
+ __pyx_t_1 = __pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(__pyx_v_kwargs); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
2809
2787
  __Pyx_GOTREF(__pyx_t_1);
2810
2788
  __pyx_r = ((PyObject*)__pyx_t_1);
2811
2789
  __pyx_t_1 = 0;
2812
2790
  goto __pyx_L0;
2813
2791
 
2814
- /* "a_sync/a_sync/_kwargs.pyx":12
2792
+ /* "a_sync/a_sync/_kwargs.pyx":13
2815
2793
  *
2816
2794
  *
2817
2795
  * def get_flag_name_legacy(dict kwargs) -> str: # <<<<<<<<<<<<<<
@@ -2831,7 +2809,7 @@ static PyObject *__pyx_pf_6a_sync_6a_sync_7_kwargs_get_flag_name_legacy(CYTHON_U
2831
2809
  return __pyx_r;
2832
2810
  }
2833
2811
 
2834
- /* "a_sync/a_sync/_kwargs.pyx":16
2812
+ /* "a_sync/a_sync/_kwargs.pyx":17
2835
2813
  *
2836
2814
  *
2837
2815
  * cdef inline str get_flag_name(dict kwargs): # <<<<<<<<<<<<<<
@@ -2857,29 +2835,29 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2857
2835
  const char *__pyx_filename = NULL;
2858
2836
  int __pyx_clineno = 0;
2859
2837
  __Pyx_RefNannySetupContext("get_flag_name", 1);
2860
- __Pyx_TraceCall("get_flag_name", __pyx_f[0], 16, 0, __PYX_ERR(0, 16, __pyx_L1_error));
2838
+ __Pyx_TraceCall("get_flag_name", __pyx_f[0], 17, 0, __PYX_ERR(0, 17, __pyx_L1_error));
2861
2839
 
2862
- /* "a_sync/a_sync/_kwargs.pyx":40
2840
+ /* "a_sync/a_sync/_kwargs.pyx":41
2863
2841
  * ''
2864
2842
  * """
2865
2843
  * cdef list present_flags = [flag for flag in VIABLE_FLAGS if flag in kwargs] # <<<<<<<<<<<<<<
2866
2844
  * cdef uint8_t flags_count = len(present_flags)
2867
2845
  * if flags_count == 0:
2868
2846
  */
2869
- __Pyx_TraceLine(40,0,__PYX_ERR(0, 40, __pyx_L1_error))
2847
+ __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error))
2870
2848
  { /* enter inner scope */
2871
- __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 40, __pyx_L5_error)
2849
+ __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L5_error)
2872
2850
  __Pyx_GOTREF(__pyx_t_1);
2873
- __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_VIABLE_FLAGS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L5_error)
2851
+ __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_VIABLE_FLAGS); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L5_error)
2874
2852
  __Pyx_GOTREF(__pyx_t_2);
2875
2853
  if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
2876
2854
  __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3);
2877
2855
  __pyx_t_4 = 0;
2878
2856
  __pyx_t_5 = NULL;
2879
2857
  } else {
2880
- __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L5_error)
2858
+ __pyx_t_4 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L5_error)
2881
2859
  __Pyx_GOTREF(__pyx_t_3);
2882
- __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 40, __pyx_L5_error)
2860
+ __pyx_t_5 = __Pyx_PyObject_GetIterNextFunc(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L5_error)
2883
2861
  }
2884
2862
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
2885
2863
  for (;;) {
@@ -2888,28 +2866,28 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2888
2866
  {
2889
2867
  Py_ssize_t __pyx_temp = __Pyx_PyList_GET_SIZE(__pyx_t_3);
2890
2868
  #if !CYTHON_ASSUME_SAFE_MACROS
2891
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40, __pyx_L5_error)
2869
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 41, __pyx_L5_error)
2892
2870
  #endif
2893
2871
  if (__pyx_t_4 >= __pyx_temp) break;
2894
2872
  }
2895
2873
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
2896
- __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 40, __pyx_L5_error)
2874
+ __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 41, __pyx_L5_error)
2897
2875
  #else
2898
- __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L5_error)
2876
+ __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L5_error)
2899
2877
  __Pyx_GOTREF(__pyx_t_2);
2900
2878
  #endif
2901
2879
  } else {
2902
2880
  {
2903
2881
  Py_ssize_t __pyx_temp = __Pyx_PyTuple_GET_SIZE(__pyx_t_3);
2904
2882
  #if !CYTHON_ASSUME_SAFE_MACROS
2905
- if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 40, __pyx_L5_error)
2883
+ if (unlikely((__pyx_temp < 0))) __PYX_ERR(0, 41, __pyx_L5_error)
2906
2884
  #endif
2907
2885
  if (__pyx_t_4 >= __pyx_temp) break;
2908
2886
  }
2909
2887
  #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
2910
- __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 40, __pyx_L5_error)
2888
+ __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_4); __Pyx_INCREF(__pyx_t_2); __pyx_t_4++; if (unlikely((0 < 0))) __PYX_ERR(0, 41, __pyx_L5_error)
2911
2889
  #else
2912
- __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 40, __pyx_L5_error)
2890
+ __pyx_t_2 = __Pyx_PySequence_ITEM(__pyx_t_3, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L5_error)
2913
2891
  __Pyx_GOTREF(__pyx_t_2);
2914
2892
  #endif
2915
2893
  }
@@ -2919,7 +2897,7 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2919
2897
  PyObject* exc_type = PyErr_Occurred();
2920
2898
  if (exc_type) {
2921
2899
  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
2922
- else __PYX_ERR(0, 40, __pyx_L5_error)
2900
+ else __PYX_ERR(0, 41, __pyx_L5_error)
2923
2901
  }
2924
2902
  break;
2925
2903
  }
@@ -2929,11 +2907,11 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2929
2907
  __pyx_t_2 = 0;
2930
2908
  if (unlikely(__pyx_v_kwargs == Py_None)) {
2931
2909
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
2932
- __PYX_ERR(0, 40, __pyx_L5_error)
2910
+ __PYX_ERR(0, 41, __pyx_L5_error)
2933
2911
  }
2934
- __pyx_t_6 = (__Pyx_PyDict_ContainsTF(__pyx_7genexpr__pyx_v_flag, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 40, __pyx_L5_error)
2912
+ __pyx_t_6 = (__Pyx_PyDict_ContainsTF(__pyx_7genexpr__pyx_v_flag, __pyx_v_kwargs, Py_EQ)); if (unlikely((__pyx_t_6 < 0))) __PYX_ERR(0, 41, __pyx_L5_error)
2935
2913
  if (__pyx_t_6) {
2936
- if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_7genexpr__pyx_v_flag))) __PYX_ERR(0, 40, __pyx_L5_error)
2914
+ if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_7genexpr__pyx_v_flag))) __PYX_ERR(0, 41, __pyx_L5_error)
2937
2915
  }
2938
2916
  }
2939
2917
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
@@ -2947,42 +2925,42 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2947
2925
  __pyx_v_present_flags = ((PyObject*)__pyx_t_1);
2948
2926
  __pyx_t_1 = 0;
2949
2927
 
2950
- /* "a_sync/a_sync/_kwargs.pyx":41
2928
+ /* "a_sync/a_sync/_kwargs.pyx":42
2951
2929
  * """
2952
2930
  * cdef list present_flags = [flag for flag in VIABLE_FLAGS if flag in kwargs]
2953
2931
  * cdef uint8_t flags_count = len(present_flags) # <<<<<<<<<<<<<<
2954
2932
  * if flags_count == 0:
2955
2933
  * return "" # indicates no flag is present
2956
2934
  */
2957
- __Pyx_TraceLine(41,0,__PYX_ERR(0, 41, __pyx_L1_error))
2958
- __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_present_flags); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 41, __pyx_L1_error)
2935
+ __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error))
2936
+ __pyx_t_4 = __Pyx_PyList_GET_SIZE(__pyx_v_present_flags); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 42, __pyx_L1_error)
2959
2937
  __pyx_v_flags_count = __pyx_t_4;
2960
2938
 
2961
- /* "a_sync/a_sync/_kwargs.pyx":42
2939
+ /* "a_sync/a_sync/_kwargs.pyx":43
2962
2940
  * cdef list present_flags = [flag for flag in VIABLE_FLAGS if flag in kwargs]
2963
2941
  * cdef uint8_t flags_count = len(present_flags)
2964
2942
  * if flags_count == 0: # <<<<<<<<<<<<<<
2965
2943
  * return "" # indicates no flag is present
2966
2944
  * elif flags_count == 1:
2967
2945
  */
2968
- __Pyx_TraceLine(42,0,__PYX_ERR(0, 42, __pyx_L1_error))
2946
+ __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error))
2969
2947
  switch (__pyx_v_flags_count) {
2970
2948
  case 0:
2971
2949
 
2972
- /* "a_sync/a_sync/_kwargs.pyx":43
2950
+ /* "a_sync/a_sync/_kwargs.pyx":44
2973
2951
  * cdef uint8_t flags_count = len(present_flags)
2974
2952
  * if flags_count == 0:
2975
2953
  * return "" # indicates no flag is present # <<<<<<<<<<<<<<
2976
2954
  * elif flags_count == 1:
2977
2955
  * return present_flags[0]
2978
2956
  */
2979
- __Pyx_TraceLine(43,0,__PYX_ERR(0, 43, __pyx_L1_error))
2957
+ __Pyx_TraceLine(44,0,__PYX_ERR(0, 44, __pyx_L1_error))
2980
2958
  __Pyx_XDECREF(__pyx_r);
2981
2959
  __Pyx_INCREF(__pyx_kp_u__2);
2982
2960
  __pyx_r = __pyx_kp_u__2;
2983
2961
  goto __pyx_L0;
2984
2962
 
2985
- /* "a_sync/a_sync/_kwargs.pyx":42
2963
+ /* "a_sync/a_sync/_kwargs.pyx":43
2986
2964
  * cdef list present_flags = [flag for flag in VIABLE_FLAGS if flag in kwargs]
2987
2965
  * cdef uint8_t flags_count = len(present_flags)
2988
2966
  * if flags_count == 0: # <<<<<<<<<<<<<<
@@ -2992,23 +2970,21 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
2992
2970
  break;
2993
2971
  case 1:
2994
2972
 
2995
- /* "a_sync/a_sync/_kwargs.pyx":45
2973
+ /* "a_sync/a_sync/_kwargs.pyx":46
2996
2974
  * return "" # indicates no flag is present
2997
2975
  * elif flags_count == 1:
2998
2976
  * return present_flags[0] # <<<<<<<<<<<<<<
2999
2977
  * raise exceptions.TooManyFlags("kwargs", present_flags)
3000
2978
  *
3001
2979
  */
3002
- __Pyx_TraceLine(45,0,__PYX_ERR(0, 45, __pyx_L1_error))
2980
+ __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error))
3003
2981
  __Pyx_XDECREF(__pyx_r);
3004
- __pyx_t_1 = __Pyx_GetItemInt_List(__pyx_v_present_flags, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error)
3005
- __Pyx_GOTREF(__pyx_t_1);
3006
- if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_1))) __PYX_ERR(0, 45, __pyx_L1_error)
3007
- __pyx_r = ((PyObject*)__pyx_t_1);
3008
- __pyx_t_1 = 0;
2982
+ if (!(likely(PyUnicode_CheckExact(PyList_GET_ITEM(__pyx_v_present_flags, 0)))||((PyList_GET_ITEM(__pyx_v_present_flags, 0)) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", PyList_GET_ITEM(__pyx_v_present_flags, 0)))) __PYX_ERR(0, 46, __pyx_L1_error)
2983
+ __Pyx_INCREF(PyList_GET_ITEM(__pyx_v_present_flags, 0));
2984
+ __pyx_r = ((PyObject*)PyList_GET_ITEM(__pyx_v_present_flags, 0));
3009
2985
  goto __pyx_L0;
3010
2986
 
3011
- /* "a_sync/a_sync/_kwargs.pyx":44
2987
+ /* "a_sync/a_sync/_kwargs.pyx":45
3012
2988
  * if flags_count == 0:
3013
2989
  * return "" # indicates no flag is present
3014
2990
  * elif flags_count == 1: # <<<<<<<<<<<<<<
@@ -3019,17 +2995,17 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
3019
2995
  default: break;
3020
2996
  }
3021
2997
 
3022
- /* "a_sync/a_sync/_kwargs.pyx":46
2998
+ /* "a_sync/a_sync/_kwargs.pyx":47
3023
2999
  * elif flags_count == 1:
3024
3000
  * return present_flags[0]
3025
3001
  * raise exceptions.TooManyFlags("kwargs", present_flags) # <<<<<<<<<<<<<<
3026
3002
  *
3027
3003
  *
3028
3004
  */
3029
- __Pyx_TraceLine(46,0,__PYX_ERR(0, 46, __pyx_L1_error))
3030
- __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 46, __pyx_L1_error)
3005
+ __Pyx_TraceLine(47,0,__PYX_ERR(0, 47, __pyx_L1_error))
3006
+ __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 47, __pyx_L1_error)
3031
3007
  __Pyx_GOTREF(__pyx_t_3);
3032
- __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_TooManyFlags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 46, __pyx_L1_error)
3008
+ __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_TooManyFlags); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error)
3033
3009
  __Pyx_GOTREF(__pyx_t_2);
3034
3010
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3035
3011
  __pyx_t_3 = NULL;
@@ -3050,15 +3026,15 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
3050
3026
  PyObject *__pyx_callargs[3] = {__pyx_t_3, __pyx_n_u_kwargs, __pyx_v_present_flags};
3051
3027
  __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_7, 2+__pyx_t_7);
3052
3028
  __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
3053
- if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error)
3029
+ if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
3054
3030
  __Pyx_GOTREF(__pyx_t_1);
3055
3031
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3056
3032
  }
3057
3033
  __Pyx_Raise(__pyx_t_1, 0, 0, 0);
3058
3034
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3059
- __PYX_ERR(0, 46, __pyx_L1_error)
3035
+ __PYX_ERR(0, 47, __pyx_L1_error)
3060
3036
 
3061
- /* "a_sync/a_sync/_kwargs.pyx":16
3037
+ /* "a_sync/a_sync/_kwargs.pyx":17
3062
3038
  *
3063
3039
  *
3064
3040
  * cdef inline str get_flag_name(dict kwargs): # <<<<<<<<<<<<<<
@@ -3082,7 +3058,7 @@ static CYTHON_INLINE PyObject *__pyx_f_6a_sync_6a_sync_7_kwargs_get_flag_name(Py
3082
3058
  return __pyx_r;
3083
3059
  }
3084
3060
 
3085
- /* "a_sync/a_sync/_kwargs.pyx":49
3061
+ /* "a_sync/a_sync/_kwargs.pyx":50
3086
3062
  *
3087
3063
  *
3088
3064
  * cdef inline bint is_sync(str flag, dict kwargs, bint pop_flag): # <<<<<<<<<<<<<<
@@ -3101,39 +3077,39 @@ static CYTHON_INLINE int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__py
3101
3077
  const char *__pyx_filename = NULL;
3102
3078
  int __pyx_clineno = 0;
3103
3079
  __Pyx_RefNannySetupContext("is_sync", 1);
3104
- __Pyx_TraceCall("is_sync", __pyx_f[0], 49, 0, __PYX_ERR(0, 49, __pyx_L1_error));
3080
+ __Pyx_TraceCall("is_sync", __pyx_f[0], 50, 0, __PYX_ERR(0, 50, __pyx_L1_error));
3105
3081
 
3106
- /* "a_sync/a_sync/_kwargs.pyx":61
3082
+ /* "a_sync/a_sync/_kwargs.pyx":62
3107
3083
  * :func:`get_flag_name`: Retrieves the name of the flag present in the kwargs.
3108
3084
  * """
3109
3085
  * return validate_and_negate_if_necessary(flag, kwargs.pop(flag) if pop_flag else kwargs[flag]) # <<<<<<<<<<<<<<
3110
3086
  */
3111
- __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error))
3087
+ __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error))
3112
3088
  if (__pyx_v_pop_flag) {
3113
3089
  if (unlikely(__pyx_v_kwargs == Py_None)) {
3114
3090
  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
3115
- __PYX_ERR(0, 61, __pyx_L1_error)
3091
+ __PYX_ERR(0, 62, __pyx_L1_error)
3116
3092
  }
3117
- __pyx_t_2 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_v_flag, ((PyObject *)NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error)
3093
+ __pyx_t_2 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_v_flag, ((PyObject *)NULL)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
3118
3094
  __Pyx_GOTREF(__pyx_t_2);
3119
3095
  __pyx_t_1 = __pyx_t_2;
3120
3096
  __pyx_t_2 = 0;
3121
3097
  } else {
3122
3098
  if (unlikely(__pyx_v_kwargs == Py_None)) {
3123
3099
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
3124
- __PYX_ERR(0, 61, __pyx_L1_error)
3100
+ __PYX_ERR(0, 62, __pyx_L1_error)
3125
3101
  }
3126
- __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 61, __pyx_L1_error)
3102
+ __pyx_t_2 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 62, __pyx_L1_error)
3127
3103
  __Pyx_GOTREF(__pyx_t_2);
3128
3104
  __pyx_t_1 = __pyx_t_2;
3129
3105
  __pyx_t_2 = 0;
3130
3106
  }
3131
- __pyx_t_3 = __pyx_f_6a_sync_6a_sync_6_flags_validate_and_negate_if_necessary(__pyx_v_flag, __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 61, __pyx_L1_error)
3107
+ __pyx_t_3 = __pyx_f_6a_sync_6a_sync_6_flags_validate_and_negate_if_necessary(__pyx_v_flag, __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L1_error)
3132
3108
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
3133
3109
  __pyx_r = __pyx_t_3;
3134
3110
  goto __pyx_L0;
3135
3111
 
3136
- /* "a_sync/a_sync/_kwargs.pyx":49
3112
+ /* "a_sync/a_sync/_kwargs.pyx":50
3137
3113
  *
3138
3114
  *
3139
3115
  * cdef inline bint is_sync(str flag, dict kwargs, bint pop_flag): # <<<<<<<<<<<<<<
@@ -3206,17 +3182,17 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
3206
3182
  __Pyx_RefNannyDeclarations
3207
3183
  __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
3208
3184
 
3209
- /* "a_sync/a_sync/_kwargs.pyx":12
3185
+ /* "a_sync/a_sync/_kwargs.pyx":13
3210
3186
  *
3211
3187
  *
3212
3188
  * def get_flag_name_legacy(dict kwargs) -> str: # <<<<<<<<<<<<<<
3213
3189
  * return get_flag_name(kwargs)
3214
3190
  *
3215
3191
  */
3216
- __pyx_tuple__4 = PyTuple_Pack(1, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 12, __pyx_L1_error)
3192
+ __pyx_tuple__4 = PyTuple_Pack(1, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 13, __pyx_L1_error)
3217
3193
  __Pyx_GOTREF(__pyx_tuple__4);
3218
3194
  __Pyx_GIVEREF(__pyx_tuple__4);
3219
- __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_a_sync_a_sync__kwargs_pyx, __pyx_n_s_get_flag_name_legacy, 12, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 12, __pyx_L1_error)
3195
+ __pyx_codeobj_ = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__4, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_a_sync_a_sync__kwargs_pyx, __pyx_n_s_get_flag_name_legacy, 13, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj_)) __PYX_ERR(0, 13, __pyx_L1_error)
3220
3196
  __Pyx_RefNannyFinishContext();
3221
3197
  return 0;
3222
3198
  __pyx_L1_error:;
@@ -3605,92 +3581,92 @@ if (!__Pyx_RefNanny) {
3605
3581
  #endif
3606
3582
  __Pyx_TraceCall("__Pyx_PyMODINIT_FUNC PyInit__kwargs(void)", __pyx_f[0], 1, 0, __PYX_ERR(0, 1, __pyx_L1_error));
3607
3583
 
3608
- /* "a_sync/a_sync/_kwargs.pyx":7
3584
+ /* "a_sync/a_sync/_kwargs.pyx":8
3609
3585
  * from libc.stdint cimport uint8_t
3610
3586
  *
3611
3587
  * from a_sync import exceptions # <<<<<<<<<<<<<<
3612
3588
  * from a_sync.a_sync._flags cimport validate_and_negate_if_necessary
3613
3589
  * from a_sync.a_sync.flags import VIABLE_FLAGS
3614
3590
  */
3615
- __Pyx_TraceLine(7,0,__PYX_ERR(0, 7, __pyx_L1_error))
3616
- __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
3591
+ __Pyx_TraceLine(8,0,__PYX_ERR(0, 8, __pyx_L1_error))
3592
+ __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
3617
3593
  __Pyx_GOTREF(__pyx_t_2);
3618
3594
  __Pyx_INCREF(__pyx_n_s_exceptions);
3619
3595
  __Pyx_GIVEREF(__pyx_n_s_exceptions);
3620
- if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_exceptions)) __PYX_ERR(0, 7, __pyx_L1_error);
3621
- __pyx_t_3 = __Pyx_Import(__pyx_n_s_a_sync, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 7, __pyx_L1_error)
3596
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_exceptions)) __PYX_ERR(0, 8, __pyx_L1_error);
3597
+ __pyx_t_3 = __Pyx_Import(__pyx_n_s_a_sync, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 8, __pyx_L1_error)
3622
3598
  __Pyx_GOTREF(__pyx_t_3);
3623
3599
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3624
- __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
3600
+ __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 8, __pyx_L1_error)
3625
3601
  __Pyx_GOTREF(__pyx_t_2);
3626
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_exceptions, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
3602
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_exceptions, __pyx_t_2) < 0) __PYX_ERR(0, 8, __pyx_L1_error)
3627
3603
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3628
3604
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3629
3605
 
3630
- /* "a_sync/a_sync/_kwargs.pyx":9
3606
+ /* "a_sync/a_sync/_kwargs.pyx":10
3631
3607
  * from a_sync import exceptions
3632
3608
  * from a_sync.a_sync._flags cimport validate_and_negate_if_necessary
3633
3609
  * from a_sync.a_sync.flags import VIABLE_FLAGS # <<<<<<<<<<<<<<
3634
3610
  *
3635
3611
  *
3636
3612
  */
3637
- __Pyx_TraceLine(9,0,__PYX_ERR(0, 9, __pyx_L1_error))
3638
- __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error)
3613
+ __Pyx_TraceLine(10,0,__PYX_ERR(0, 10, __pyx_L1_error))
3614
+ __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
3639
3615
  __Pyx_GOTREF(__pyx_t_3);
3640
3616
  __Pyx_INCREF(__pyx_n_s_VIABLE_FLAGS);
3641
3617
  __Pyx_GIVEREF(__pyx_n_s_VIABLE_FLAGS);
3642
- if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_VIABLE_FLAGS)) __PYX_ERR(0, 9, __pyx_L1_error);
3643
- __pyx_t_2 = __Pyx_Import(__pyx_n_s_a_sync_a_sync_flags, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
3618
+ if (__Pyx_PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_VIABLE_FLAGS)) __PYX_ERR(0, 10, __pyx_L1_error);
3619
+ __pyx_t_2 = __Pyx_Import(__pyx_n_s_a_sync_a_sync_flags, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
3644
3620
  __Pyx_GOTREF(__pyx_t_2);
3645
3621
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3646
- __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_VIABLE_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error)
3622
+ __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_VIABLE_FLAGS); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error)
3647
3623
  __Pyx_GOTREF(__pyx_t_3);
3648
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_VIABLE_FLAGS, __pyx_t_3) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
3624
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_VIABLE_FLAGS, __pyx_t_3) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
3649
3625
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3650
3626
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3651
3627
 
3652
- /* "a_sync/a_sync/_kwargs.pyx":12
3628
+ /* "a_sync/a_sync/_kwargs.pyx":13
3653
3629
  *
3654
3630
  *
3655
3631
  * def get_flag_name_legacy(dict kwargs) -> str: # <<<<<<<<<<<<<<
3656
3632
  * return get_flag_name(kwargs)
3657
3633
  *
3658
3634
  */
3659
- __Pyx_TraceLine(12,0,__PYX_ERR(0, 12, __pyx_L1_error))
3660
- __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
3635
+ __Pyx_TraceLine(13,0,__PYX_ERR(0, 13, __pyx_L1_error))
3636
+ __pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
3661
3637
  __Pyx_GOTREF(__pyx_t_2);
3662
- if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_return, __pyx_n_s_str) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
3663
- __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6a_sync_6a_sync_7_kwargs_1get_flag_name_legacy, 0, __pyx_n_s_get_flag_name_legacy, NULL, __pyx_n_s_a_sync_a_sync__kwargs, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error)
3638
+ if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_return, __pyx_n_s_str) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
3639
+ __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_6a_sync_6a_sync_7_kwargs_1get_flag_name_legacy, 0, __pyx_n_s_get_flag_name_legacy, NULL, __pyx_n_s_a_sync_a_sync__kwargs, __pyx_d, ((PyObject *)__pyx_codeobj_)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 13, __pyx_L1_error)
3664
3640
  __Pyx_GOTREF(__pyx_t_3);
3665
3641
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_2);
3666
3642
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
3667
- if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_flag_name_legacy, __pyx_t_3) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
3643
+ if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_flag_name_legacy, __pyx_t_3) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
3668
3644
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
3669
3645
 
3670
- /* "a_sync/a_sync/_kwargs.pyx":16
3646
+ /* "a_sync/a_sync/_kwargs.pyx":17
3671
3647
  *
3672
3648
  *
3673
3649
  * cdef inline str get_flag_name(dict kwargs): # <<<<<<<<<<<<<<
3674
3650
  * """
3675
3651
  * Get the name of the flag present in the kwargs.
3676
3652
  */
3677
- __Pyx_TraceLine(16,0,__PYX_ERR(0, 16, __pyx_L1_error))
3653
+ __Pyx_TraceLine(17,0,__PYX_ERR(0, 17, __pyx_L1_error))
3678
3654
 
3679
3655
 
3680
- /* "a_sync/a_sync/_kwargs.pyx":49
3656
+ /* "a_sync/a_sync/_kwargs.pyx":50
3681
3657
  *
3682
3658
  *
3683
3659
  * cdef inline bint is_sync(str flag, dict kwargs, bint pop_flag): # <<<<<<<<<<<<<<
3684
3660
  * """
3685
3661
  * Determine if the operation should be synchronous based on the flag value.
3686
3662
  */
3687
- __Pyx_TraceLine(49,0,__PYX_ERR(0, 49, __pyx_L1_error))
3663
+ __Pyx_TraceLine(50,0,__PYX_ERR(0, 50, __pyx_L1_error))
3688
3664
 
3689
3665
 
3690
3666
  /* "a_sync/a_sync/_kwargs.pyx":1
3691
- * """ # <<<<<<<<<<<<<<
3692
- * This module provides utility functions for handling keyword arguments related to synchronous and asynchronous flags.
3667
+ * # cython: boundscheck=False # <<<<<<<<<<<<<<
3693
3668
  * """
3669
+ * This module provides utility functions for handling keyword arguments related to synchronous and asynchronous flags.
3694
3670
  */
3695
3671
  __Pyx_TraceLine(1,0,__PYX_ERR(0, 1, __pyx_L1_error))
3696
3672
  __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
@@ -4534,101 +4510,6 @@ static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
4534
4510
  return __Pyx_GetBuiltinName(name);
4535
4511
  }
4536
4512
 
4537
- /* GetItemInt */
4538
- static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
4539
- PyObject *r;
4540
- if (unlikely(!j)) return NULL;
4541
- r = PyObject_GetItem(o, j);
4542
- Py_DECREF(j);
4543
- return r;
4544
- }
4545
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
4546
- CYTHON_NCP_UNUSED int wraparound,
4547
- CYTHON_NCP_UNUSED int boundscheck) {
4548
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4549
- Py_ssize_t wrapped_i = i;
4550
- if (wraparound & unlikely(i < 0)) {
4551
- wrapped_i += PyList_GET_SIZE(o);
4552
- }
4553
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) {
4554
- PyObject *r = PyList_GET_ITEM(o, wrapped_i);
4555
- Py_INCREF(r);
4556
- return r;
4557
- }
4558
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
4559
- #else
4560
- return PySequence_GetItem(o, i);
4561
- #endif
4562
- }
4563
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
4564
- CYTHON_NCP_UNUSED int wraparound,
4565
- CYTHON_NCP_UNUSED int boundscheck) {
4566
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
4567
- Py_ssize_t wrapped_i = i;
4568
- if (wraparound & unlikely(i < 0)) {
4569
- wrapped_i += PyTuple_GET_SIZE(o);
4570
- }
4571
- if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) {
4572
- PyObject *r = PyTuple_GET_ITEM(o, wrapped_i);
4573
- Py_INCREF(r);
4574
- return r;
4575
- }
4576
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
4577
- #else
4578
- return PySequence_GetItem(o, i);
4579
- #endif
4580
- }
4581
- static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list,
4582
- CYTHON_NCP_UNUSED int wraparound,
4583
- CYTHON_NCP_UNUSED int boundscheck) {
4584
- #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
4585
- if (is_list || PyList_CheckExact(o)) {
4586
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o);
4587
- if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) {
4588
- PyObject *r = PyList_GET_ITEM(o, n);
4589
- Py_INCREF(r);
4590
- return r;
4591
- }
4592
- }
4593
- else if (PyTuple_CheckExact(o)) {
4594
- Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o);
4595
- if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) {
4596
- PyObject *r = PyTuple_GET_ITEM(o, n);
4597
- Py_INCREF(r);
4598
- return r;
4599
- }
4600
- } else {
4601
- PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping;
4602
- PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence;
4603
- if (mm && mm->mp_subscript) {
4604
- PyObject *r, *key = PyInt_FromSsize_t(i);
4605
- if (unlikely(!key)) return NULL;
4606
- r = mm->mp_subscript(o, key);
4607
- Py_DECREF(key);
4608
- return r;
4609
- }
4610
- if (likely(sm && sm->sq_item)) {
4611
- if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) {
4612
- Py_ssize_t l = sm->sq_length(o);
4613
- if (likely(l >= 0)) {
4614
- i += l;
4615
- } else {
4616
- if (!PyErr_ExceptionMatches(PyExc_OverflowError))
4617
- return NULL;
4618
- PyErr_Clear();
4619
- }
4620
- }
4621
- return sm->sq_item(o, i);
4622
- }
4623
- }
4624
- #else
4625
- if (is_list || !PyMapping_Check(o)) {
4626
- return PySequence_GetItem(o, i);
4627
- }
4628
- #endif
4629
- return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
4630
- }
4631
-
4632
4513
  /* RaiseUnexpectedTypeError */
4633
4514
  static int
4634
4515
  __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj)
@@ -1,3 +1,4 @@
1
+ # cython: boundscheck=False
1
2
  """
2
3
  This module provides utility functions for handling keyword arguments related to synchronous and asynchronous flags.
3
4
  """