ez-a-sync 0.24.7__tar.gz → 0.24.9__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 (172) hide show
  1. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/PKG-INFO +1 -1
  2. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_kwargs.c +37 -37
  3. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_kwargs.pyx +2 -1
  4. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/base.c +128 -136
  5. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/base.pyx +3 -5
  6. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/function.c +29 -29
  7. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/function.pyx +7 -7
  8. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/counter.c +8710 -9542
  9. ez_a_sync-0.24.9/a_sync/primitives/locks/counter.pxd +13 -0
  10. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/counter.pyx +36 -23
  11. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/prio_semaphore.c +447 -103
  12. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/semaphore.c +1748 -1275
  13. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/semaphore.pxd +1 -1
  14. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/semaphore.pyx +10 -4
  15. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/queue.py +18 -3
  16. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/task.c +11 -9
  17. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/PKG-INFO +1 -1
  18. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/SOURCES.txt +10 -5
  19. ez_a_sync-0.24.9/tests/asyncio/test_create_task.py +64 -0
  20. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/executor.py +12 -12
  21. ez_a_sync-0.24.9/tests/primitives/test_event.py +249 -0
  22. {ez_a_sync-0.24.7/tests → ez_a_sync-0.24.9/tests/primitives}/test_prio_semaphore.py +4 -9
  23. ez_a_sync-0.24.9/tests/primitives/test_queue.py +327 -0
  24. ez_a_sync-0.24.9/tests/primitives/test_semaphore.py +326 -0
  25. ez_a_sync-0.24.9/tests/test_counter.py +192 -0
  26. ez_a_sync-0.24.9/tests/test_event.py +249 -0
  27. ez_a_sync-0.24.7/a_sync/primitives/locks/counter.pxd +0 -11
  28. ez_a_sync-0.24.7/tests/test_semaphore.py +0 -51
  29. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.coverage +0 -0
  30. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/black.yaml +0 -0
  31. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/codeql.yaml +0 -0
  32. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/docs.yaml +0 -0
  33. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/mypy.yaml +0 -0
  34. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/pytest.yaml +0 -0
  35. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.github/workflows/release.yaml +0 -0
  36. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.gitignore +0 -0
  37. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/.sourcery.yaml +0 -0
  38. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/LICENSE.txt +0 -0
  39. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/MANIFEST.in +0 -0
  40. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/Makefile +0 -0
  41. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/README.md +0 -0
  42. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/TODO +0 -0
  43. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
  44. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/__init__.pxd +0 -0
  45. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/__init__.py +0 -0
  46. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/_smart.py +0 -0
  47. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/_typing.py +0 -0
  48. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/__init__.py +0 -0
  49. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_descriptor.py +0 -0
  50. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_flags.c +0 -0
  51. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_flags.pxd +0 -0
  52. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_flags.pyx +0 -0
  53. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_helpers.c +0 -0
  54. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_helpers.pxd +0 -0
  55. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_helpers.pyi +0 -0
  56. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_helpers.pyx +0 -0
  57. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_kwargs.pxd +0 -0
  58. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/_meta.py +0 -0
  59. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/abstract.c +0 -0
  60. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/abstract.pyi +0 -0
  61. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/abstract.pyx +0 -0
  62. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/base.pyi +0 -0
  63. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/config.py +0 -0
  64. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/decorator.py +0 -0
  65. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/flags.py +0 -0
  66. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/function.pyi +0 -0
  67. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/method.c +0 -0
  68. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/method.pxd +0 -0
  69. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/method.pyi +0 -0
  70. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/method.pyx +0 -0
  71. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/__init__.py +0 -0
  72. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
  73. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
  74. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/limiter.py +0 -0
  75. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/manager.c +0 -0
  76. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/manager.pyi +0 -0
  77. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/manager.pyx +0 -0
  78. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/modifiers/semaphores.py +0 -0
  79. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/property.c +0 -0
  80. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/property.pyi +0 -0
  81. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/property.pyx +0 -0
  82. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/a_sync/singleton.py +0 -0
  83. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/aliases.py +0 -0
  84. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/__init__.py +0 -0
  85. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/as_completed.c +0 -0
  86. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/as_completed.pxd +0 -0
  87. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/as_completed.pyi +0 -0
  88. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/as_completed.pyx +0 -0
  89. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/create_task.c +0 -0
  90. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/create_task.pxd +0 -0
  91. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/create_task.pyi +0 -0
  92. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/create_task.pyx +0 -0
  93. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/gather.c +0 -0
  94. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/gather.pyi +0 -0
  95. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/asyncio/gather.pyx +0 -0
  96. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/exceptions.py +0 -0
  97. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/executor.py +0 -0
  98. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/future.py +0 -0
  99. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/iter.c +0 -0
  100. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/iter.pyi +0 -0
  101. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/iter.pyx +0 -0
  102. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/__init__.pxd +0 -0
  103. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/__init__.py +0 -0
  104. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_debug.c +0 -0
  105. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_debug.pxd +0 -0
  106. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_debug.pyi +0 -0
  107. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_debug.pyx +0 -0
  108. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_loggable.c +0 -0
  109. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_loggable.pxd +0 -0
  110. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_loggable.pyi +0 -0
  111. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/_loggable.pyx +0 -0
  112. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/__init__.pxd +0 -0
  113. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/__init__.py +0 -0
  114. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/counter.pyi +0 -0
  115. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/event.c +0 -0
  116. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/event.pxd +0 -0
  117. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/event.pyi +0 -0
  118. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/event.pyx +0 -0
  119. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/prio_semaphore.pxd +0 -0
  120. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/prio_semaphore.pyi +0 -0
  121. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/prio_semaphore.pyx +0 -0
  122. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/primitives/locks/semaphore.pyi +0 -0
  123. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/py.typed +0 -0
  124. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/sphinx/__init__.py +0 -0
  125. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/sphinx/ext.py +0 -0
  126. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/task.pyi +0 -0
  127. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/task.pyx +0 -0
  128. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/utils/__init__.py +0 -0
  129. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/a_sync/utils/iterators.py +0 -0
  130. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/Makefile +0 -0
  131. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/alabaster.css +0 -0
  132. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/basic.css +0 -0
  133. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/custom.css +0 -0
  134. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/doctools.js +0 -0
  135. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/documentation_options.js +0 -0
  136. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/file.png +0 -0
  137. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/language_data.js +0 -0
  138. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/minus.png +0 -0
  139. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/plus.png +0 -0
  140. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/pygments.css +0 -0
  141. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/searchtools.js +0 -0
  142. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  143. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/conf.py +0 -0
  144. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/index.rst +0 -0
  145. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/docs/make.bat +0 -0
  146. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/dependency_links.txt +0 -0
  147. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/not-zip-safe +0 -0
  148. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/requires.txt +0 -0
  149. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/ez_a_sync.egg-info/top_level.txt +0 -0
  150. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/pyproject.yaml +0 -0
  151. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/requirements-dev.txt +0 -0
  152. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/requirements.txt +0 -0
  153. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/setup.cfg +0 -0
  154. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/setup.py +0 -0
  155. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/__init__.py +0 -0
  156. {ez_a_sync-0.24.7/tests → ez_a_sync-0.24.9/tests/asyncio}/test_as_completed.py +0 -0
  157. {ez_a_sync-0.24.7/tests → ez_a_sync-0.24.9/tests/asyncio}/test_gather.py +0 -0
  158. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/conftest.py +0 -0
  159. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/fixtures.py +0 -0
  160. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_abstract.py +0 -0
  161. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_base.py +0 -0
  162. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_cache.py +0 -0
  163. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_decorator.py +0 -0
  164. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_executor.py +0 -0
  165. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_future.py +0 -0
  166. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_helpers.py +0 -0
  167. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_iter.py +0 -0
  168. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_limiter.py +0 -0
  169. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_meta.py +0 -0
  170. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_modified.py +0 -0
  171. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_singleton.py +0 -0
  172. {ez_a_sync-0.24.7 → ez_a_sync-0.24.9}/tests/test_task.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ez-a-sync
