ez-a-sync 0.23.1__tar.gz → 0.23.3__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 (118) hide show
  1. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/pytest.yaml +3 -5
  2. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/PKG-INFO +1 -1
  3. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_descriptor.py +3 -1
  4. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_flags.c +442 -79
  5. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_kwargs.c +442 -82
  6. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/abstract.c +599 -311
  7. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/abstract.pyx +4 -4
  8. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/function.py +4 -2
  9. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/method.py +2 -1
  10. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/manager.c +634 -162
  11. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/PKG-INFO +1 -1
  12. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/pyproject.yaml +1 -1
  13. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/requirements-dev.txt +2 -0
  14. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/setup.py +5 -14
  15. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.coverage +0 -0
  16. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/black.yaml +0 -0
  17. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/codeql.yaml +0 -0
  18. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/docs.yaml +0 -0
  19. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/mypy.yaml +0 -0
  20. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.github/workflows/release.yaml +0 -0
  21. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.gitignore +0 -0
  22. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/.sourcery.yaml +0 -0
  23. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/LICENSE.txt +0 -0
  24. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/Makefile +0 -0
  25. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/README.md +0 -0
  26. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/TODO +0 -0
  27. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
  28. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/__init__.py +0 -0
  29. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/_smart.py +0 -0
  30. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/_typing.py +0 -0
  31. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/__init__.py +0 -0
  32. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_flags.pyi +0 -0
  33. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_flags.pyx +0 -0
  34. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_helpers.py +0 -0
  35. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_kwargs.pyi +0 -0
  36. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_kwargs.pyx +0 -0
  37. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/_meta.py +0 -0
  38. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/abstract.pyi +0 -0
  39. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/base.py +0 -0
  40. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/config.py +0 -0
  41. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/decorator.py +0 -0
  42. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/__init__.py +0 -0
  43. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
  44. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
  45. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/limiter.py +0 -0
  46. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/manager.pyi +0 -0
  47. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/manager.pyx +0 -0
  48. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/modifiers/semaphores.py +0 -0
  49. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/property.py +0 -0
  50. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/a_sync/singleton.py +0 -0
  51. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/aliases.py +0 -0
  52. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/asyncio/__init__.py +0 -0
  53. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/asyncio/as_completed.py +0 -0
  54. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/asyncio/create_task.py +0 -0
  55. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/asyncio/gather.py +0 -0
  56. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/asyncio/utils.py +0 -0
  57. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/exceptions.py +0 -0
  58. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/executor.py +0 -0
  59. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/future.py +0 -0
  60. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/iter.py +0 -0
  61. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/__init__.py +0 -0
  62. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/_debug.py +0 -0
  63. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/_loggable.py +0 -0
  64. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/locks/__init__.py +0 -0
  65. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/locks/counter.py +0 -0
  66. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/locks/event.py +0 -0
  67. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/locks/prio_semaphore.py +0 -0
  68. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/locks/semaphore.py +0 -0
  69. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/primitives/queue.py +0 -0
  70. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/py.typed +0 -0
  71. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/sphinx/__init__.py +0 -0
  72. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/sphinx/ext.py +0 -0
  73. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/task.py +0 -0
  74. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/utils/__init__.py +0 -0
  75. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/a_sync/utils/iterators.py +0 -0
  76. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/Makefile +0 -0
  77. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/alabaster.css +0 -0
  78. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/basic.css +0 -0
  79. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/custom.css +0 -0
  80. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/doctools.js +0 -0
  81. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/documentation_options.js +0 -0
  82. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/file.png +0 -0
  83. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/language_data.js +0 -0
  84. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/minus.png +0 -0
  85. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/plus.png +0 -0
  86. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/pygments.css +0 -0
  87. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/searchtools.js +0 -0
  88. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/_build/html/_static/sphinx_highlight.js +0 -0
  89. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/conf.py +0 -0
  90. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/index.rst +0 -0
  91. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/docs/make.bat +0 -0
  92. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/SOURCES.txt +0 -0
  93. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/dependency_links.txt +0 -0
  94. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/not-zip-safe +0 -0
  95. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/requires.txt +0 -0
  96. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/ez_a_sync.egg-info/top_level.txt +0 -0
  97. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/requirements.txt +0 -0
  98. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/setup.cfg +0 -0
  99. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/__init__.py +0 -0
  100. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/conftest.py +0 -0
  101. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/executor.py +0 -0
  102. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/fixtures.py +0 -0
  103. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_abstract.py +0 -0
  104. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_as_completed.py +0 -0
  105. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_base.py +0 -0
  106. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_cache.py +0 -0
  107. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_decorator.py +0 -0
  108. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_executor.py +0 -0
  109. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_future.py +0 -0
  110. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_gather.py +0 -0
  111. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_helpers.py +0 -0
  112. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_iter.py +0 -0
  113. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_limiter.py +0 -0
  114. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_meta.py +0 -0
  115. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_modified.py +0 -0
  116. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_semaphore.py +0 -0
  117. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_singleton.py +0 -0
  118. {ez_a_sync-0.23.1 → ez_a_sync-0.23.3}/tests/test_task.py +0 -0
@@ -6,6 +6,7 @@ on:
6
6
  branches: [ master, dev ]
7
7
  paths:
8
8
  - '**.py'
9
+ - '**.pyx'
9
10
  - '**/pytest.yaml'
10
11
  - '!**/docs/conf.py'
11
12
 
@@ -37,13 +38,10 @@ jobs:
37
38
  with:
38
39
  python-version: ${{ matrix.pyversion }}
39
40
 
40
- - name: Install dependencies
41
- run: pip install -r requirements.txt -r requirements-dev.txt
42
-
43
41
  - name: Install ez-a-sync
44
42
  run: |
45
- python setup.py build_ext --inplace
46
- python setup.py install
43
+ pip install -r requirements-dev.txt
44
+ pip install -e .
47
45
 
48
46
  - name: Run test suite
49
47
  run: pytest
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ez-a-sync
3
- Version: 0.23.1
3
+ Version: 0.23.3
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
@@ -17,7 +17,7 @@ import functools
17
17
 
18
18
  from a_sync._typing import *
19
19
  from a_sync.a_sync import decorator
20
- from a_sync.a_sync.function import ASyncFunction, ModifierManager, _ModifiedMixin
20
+ from a_sync.a_sync.function import ASyncFunction, ModifierManager, _ModifiedMixin, _validate_wrapped_fn
21
21
 
22
22
  if TYPE_CHECKING:
23
23
  from a_sync import TaskMapping
@@ -81,10 +81,12 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
81
81
  self.modifiers.update(_fget.modifiers)
82
82
  self.__wrapped__ = _fget
83
83
  elif asyncio.iscoroutinefunction(_fget):
84
+ _validate_wrapped_fn(_fget)
84
85
  self.__wrapped__: AsyncUnboundMethod[I, P, T] = (
85
86
  self.modifiers.apply_async_modifiers(_fget)
86
87
  )
87
88
  else:
89
+ _validate_wrapped_fn(_fget)
88
90
  self.__wrapped__ = _fget
89
91
 
90
92
  self.field_name = field_name or _fget.__name__