dycw-utilities 0.147.0__py3-none-any.whl → 0.147.2__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.
- {dycw_utilities-0.147.0.dist-info → dycw_utilities-0.147.2.dist-info}/METADATA +1 -1
- {dycw_utilities-0.147.0.dist-info → dycw_utilities-0.147.2.dist-info}/RECORD +9 -9
- utilities/__init__.py +1 -1
- utilities/pottery.py +3 -1
- utilities/slack_sdk.py +1 -1
- utilities/traceback.py +13 -3
- {dycw_utilities-0.147.0.dist-info → dycw_utilities-0.147.2.dist-info}/WHEEL +0 -0
- {dycw_utilities-0.147.0.dist-info → dycw_utilities-0.147.2.dist-info}/entry_points.txt +0 -0
- {dycw_utilities-0.147.0.dist-info → dycw_utilities-0.147.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
utilities/__init__.py,sha256=
|
1
|
+
utilities/__init__.py,sha256=1jYm5e_lnLHY3D1ukmH9ZwxtLm97WyeYfPArXVvKYMM,60
|
2
2
|
utilities/altair.py,sha256=92E2lCdyHY4Zb-vCw6rEJIsWdKipuu-Tu2ab1ufUfAk,9079
|
3
3
|
utilities/asyncio.py,sha256=aB0EtUbUJ5ZKQ5ET-Xfyx6wfUJG2G4vihEX0blK4TGE,14964
|
4
4
|
utilities/atomicwrites.py,sha256=xcOWenTBRS0oat3kg7Sqe51AohNThMQ2ixPL7QCG8hw,5795
|
@@ -49,7 +49,7 @@ utilities/platform.py,sha256=Ue9LSxYvg9yUXGKuz5aZoy_qkUEXde-v6B09exgSctU,2813
|
|
49
49
|
utilities/polars.py,sha256=BgiDryAVOapi41ddfJqN0wYh_sDj8BNEYtPB36LaHdo,71824
|
50
50
|
utilities/polars_ols.py,sha256=Uc9V5kvlWZ5cU93lKZ-cfAKdVFFw81tqwLW9PxtUvMs,5618
|
51
51
|
utilities/postgres.py,sha256=jAxd0ouhpt5J42JuegcTsR95nFFEYpQw3rYgQQKGFpU,7607
|
52
|
-
utilities/pottery.py,sha256=
|
52
|
+
utilities/pottery.py,sha256=JluZG7SUSw-JnN73_7QV-vJyPrTsct3q86p8eqVUasc,7019
|
53
53
|
utilities/pqdm.py,sha256=BTsYPtbKQWwX-iXF4qCkfPG7DPxIB54J989n83bXrIo,3092
|
54
54
|
utilities/psutil.py,sha256=KUlu4lrUw9Zg1V7ZGetpWpGb9DB8l_SSDWGbANFNCPU,2104
|
55
55
|
utilities/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -63,7 +63,7 @@ utilities/reprlib.py,sha256=ssYTcBW-TeRh3fhCJv57sopTZHF5FrPyyUg9yp5XBlo,3953
|
|
63
63
|
utilities/scipy.py,sha256=wZJM7fEgBAkLSYYvSmsg5ac-QuwAI0BGqHVetw1_Hb0,947
|
64
64
|
utilities/sentinel.py,sha256=3jIwgpMekWgDAxPDA_hXMP2St43cPhciKN3LWiZ7kv0,1248
|
65
65
|
utilities/shelve.py,sha256=HZsMwK4tcIfg3sh0gApx4-yjQnrY4o3V3ZRimvRhoW0,738
|
66
|
-
utilities/slack_sdk.py,sha256=
|
66
|
+
utilities/slack_sdk.py,sha256=ppFBvKgfg5IRWiIoKPtpTyzBtBF4XmwEvU3I5wLJikM,2140
|
67
67
|
utilities/socket.py,sha256=K77vfREvzoVTrpYKo6MZakol0EYu2q1sWJnnZqL0So0,118
|
68
68
|
utilities/sqlalchemy.py,sha256=q2aYUDAC3SE88Lt6XaKa3CLzT_ePaWvQu_OuRk19x9g,35520
|
69
69
|
utilities/sqlalchemy_polars.py,sha256=18AoEbeNJUKF3-5hroNy9J5LQwS_QJAXbMfKc9sChtk,14250
|
@@ -73,7 +73,7 @@ utilities/tempfile.py,sha256=VqmZJAhTJ1OaVywFzk5eqROV8iJbW9XQ_QYAV0bpdRo,1384
|
|
73
73
|
utilities/text.py,sha256=ymBFlP_cA8OgNnZRVNs7FAh7OG8HxE6YkiLEMZv5g_A,11297
|
74
74
|
utilities/threading.py,sha256=GvBOp4CyhHfN90wGXZuA2VKe9fGzMaEa7oCl4f3nnPU,1009
|
75
75
|
utilities/timer.py,sha256=oXfTii6ymu57niP0BDGZjFD55LEHi2a19kqZKiTgaFQ,2588
|
76
|
-
utilities/traceback.py,sha256
|
76
|
+
utilities/traceback.py,sha256=-e1D3cMHJCMbggZVFeKVzyAzHCteEcoPc3-3eY0Dtj8,9187
|
77
77
|
utilities/typed_settings.py,sha256=-mzQP5ZCIGWOhm7nPxlajWQhgtX657HVnRCfUYGKQKs,4433
|
78
78
|
utilities/types.py,sha256=AssdaYdASdtE0HUsdYcagR9lXdt6Bv0QOqP_USm50CQ,18010
|
79
79
|
utilities/typing.py,sha256=Z-_XDaWyT_6wIo3qfNK-hvRlzxP2Jxa9PgXzm5rDYRA,13790
|
@@ -88,8 +88,8 @@ utilities/zoneinfo.py,sha256=oEH-nL3t4h9uawyZqWDtNtDAl6M-CLpLYGI_nI6DulM,1971
|
|
88
88
|
utilities/pytest_plugins/__init__.py,sha256=U4S_2y3zgLZVfMenHRaJFBW8yqh2mUBuI291LGQVOJ8,35
|
89
89
|
utilities/pytest_plugins/pytest_randomly.py,sha256=NXzCcGKbpgYouz5yehKb4jmxmi2SexKKpgF4M65bi10,414
|
90
90
|
utilities/pytest_plugins/pytest_regressions.py,sha256=Iwhfv_OJH7UCPZCfoh7ugZ2Xjqjil-BBBsOb8sDwiGI,1471
|
91
|
-
dycw_utilities-0.147.
|
92
|
-
dycw_utilities-0.147.
|
93
|
-
dycw_utilities-0.147.
|
94
|
-
dycw_utilities-0.147.
|
95
|
-
dycw_utilities-0.147.
|
91
|
+
dycw_utilities-0.147.2.dist-info/METADATA,sha256=h9vzuhGEAwlEDbSi9upUO8SZpKKs32kVlET0IRKptkw,1697
|
92
|
+
dycw_utilities-0.147.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
93
|
+
dycw_utilities-0.147.2.dist-info/entry_points.txt,sha256=BOD_SoDxwsfJYOLxhrSXhHP_T7iw-HXI9f2WVkzYxvQ,135
|
94
|
+
dycw_utilities-0.147.2.dist-info/licenses/LICENSE,sha256=gppZp16M6nSVpBbUBrNL6JuYfvKwZiKgV7XoKKsHzqo,1066
|
95
|
+
dycw_utilities-0.147.2.dist-info/RECORD,,
|
utilities/__init__.py
CHANGED
utilities/pottery.py
CHANGED
@@ -175,7 +175,9 @@ async def _get_first_available_lock(
|
|
175
175
|
)
|
176
176
|
async with timeout_td(timeout, error=error): # skipif-ci-and-not-linux
|
177
177
|
while True:
|
178
|
-
if (
|
178
|
+
if (
|
179
|
+
(result := await _get_first_available_lock_if_any(locks)) is not None
|
180
|
+
) and (await result.locked() > 0.0):
|
179
181
|
return result
|
180
182
|
await sleep_td(sleep)
|
181
183
|
|
utilities/slack_sdk.py
CHANGED
@@ -66,7 +66,7 @@ class SendToSlackError(Exception):
|
|
66
66
|
def __str__(self) -> str:
|
67
67
|
code = self.response.status_code # pragma: no cover
|
68
68
|
phrase = HTTPStatus(code).phrase # pragma: no cover
|
69
|
-
return f"Error sending to Slack
|
69
|
+
return f"Error sending to Slack; got error code {code} ({phrase})" # pragma: no cover
|
70
70
|
|
71
71
|
|
72
72
|
__all__ = ["SendToSlackError", "send_to_slack", "send_to_slack_async"]
|
utilities/traceback.py
CHANGED
@@ -6,6 +6,7 @@ from dataclasses import dataclass
|
|
6
6
|
from functools import partial
|
7
7
|
from getpass import getuser
|
8
8
|
from itertools import repeat
|
9
|
+
from logging import exception
|
9
10
|
from os import getpid
|
10
11
|
from pathlib import Path
|
11
12
|
from socket import gethostname
|
@@ -26,6 +27,7 @@ from utilities.reprlib import (
|
|
26
27
|
RICH_MAX_WIDTH,
|
27
28
|
yield_mapping_repr,
|
28
29
|
)
|
30
|
+
from utilities.tzlocal import LOCAL_TIME_ZONE_NAME
|
29
31
|
from utilities.version import get_version
|
30
32
|
from utilities.whenever import (
|
31
33
|
format_compact,
|
@@ -98,7 +100,10 @@ def _yield_header_lines(
|
|
98
100
|
now = get_now_local()
|
99
101
|
start_use = to_zoned_date_time(date_time=start)
|
100
102
|
yield f"Date/time | {format_compact(now)}"
|
101
|
-
|
103
|
+
if start_use is None:
|
104
|
+
start_str = ""
|
105
|
+
else:
|
106
|
+
start_str = format_compact(start_use.to_tz(LOCAL_TIME_ZONE_NAME))
|
102
107
|
yield f"Started | {start_str}"
|
103
108
|
delta = None if start_use is None else (now - start_use)
|
104
109
|
delta_str = "" if delta is None else delta.format_common_iso()
|
@@ -277,9 +282,14 @@ def _make_except_hook_inner(
|
|
277
282
|
with writer(path, overwrite=True) as temp:
|
278
283
|
_ = temp.write_text(full)
|
279
284
|
if slack_url is not None: # pragma: no cover
|
280
|
-
from utilities.slack_sdk import send_to_slack
|
285
|
+
from utilities.slack_sdk import SendToSlackError, send_to_slack
|
286
|
+
|
287
|
+
try:
|
288
|
+
send_to_slack(slack_url, f"```{slim}```")
|
289
|
+
except SendToSlackError as error:
|
290
|
+
msg = str(error)
|
291
|
+
exception(msg) # noqa: LOG015
|
281
292
|
|
282
|
-
send_to_slack(slack_url, f"```{slim}```")
|
283
293
|
if to_bool(bool_=pudb): # pragma: no cover
|
284
294
|
from pudb import post_mortem
|
285
295
|
|
File without changes
|
File without changes
|
File without changes
|