3
- Version: 0.24.7
3
+ Version: 0.24.9
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
@@ -2741,29 +2741,29 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2741
2741
  * :func:`get_flag_name`: Retrieves the name of the flag present in the kwargs.
2742
2742
  * """
2743
2743
  * if pop_flag: # <<<<<<<<<<<<<<
2744
- * # NOTE: we should techincally raise InvalidFlagValue here but I dont want to set flag_value to a var
2745
- * return negate_if_necessary(flag, kwargs.pop(flag))
2744
+ * # NOTE: we should techincally raise InvalidFlagValue here but I dont want
2745
+ * # to set flag_value to a var and it will raise a TypeError anyway.
2746
2746
  */
2747
2747
  __Pyx_TraceLine(57,0,__PYX_ERR(0, 57, __pyx_L1_error))
2748
2748
  if (__pyx_v_pop_flag) {
2749
2749
 
2750
- /* "a_sync/a_sync/_kwargs.pyx":59
2751
- * if pop_flag:
2752
- * # NOTE: we should techincally raise InvalidFlagValue here but I dont want to set flag_value to a var
2750
+ /* "a_sync/a_sync/_kwargs.pyx":60
2751
+ * # NOTE: we should techincally raise InvalidFlagValue here but I dont want
2752
+ * # to set flag_value to a var and it will raise a TypeError anyway.
2753
2753
  * return negate_if_necessary(flag, kwargs.pop(flag)) # <<<<<<<<<<<<<<
2754
2754
  * else:
2755
2755
  * try:
2756
2756
  */
2757
- __Pyx_TraceLine(59,0,__PYX_ERR(0, 59, __pyx_L1_error))
2757
+ __Pyx_TraceLine(60,0,__PYX_ERR(0, 60, __pyx_L1_error))
2758
2758
  if (unlikely(__pyx_v_kwargs == Py_None)) {
2759
2759
  PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "pop");
2760
- __PYX_ERR(0, 59, __pyx_L1_error)
2760
+ __PYX_ERR(0, 60, __pyx_L1_error)
2761
2761
  }
2762
- __pyx_t_1 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_v_flag, ((PyObject *)NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
2762
+ __pyx_t_1 = __Pyx_PyDict_Pop(__pyx_v_kwargs, __pyx_v_flag, ((PyObject *)NULL)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 60, __pyx_L1_error)
2763
2763
  __Pyx_GOTREF(__pyx_t_1);
2764
- __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L1_error)
2764
+ __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 60, __pyx_L1_error)
2765
2765
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2766
- __pyx_t_3 = __pyx_f_6a_sync_6a_sync_6_flags_negate_if_necessary(__pyx_v_flag, __pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 59, __pyx_L1_error)
2766
+ __pyx_t_3 = __pyx_f_6a_sync_6a_sync_6_flags_negate_if_necessary(__pyx_v_flag, __pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 60, __pyx_L1_error)
2767
2767
  __pyx_r = __pyx_t_3;
2768
2768
  goto __pyx_L0;
2769
2769
 
@@ -2771,19 +2771,19 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2771
2771
  * :func:`get_flag_name`: Retrieves the name of the flag present in the kwargs.
2772
2772
  * """
