dycw-utilities 0.116.1__py3-none-any.whl → 0.116.3__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dycw-utilities
3
- Version: 0.116.1
3
+ Version: 0.116.3
4
4
  Author-email: Derek Wan <d.wan@icloud.com>
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -1,7 +1,7 @@
1
- utilities/__init__.py,sha256=Z5eEn-8jK5KyyBt8nrzuC8eeTF6mLZV7r1u9_HdxW8g,60
1
+ utilities/__init__.py,sha256=X_TTeJwaQ_uuPqggf40Hm7Iv91EJtVya7PK9RPHY30Y,60
2
2
  utilities/altair.py,sha256=Gpja-flOo-Db0PIPJLJsgzAlXWoKUjPU1qY-DQ829ek,9156
3
3
  utilities/astor.py,sha256=xuDUkjq0-b6fhtwjhbnebzbqQZAjMSHR1IIS5uOodVg,777
4
- utilities/asyncio.py,sha256=NmAyhbOabek5LRagPcgTcSjjAZGK1yu5tLErWDdv5V0,23353
4
+ utilities/asyncio.py,sha256=7qisjTnEGEKcguy_STXN6qOXij_yzTvcQ5fIbrPeyZ8,23305
5
5
  utilities/atomicwrites.py,sha256=geFjn9Pwn-tTrtoGjDDxWli9NqbYfy3gGL6ZBctiqSo,5393
6
6
  utilities/atools.py,sha256=IYMuFSFGSKyuQmqD6v5IUtDlz8PPw0Sr87Cub_gRU3M,1168
7
7
  utilities/cachetools.py,sha256=C1zqOg7BYz0IfQFK8e3qaDDgEZxDpo47F15RTfJM37Q,2910
@@ -25,6 +25,7 @@ utilities/git.py,sha256=wpt5dZ5Oi5931pN24_VLZYaQOvmR0OcQuVtgHzFUN1k,2359
25
25
  utilities/hashlib.py,sha256=SVTgtguur0P4elppvzOBbLEjVM3Pea0eWB61yg2ilxo,309
26
26
  utilities/http.py,sha256=WcahTcKYRtZ04WXQoWt5EGCgFPcyHD3EJdlMfxvDt-0,946
27
27
  utilities/hypothesis.py,sha256=OpZhPdPmsYWvqMytFDc-G196eODosUzxQSuo-LfMYmM,46262
28
+ utilities/importlib.py,sha256=ueY3R39hWrUtrVXs39utM2xDig-eyJfYn1FBVxWb3_w,368
28
29
  utilities/ipython.py,sha256=V2oMYHvEKvlNBzxDXdLvKi48oUq2SclRg5xasjaXStw,763
29
30
  utilities/iterables.py,sha256=prKXBdF5QfLTGC-q4567DwO8xzUng_Z-2a4wBkMqyDo,45360
30
31
  utilities/jupyter.py,sha256=ft5JA7fBxXKzP-L9W8f2-wbF0QeYc_2uLQNFDVk4Z-M,2917
@@ -87,7 +88,7 @@ utilities/warnings.py,sha256=un1LvHv70PU-LLv8RxPVmugTzDJkkGXRMZTE2-fTQHw,1771
87
88
  utilities/whenever.py,sha256=iLRP_-8CZtBpHKbGZGu-kjSMg1ZubJ-VSmgSy7Eudxw,17787
88
89
  utilities/zipfile.py,sha256=24lQc9ATcJxHXBPc_tBDiJk48pWyRrlxO2fIsFxU0A8,699
89
90
  utilities/zoneinfo.py,sha256=-Xm57PMMwDTYpxJdkiJG13wnbwK--I7XItBh5WVhD-o,1874
90
- dycw_utilities-0.116.1.dist-info/METADATA,sha256=HZKWmKfhh1QmrAhrWeVRFk3nRPLMvAdqynInZrwrbX0,12943
91
- dycw_utilities-0.116.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
92
- dycw_utilities-0.116.1.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
93
- dycw_utilities-0.116.1.dist-info/RECORD,,
91
+ dycw_utilities-0.116.3.dist-info/METADATA,sha256=IHZmHfm-Zh_TGSDVpZN3-3uK42BiOf2R-U6aO147lcg,12943
92
+ dycw_utilities-0.116.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
93
+ dycw_utilities-0.116.3.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
94
+ dycw_utilities-0.116.3.dist-info/RECORD,,
utilities/__init__.py CHANGED
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.116.1"
3
+ __version__ = "0.116.3"
utilities/asyncio.py CHANGED
@@ -493,9 +493,7 @@ class InfiniteQueueLooper(InfiniteLooper[THashable], Generic[THashable, _T]):
493
493
  @override
494
494
  async def _core(self) -> None:
495
495
  """Run the core part of the loop."""
496
- items = get_items_nowait(self._queue)
497
- if len(items) == 0:
498
- return
496
+ items = await get_items(self._queue)
499
497
  try:
500
498
  await self._process_items(*items)
501
499
  except Exception as error: # noqa: BLE001
utilities/importlib.py ADDED
@@ -0,0 +1,16 @@
1
+ from __future__ import annotations
2
+
3
+ from importlib import import_module
4
+ from importlib.util import find_spec
5
+
6
+
7
+ def is_valid_import(module: str, name: str) -> bool:
8
+ """Check if an import is valid."""
9
+ spec = find_spec(module)
10
+ if spec is None:
11
+ return False
12
+ mod = import_module(module)
13
+ return hasattr(mod, name)
14
+
15
+
16
+ __all__ = ["is_valid_import"]