ez-a-sync 0.24.21__tar.gz → 0.24.23__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.21 → ez_a_sync-0.24.23}/PKG-INFO +1 -1
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/ENVIRONMENT_VARIABLES.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/_smart.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_descriptor.py +17 -17
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_meta.py +4 -13
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/base.c +2947 -2288
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/base.pyx +60 -45
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/config.py +2 -6
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/function.pyi +5 -15
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/method.pyi +4 -12
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/cache/__init__.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/cache/memory.py +3 -9
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/limiter.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/property.c +858 -907
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/property.pyi +8 -24
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/property.pyx +14 -5
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/executor.py +8 -18
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/future.py +88 -256
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/iter.pyi +2 -8
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/prio_semaphore.pyi +3 -9
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/queue.py +6 -18
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/sphinx/ext.py +8 -18
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/task.py +23 -56
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/utils/iterators.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/PKG-INFO +1 -1
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/SOURCES.txt +1 -1
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_base.py +4 -12
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_cache.py +4 -12
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/asyncio/test_as_completed.py +10 -31
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/fixtures.py +9 -27
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/primitives/test_queue.py +1 -3
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/task/test_task.py +4 -12
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/task/test_task_mapping_views.py +2 -6
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/test_iter.py +2 -6
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.coverage +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/black.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/codeql.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/docs.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/mypy.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/pytest.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.github/workflows/release.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.gitignore +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/.sourcery.yaml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/LICENSE.txt +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/MANIFEST.in +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/Makefile +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/README.md +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/TODO +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/__init__.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/_typing.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_flags.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_flags.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_flags.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_helpers.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_helpers.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_helpers.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_helpers.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_kwargs.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_kwargs.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/_kwargs.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/abstract.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/abstract.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/abstract.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/base.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/decorator.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/flags.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/function.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/function.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/method.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/method.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/method.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/manager.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/manager.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/manager.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/modifiers/semaphores.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/a_sync/singleton.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/aliases.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/as_completed.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/as_completed.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/as_completed.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/as_completed.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/create_task.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/create_task.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/create_task.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/create_task.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/gather.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/gather.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/asyncio/gather.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/exceptions.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/iter.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/iter.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/__init__.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_debug.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_debug.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_debug.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_debug.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_loggable.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_loggable.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_loggable.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/_loggable.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/__init__.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/counter.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/counter.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/counter.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/counter.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/event.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/event.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/event.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/event.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/prio_semaphore.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/prio_semaphore.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/prio_semaphore.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/semaphore.c +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/semaphore.pxd +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/semaphore.pyi +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/primitives/locks/semaphore.pyx +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/py.typed +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/sphinx/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/a_sync/utils/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/Makefile +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/alabaster.css +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/basic.css +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/custom.css +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/doctools.js +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/documentation_options.js +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/file.png +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/language_data.js +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/minus.png +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/plus.png +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/pygments.css +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/searchtools.js +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/_build/html/_static/sphinx_highlight.js +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/conf.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/index.rst +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/docs/make.bat +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/dependency_links.txt +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/not-zip-safe +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/requires.txt +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/ez_a_sync.egg-info/top_level.txt +0 -0
- /ez_a_sync-0.24.21/pyproject.yaml → /ez_a_sync-0.24.23/pyproject.toml +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/requirements-dev.txt +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/requirements.txt +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/setup.cfg +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/setup.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/__init__.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/modifiers/test_apply_semaphore.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_abstract.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_decorator.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_limiter.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_meta.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_modified.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/a_sync/test_singleton.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/asyncio/test_create_task.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/asyncio/test_gather.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/conftest.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/executor.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/primitives/test_counter.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/primitives/test_event.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/primitives/test_prio_semaphore.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/primitives/test_semaphore.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/test_executor.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/test_future.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/test_helpers.py +0 -0
- {ez_a_sync-0.24.21 → ez_a_sync-0.24.23}/tests/test_smart.py +0 -0
|
@@ -20,9 +20,7 @@ See Also:
|
|
|
20
20
|
:func:`DEBUG_MODE` for enabling debug mode on all classes.
|
|
21
21
|
"""
|
|
22
22
|
|
|
23
|
-
DEBUG_MODE = envs.create_env(
|
|
24
|
-
"DEBUG_MODE", bool, default=bool(DEBUG_CLASS_NAME), verbose=False
|
|
25
|
-
)
|
|
23
|
+
DEBUG_MODE = envs.create_env("DEBUG_MODE", bool, default=bool(DEBUG_CLASS_NAME), verbose=False)
|
|
26
24
|
"""bool: Enables debug mode on all classes.
|
|
27
25
|
|
|
28
26
|
Set this environment variable to `True` to enable debug mode on all classes.
|
|
@@ -301,9 +301,7 @@ class SmartTask(_SmartFutureMixin[T], asyncio.Task):
|
|
|
301
301
|
self.add_done_callback(SmartTask._self_done_cleanup_callback)
|
|
302
302
|
|
|
303
303
|
|
|
304
|
-
def smart_task_factory(
|
|
305
|
-
loop: asyncio.AbstractEventLoop, coro: Awaitable[T]
|
|
306
|
-
) -> SmartTask[T]:
|
|
304
|
+
def smart_task_factory(loop: asyncio.AbstractEventLoop, coro: Awaitable[T]) -> SmartTask[T]:
|
|
307
305
|
"""
|
|
308
306
|
Task factory function that an event loop calls to create new tasks.
|
|
309
307
|
|
|
@@ -87,8 +87,8 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
87
87
|
self.__wrapped__ = _fget
|
|
88
88
|
elif asyncio.iscoroutinefunction(_fget):
|
|
89
89
|
_validate_wrapped_fn(_fget)
|
|
90
|
-
self.__wrapped__: AsyncUnboundMethod[I, P, T] = (
|
|
91
|
-
|
|
90
|
+
self.__wrapped__: AsyncUnboundMethod[I, P, T] = self.modifiers.apply_async_modifiers(
|
|
91
|
+
_fget
|
|
92
92
|
)
|
|
93
93
|
else:
|
|
94
94
|
_validate_wrapped_fn(_fget)
|
|
@@ -264,9 +264,9 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
264
264
|
result = await instance.my_method._all([1, 2, 3])
|
|
265
265
|
```
|
|
266
266
|
"""
|
|
267
|
-
return await self.map(
|
|
268
|
-
|
|
269
|
-
)
|
|
267
|
+
return await self.map(*instances, concurrency=concurrency, name=name, **kwargs).all(
|
|
268
|
+
pop=True, sync=False
|
|
269
|
+
)
|
|
270
270
|
|
|
271
271
|
async def _any(
|
|
272
272
|
self,
|
|
@@ -295,9 +295,9 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
295
295
|
result = await instance.my_method._any([-1, 0, 1])
|
|
296
296
|
```
|
|
297
297
|
"""
|
|
298
|
-
return await self.map(
|
|
299
|
-
|
|
300
|
-
)
|
|
298
|
+
return await self.map(*instances, concurrency=concurrency, name=name, **kwargs).any(
|
|
299
|
+
pop=True, sync=False
|
|
300
|
+
)
|
|
301
301
|
|
|
302
302
|
async def _min(
|
|
303
303
|
self,
|
|
@@ -326,9 +326,9 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
326
326
|
result = await instance.my_method._min([3, 1, 2])
|
|
327
327
|
```
|
|
328
328
|
"""
|
|
329
|
-
return await self.map(
|
|
330
|
-
|
|
331
|
-
)
|
|
329
|
+
return await self.map(*instances, concurrency=concurrency, name=name, **kwargs).min(
|
|
330
|
+
pop=True, sync=False
|
|
331
|
+
)
|
|
332
332
|
|
|
333
333
|
async def _max(
|
|
334
334
|
self,
|
|
@@ -357,9 +357,9 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
357
357
|
result = await instance.my_method._max([3, 1, 2])
|
|
358
358
|
```
|
|
359
359
|
"""
|
|
360
|
-
return await self.map(
|
|
361
|
-
|
|
362
|
-
)
|
|
360
|
+
return await self.map(*instances, concurrency=concurrency, name=name, **kwargs).max(
|
|
361
|
+
pop=True, sync=False
|
|
362
|
+
)
|
|
363
363
|
|
|
364
364
|
async def _sum(
|
|
365
365
|
self,
|
|
@@ -388,9 +388,9 @@ class ASyncDescriptor(_ModifiedMixin, Generic[I, P, T]):
|
|
|
388
388
|
result = await instance.my_method._sum([1, 2, 3])
|
|
389
389
|
```
|
|
390
390
|
"""
|
|
391
|
-
return await self.map(
|
|
392
|
-
|
|
393
|
-
)
|
|
391
|
+
return await self.map(*instances, concurrency=concurrency, name=name, **kwargs).sum(
|
|
392
|
+
pop=True, sync=False
|
|
393
|
+
)
|
|
394
394
|
|
|
395
395
|
def __init_subclass__(cls) -> None:
|
|
396
396
|
for attr in cls.__dict__.values():
|
|
@@ -123,18 +123,14 @@ class ASyncMeta(ABCMeta):
|
|
|
123
123
|
attr_name,
|
|
124
124
|
fn_modifiers,
|
|
125
125
|
)
|
|
126
|
-
if isinstance(
|
|
127
|
-
attr_value, (ASyncPropertyDescriptor, ASyncCachedPropertyDescriptor)
|
|
128
|
-
):
|
|
126
|
+
if isinstance(attr_value, (ASyncPropertyDescriptor, ASyncCachedPropertyDescriptor)):
|
|
129
127
|
# Wrap property
|
|
130
128
|
logger.debug("`%s is a property, now let's wrap it", attr_name)
|
|
131
129
|
logger.debug(
|
|
132
130
|
"since `%s` is a property, we will add a hidden dundermethod so you can still access it both sync and async",
|
|
133
131
|
attr_name,
|
|
134
132
|
)
|
|
135
|
-
attrs[attr_value.hidden_method_name] =
|
|
136
|
-
attr_value.hidden_method_descriptor
|
|
137
|
-
)
|
|
133
|
+
attrs[attr_value.hidden_method_name] = attr_value.hidden_method_descriptor
|
|
138
134
|
logger.debug(
|
|
139
135
|
"`%s.%s` is now %s",
|
|
140
136
|
new_class_name,
|
|
@@ -178,9 +174,7 @@ class ASyncSingletonMeta(ASyncMeta):
|
|
|
178
174
|
- :class:`~a_sync.a_sync._meta.ASyncMeta`
|
|
179
175
|
"""
|
|
180
176
|
|
|
181
|
-
def __init__(
|
|
182
|
-
cls, name: str, bases: Tuple[type, ...], namespace: Dict[str, Any]
|
|
183
|
-
) -> None:
|
|
177
|
+
def __init__(cls, name: str, bases: Tuple[type, ...], namespace: Dict[str, Any]) -> None:
|
|
184
178
|
cls.__instances: Dict[bool, object] = {}
|
|
185
179
|
"""Dictionary to store singleton instances."""
|
|
186
180
|
cls.__lock = threading.Lock()
|
|
@@ -203,10 +197,7 @@ def _update_logger(new_class_name: str) -> None:
|
|
|
203
197
|
Args:
|
|
204
198
|
new_class_name: The name of the new class being created.
|
|
205
199
|
"""
|
|
206
|
-
if
|
|
207
|
-
ENVIRONMENT_VARIABLES.DEBUG_MODE
|
|
208
|
-
or ENVIRONMENT_VARIABLES.DEBUG_CLASS_NAME == new_class_name
|
|
209
|
-
):
|
|
200
|
+
if ENVIRONMENT_VARIABLES.DEBUG_MODE or ENVIRONMENT_VARIABLES.DEBUG_CLASS_NAME == new_class_name:
|
|
210
201
|
logger.addHandler(_debug_handler)
|
|
211
202
|
logger.setLevel(logging.DEBUG)
|
|
212
203
|
logger.info("debug mode activated")
|