2773
2773
  * if pop_flag: # <<<<<<<<<<<<<<
2774
- * # NOTE: we should techincally raise InvalidFlagValue here but I dont want to set flag_value to a var
2775
- * return negate_if_necessary(flag, kwargs.pop(flag))
2774
+ * # NOTE: we should techincally raise InvalidFlagValue here but I dont want
2775
+ * # to set flag_value to a var and it will raise a TypeError anyway.
2776
2776
  */
2777
2777
  }
2778
2778
 
2779
- /* "a_sync/a_sync/_kwargs.pyx":61
2779
+ /* "a_sync/a_sync/_kwargs.pyx":62
2780
2780
  * return negate_if_necessary(flag, kwargs.pop(flag))
2781
2781
  * else:
2782
2782
  * try: # <<<<<<<<<<<<<<
2783
2783
  * return negate_if_necessary(flag, kwargs[flag])
2784
2784
  * except TypeError as e:
2785
2785
  */
2786
- __Pyx_TraceLine(61,0,__PYX_ERR(0, 61, __pyx_L1_error))
2786
+ __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L1_error))
2787
2787
  /*else*/ {
2788
2788
  {
2789
2789
  __Pyx_PyThreadState_declare
@@ -2794,27 +2794,27 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2794
2794
  __Pyx_XGOTREF(__pyx_t_6);
2795
2795
  /*try:*/ {
2796
2796
 
2797
- /* "a_sync/a_sync/_kwargs.pyx":62
2797
+ /* "a_sync/a_sync/_kwargs.pyx":63
2798
2798
  * else:
2799
2799
  * try:
2800
2800
  * return negate_if_necessary(flag, kwargs[flag]) # <<<<<<<<<<<<<<
2801
2801
  * except TypeError as e:
2802
2802
  * raise exceptions.InvalidFlagValue(flag, kwargs[flag]) from e.__cause__
2803
2803
  */
2804
- __Pyx_TraceLine(62,0,__PYX_ERR(0, 62, __pyx_L4_error))
2804
+ __Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L4_error))
2805
2805
  if (unlikely(__pyx_v_kwargs == Py_None)) {
2806
2806
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
2807
- __PYX_ERR(0, 62, __pyx_L4_error)
2807
+ __PYX_ERR(0, 63, __pyx_L4_error)
2808
2808
  }
2809
- __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L4_error)
2809
+ __pyx_t_1 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 63, __pyx_L4_error)
2810
2810
  __Pyx_GOTREF(__pyx_t_1);
