ez-a-sync 0.24.10__tar.gz → 0.24.12__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.
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/PKG-INFO +1 -1
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/_smart.py +7 -2
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_kwargs.c +2360 -184
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_kwargs.pyx +4 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_debug.c +228 -174
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_debug.pxd +1 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_debug.pyx +4 -1
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_loggable.c +1111 -577
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_loggable.pyx +19 -6
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/counter.c +1 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/event.c +1 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/prio_semaphore.c +36 -41
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/prio_semaphore.pyx +4 -4
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/semaphore.c +1 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/task.py +1 -1
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/PKG-INFO +1 -1
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/SOURCES.txt +12 -12
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/task}/test_task.py +55 -16
- ez_a_sync-0.24.12/tests/task/test_task_mapping_views.py +121 -0
- ez_a_sync-0.24.10/tests/test_event.py +0 -249
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.coverage +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/black.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/codeql.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/docs.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/mypy.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/pytest.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.github/workflows/release.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.gitignore +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/.sourcery.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/LICENSE.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/MANIFEST.in +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/Makefile +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/README.md +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/TODO +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/ENVIRONMENT_VARIABLES.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/__init__.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/_typing.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_descriptor.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_flags.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_flags.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_flags.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_helpers.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_helpers.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_helpers.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_helpers.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_kwargs.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/_meta.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/abstract.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/abstract.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/abstract.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/base.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/base.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/base.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/config.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/decorator.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/flags.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/function.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/function.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/function.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/method.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/method.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/method.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/method.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/cache/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/cache/memory.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/limiter.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/manager.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/manager.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/manager.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/modifiers/semaphores.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/property.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/property.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/property.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/a_sync/singleton.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/aliases.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/as_completed.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/as_completed.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/as_completed.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/as_completed.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/create_task.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/create_task.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/create_task.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/create_task.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/gather.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/gather.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/asyncio/gather.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/exceptions.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/executor.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/future.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/iter.c +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/iter.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/iter.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/__init__.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_debug.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_loggable.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/_loggable.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/__init__.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/counter.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/counter.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/counter.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/event.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/event.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/event.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/prio_semaphore.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/prio_semaphore.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/semaphore.pxd +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/semaphore.pyi +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/locks/semaphore.pyx +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/primitives/queue.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/py.typed +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/sphinx/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/sphinx/ext.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/utils/__init__.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/a_sync/utils/iterators.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/Makefile +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/alabaster.css +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/basic.css +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/custom.css +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/doctools.js +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/documentation_options.js +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/file.png +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/language_data.js +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/minus.png +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/plus.png +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/pygments.css +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/searchtools.js +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/_build/html/_static/sphinx_highlight.js +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/conf.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/index.rst +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/docs/make.bat +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/dependency_links.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/not-zip-safe +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/requires.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/ez_a_sync.egg-info/top_level.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/pyproject.yaml +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/requirements-dev.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/requirements.txt +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/setup.cfg +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/setup.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/__init__.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_abstract.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_base.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_cache.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_decorator.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_limiter.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_meta.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_modified.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/a_sync}/test_singleton.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/asyncio/test_as_completed.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/asyncio/test_create_task.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/asyncio/test_gather.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/conftest.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/executor.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/fixtures.py +0 -0
- {ez_a_sync-0.24.10/tests → ez_a_sync-0.24.12/tests/primitives}/test_counter.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/primitives/test_event.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/primitives/test_prio_semaphore.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/primitives/test_queue.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/primitives/test_semaphore.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/test_executor.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/test_future.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/test_helpers.py +0 -0
- {ez_a_sync-0.24.10 → ez_a_sync-0.24.12}/tests/test_iter.py +0 -0
|
@@ -6,6 +6,7 @@ to protect tasks from cancellation.
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
import asyncio
|
|
9
|
+
import contextvars
|
|
9
10
|
import logging
|
|
10
11
|
import warnings
|
|
11
12
|
import weakref
|
|
@@ -197,7 +198,9 @@ class SmartFuture(_SmartFutureMixin[T], asyncio.Future):
|
|
|
197
198
|
if key:
|
|
198
199
|
self._key = key
|
|
199
200
|
self._waiters = weakref.WeakSet()
|
|
200
|
-
self.
|
|
201
|
+
self._callbacks.append(
|
|
202
|
+
(SmartFuture._self_done_cleanup_callback, contextvars.copy_context())
|
|
203
|
+
)
|
|
201
204
|
|
|
202
205
|
def __repr__(self):
|
|
203
206
|
return f"<{type(self).__name__} key={self._key} waiters={self.num_waiters} {self._state}>"
|
|
@@ -298,7 +301,9 @@ class SmartTask(_SmartFutureMixin[T], asyncio.Task):
|
|
|
298
301
|
"""
|
|
299
302
|
asyncio.Task.__init__(self, coro, loop=loop, name=name)
|
|
300
303
|
self._waiters: Set["asyncio.Task[T]"] = set()
|
|
301
|
-
self.
|
|
304
|
+
self._callbacks.append(
|
|
305
|
+
(SmartTask._self_done_cleanup_callback, contextvars.copy_context())
|
|
306
|
+
)
|
|
302
307
|
|
|
303
308
|
|
|
304
309
|
def smart_task_factory(
|