2811
- __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L4_error)
2811
+ __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L4_error)
2812
2812
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
2813
- __pyx_t_2 = __pyx_f_6a_sync_6a_sync_6_flags_negate_if_necessary(__pyx_v_flag, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L4_error)
2813
+ __pyx_t_2 = __pyx_f_6a_sync_6a_sync_6_flags_negate_if_necessary(__pyx_v_flag, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 63, __pyx_L4_error)
2814
2814
  __pyx_r = __pyx_t_2;
2815
2815
  goto __pyx_L8_try_return;
2816
2816
 
2817
- /* "a_sync/a_sync/_kwargs.pyx":61
2817
+ /* "a_sync/a_sync/_kwargs.pyx":62
2818
2818
  * return negate_if_necessary(flag, kwargs.pop(flag))
2819
2819
  * else:
2820
2820
  * try: # <<<<<<<<<<<<<<
@@ -2825,17 +2825,17 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2825
2825
  __pyx_L4_error:;
2826
2826
  __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
2827
2827
 
2828
- /* "a_sync/a_sync/_kwargs.pyx":63
2828
+ /* "a_sync/a_sync/_kwargs.pyx":64
2829
2829
  * try:
2830
2830
  * return negate_if_necessary(flag, kwargs[flag])
2831
2831
  * except TypeError as e: # <<<<<<<<<<<<<<
2832
2832
  * raise exceptions.InvalidFlagValue(flag, kwargs[flag]) from e.__cause__
2833
2833
  */
2834
- __Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L6_except_error))
2834
+ __Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L6_except_error))
2835
2835
  __pyx_t_7 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_TypeError);
2836
2836
  if (__pyx_t_7) {
2837
2837
  __Pyx_AddTraceback("a_sync.a_sync._kwargs.is_sync", __pyx_clineno, __pyx_lineno, __pyx_filename);
2838
- if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 63, __pyx_L6_except_error)
2838
+ if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_8, &__pyx_t_9) < 0) __PYX_ERR(0, 64, __pyx_L6_except_error)
2839
2839
  __Pyx_XGOTREF(__pyx_t_1);
2840
2840
  __Pyx_XGOTREF(__pyx_t_8);
2841
2841
  __Pyx_XGOTREF(__pyx_t_9);
@@ -2843,22 +2843,22 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2843
2843
  __pyx_v_e = __pyx_t_8;
2844
2844
  /*try:*/ {
2845
2845
 
2846
- /* "a_sync/a_sync/_kwargs.pyx":64
2846
+ /* "a_sync/a_sync/_kwargs.pyx":65
2847
2847
  * return negate_if_necessary(flag, kwargs[flag])
2848
2848
  * except TypeError as e:
2849
2849
  * raise exceptions.InvalidFlagValue(flag, kwargs[flag]) from e.__cause__ # <<<<<<<<<<<<<<
2850
2850
  */
2851
- __Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L15_error))
2852
- __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L15_error)
2851
+ __Pyx_TraceLine(65,0,__PYX_ERR(0, 65, __pyx_L15_error))
2852
+ __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_exceptions); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L15_error)
2853
2853
  __Pyx_GOTREF(__pyx_t_11);
2854
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_InvalidFlagValue); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 64, __pyx_L15_error)
2854
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_InvalidFlagValue); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L15_error)
2855
2855
  __Pyx_GOTREF(__pyx_t_12);
2856
2856
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
2857
2857
  if (unlikely(__pyx_v_kwargs == Py_None)) {
2858
2858
  PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
2859
- __PYX_ERR(0, 64, __pyx_L15_error)
2859
+ __PYX_ERR(0, 65, __pyx_L15_error)
2860
2860
  }
2861
- __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 64, __pyx_L15_error)
2861
+ __pyx_t_11 = __Pyx_PyDict_GetItem(__pyx_v_kwargs, __pyx_v_flag); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L15_error)
2862
2862
  __Pyx_GOTREF(__pyx_t_11);
2863
2863
  __pyx_t_13 = NULL;
2864
2864
  __pyx_t_14 = 0;
@@ -2879,25 +2879,25 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2879
2879
  __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_12, __pyx_callargs+1-__pyx_t_14, 2+__pyx_t_14);
2880
2880
  __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
2881
2881
  __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
2882
- if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 64, __pyx_L15_error)
2882
+ if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 65, __pyx_L15_error)
2883
2883
  __Pyx_GOTREF(__pyx_t_10);
2884
2884
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
2885
2885
  }
2886
- __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_e, __pyx_n_s_cause); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 64, __pyx_L15_error)
2886
+ __pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_v_e, __pyx_n_s_cause); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L15_error)
2887
2887
  __Pyx_GOTREF(__pyx_t_12);
2888
2888
  __Pyx_Raise(__pyx_t_10, 0, 0, __pyx_t_12);
2889
2889
  __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
2890
2890
  __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
2891
- __PYX_ERR(0, 64, __pyx_L15_error)
2891
+ __PYX_ERR(0, 65, __pyx_L15_error)
2892
2892
  }
2893
2893
 
2894
- /* "a_sync/a_sync/_kwargs.pyx":63
2894
+ /* "a_sync/a_sync/_kwargs.pyx":64
2895
2895
  * try:
2896
2896
  * return negate_if_necessary(flag, kwargs[flag])
2897
2897
  * except TypeError as e: # <<<<<<<<<<<<<<
2898
2898
  * raise exceptions.InvalidFlagValue(flag, kwargs[flag]) from e.__cause__
2899
2899
  */
2900
- __Pyx_TraceLine(63,0,__PYX_ERR(0, 63, __pyx_L15_error))
2900
+ __Pyx_TraceLine(64,0,__PYX_ERR(0, 64, __pyx_L15_error))
2901
2901
  /*finally:*/ {
2902
2902
  __pyx_L15_error:;
2903
2903
  /*exception exit:*/{
@@ -2938,7 +2938,7 @@ static int __pyx_f_6a_sync_6a_sync_7_kwargs_is_sync(PyObject *__pyx_v_flag, PyOb
2938
2938
  }
2939
2939
  goto __pyx_L6_except_error;
2940
2940
 
2941
- /* "a_sync/a_sync/_kwargs.pyx":61
2941
+ /* "a_sync/a_sync/_kwargs.pyx":62
2942
2942
  * return negate_if_necessary(flag, kwargs.pop(flag))
2943
2943
  * else:
2944
2944
  * try: # <<<<<<<<<<<<<<
@@ -3026,7 +3026,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
3026
3026
  }
3027
3027
  /* #### Code section: cached_builtins ### */
3028
3028
  static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
3029
- __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 63, __pyx_L1_error)
3029
+ __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(0, 64, __pyx_L1_error)
3030
3030
  return 0;
3031
3031
  __pyx_L1_error:;
3032
3032
  return -1;
@@ -55,7 +55,8 @@ cdef bint is_sync(str flag, dict kwargs, bint pop_flag):
55
55
  :func:`get_flag_name`: Retrieves the name of the flag present in the kwargs.
56
56
  """
57
57
  if pop_flag:
58
- # NOTE: we should techincally raise InvalidFlagValue here but I dont want to set flag_value to a var
58
+ # NOTE: we should techincally raise InvalidFlagValue here but I dont want
59
+ # to set flag_value to a var and it will raise a TypeError anyway.
59
60
  return negate_if_necessary(flag, kwargs.pop(flag))
60
61
  else:
61
62
  try: