mtbase 4.32.24__py3-none-any.whl → 4.32.26__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.
- mt/aio/files.py +21 -4
- mt/base/s3.py +6 -4
- mt/base/version.py +1 -1
- mt/halo/__init__.py +10 -0
- {mtbase-4.32.24.dist-info → mtbase-4.32.26.dist-info}/METADATA +1 -1
- {mtbase-4.32.24.dist-info → mtbase-4.32.26.dist-info}/RECORD +10 -10
- {mtbase-4.32.24.data → mtbase-4.32.26.data}/scripts/path_exists +0 -0
- {mtbase-4.32.24.dist-info → mtbase-4.32.26.dist-info}/WHEEL +0 -0
- {mtbase-4.32.24.dist-info → mtbase-4.32.26.dist-info}/licenses/LICENSE +0 -0
- {mtbase-4.32.24.dist-info → mtbase-4.32.26.dist-info}/top_level.txt +0 -0
mt/aio/files.py
CHANGED
@@ -5,6 +5,7 @@ import json
|
|
5
5
|
import tempfile
|
6
6
|
import asyncio
|
7
7
|
import aiofiles
|
8
|
+
import time
|
8
9
|
|
9
10
|
from mt import ctx
|
10
11
|
|
@@ -52,11 +53,27 @@ async def read_binary(filepath, size: int = None, context_vars: dict = {}) -> by
|
|
52
53
|
"""
|
53
54
|
|
54
55
|
if context_vars["async"]:
|
55
|
-
|
56
|
-
|
56
|
+
try:
|
57
|
+
async with aiofiles.open(filepath, mode="rb") as f:
|
58
|
+
return await f.read(size)
|
59
|
+
except OSError as e:
|
60
|
+
if e.errno == 24: # too many open files
|
61
|
+
await asyncio.sleep(1)
|
62
|
+
async with aiofiles.open(filepath, mode="rb") as f:
|
63
|
+
return await f.read(size)
|
64
|
+
else:
|
65
|
+
raise
|
57
66
|
else:
|
58
|
-
|
59
|
-
|
67
|
+
try:
|
68
|
+
with open(filepath, mode="rb") as f:
|
69
|
+
return f.read(size)
|
70
|
+
except OSError as e:
|
71
|
+
if e.errno == 24: # too many open files
|
72
|
+
time.sleep(1)
|
73
|
+
with open(filepath, mode="rb") as f:
|
74
|
+
return f.read(size)
|
75
|
+
else:
|
76
|
+
raise
|
60
77
|
|
61
78
|
|
62
79
|
async def write_binary(
|
mt/base/s3.py
CHANGED
@@ -12,7 +12,7 @@ import botocore.exceptions
|
|
12
12
|
from tqdm.auto import tqdm
|
13
13
|
|
14
14
|
from mt import ctx, aio, tp, logg
|
15
|
-
from mt.halo import
|
15
|
+
from mt.halo import HaloAuto
|
16
16
|
|
17
17
|
from .http import create_http_session
|
18
18
|
|
@@ -218,7 +218,9 @@ async def list_objects(s3cmd_url: str, show_progress=False, context_vars: dict =
|
|
218
218
|
paginator = s3_client.get_paginator("list_objects_v2")
|
219
219
|
retval = []
|
220
220
|
if show_progress:
|
221
|
-
spinner =
|
221
|
+
spinner = HaloAuto(
|
222
|
+
"listing objects at '{}'".format(s3cmd_url), spinner="dots"
|
223
|
+
)
|
222
224
|
spinner.start()
|
223
225
|
if context_vars["async"]:
|
224
226
|
async for result in paginator.paginate(Bucket=bucket, Prefix=prefix):
|
@@ -332,7 +334,7 @@ async def get_object(
|
|
332
334
|
bucket, prefix = split(s3cmd_url)
|
333
335
|
s3_client = context_vars["s3_client"]
|
334
336
|
if show_progress:
|
335
|
-
spinner =
|
337
|
+
spinner = HaloAuto("getting object '{}'".format(s3cmd_url), spinner="dots")
|
336
338
|
spinner.start()
|
337
339
|
if context_vars["async"]:
|
338
340
|
response = await s3_client.get_object(Bucket=bucket, Key=prefix)
|
@@ -403,7 +405,7 @@ async def put_object(
|
|
403
405
|
bucket, prefix = split(s3cmd_url)
|
404
406
|
s3_client = context_vars["s3_client"]
|
405
407
|
if show_progress:
|
406
|
-
spinner =
|
408
|
+
spinner = HaloAuto("putting object '{}'".format(s3cmd_url), spinner="dots")
|
407
409
|
spinner.start()
|
408
410
|
if context_vars["async"]:
|
409
411
|
await s3_client.put_object(Bucket=bucket, Key=prefix, Body=data)
|
mt/base/version.py
CHANGED
mt/halo/__init__.py
CHANGED
@@ -4,3 +4,13 @@ __email__ = "manrajsinghgrover@gmail.com"
|
|
4
4
|
|
5
5
|
from .halo import Halo
|
6
6
|
from .halo_notebook import HaloNotebook
|
7
|
+
|
8
|
+
|
9
|
+
def get_halo_class():
|
10
|
+
from mt.ipython import get_ipython_type
|
11
|
+
|
12
|
+
s = get_ipython_type()
|
13
|
+
return HaloNotebook if s in ("jupyter", "colab", "sagemaker") else Halo
|
14
|
+
|
15
|
+
|
16
|
+
HaloAuto = get_halo_class()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
mt/aio/__init__.py,sha256=-k13vDemo1Onk3yPWv86zav4HAnimvLVpXdH2mkXRJc,2202
|
2
2
|
mt/aio/base.py,sha256=HE97hmtjHcxA2t_gd4AZ4e5mlRd4lIGY5jY_f65pdPg,3982
|
3
|
-
mt/aio/files.py,sha256=
|
3
|
+
mt/aio/files.py,sha256=0J-3BevUzMP5VmnfBUnJqYbB3MQYPCOSbO0ygLoz5hI,13937
|
4
4
|
mt/aio/multiprocessing.py,sha256=G43P7bN10J7UqTYCsa1eh3VatJWEbLEqg1xNK3MKWdk,8978
|
5
5
|
mt/aio/path.py,sha256=d-zE88pTD65-KskLi6j_1Hdys7NXrDOOmHqUyHYxehY,10041
|
6
6
|
mt/aio/procedure.py,sha256=eJ4AtCxqvDDxGrz-Pycred1CJRfD60VPvjUaaJ0OhYM,3323
|
@@ -20,11 +20,11 @@ mt/base/http.py,sha256=i-oATGv_-znK298Ahh1OD2Ui7-yO4JK6iALpRxmIkak,6227
|
|
20
20
|
mt/base/locket.py,sha256=8fNRORvCjOILA5Nq1T1rs_Pi7iy_gz0PBVlwSUv06wc,5270
|
21
21
|
mt/base/object_store.py,sha256=3LSD0TzAQ2BSYmxLH9TmAUuKt0Fd3Ze84JpbDNYMrQg,7777
|
22
22
|
mt/base/path.py,sha256=f4Ej4-5KrxyyGlaMhTGDYltlv9Csvfqi3ANSBZhkjXI,147
|
23
|
-
mt/base/s3.py,sha256=
|
23
|
+
mt/base/s3.py,sha256=dt-ph2pBv2oplddlRHCkbP58i4P-g60US6DhC4vAKAA,20083
|
24
24
|
mt/base/str.py,sha256=_R1GRJG8XEfUwabz_dsMD-g0zf3bF4b41_L3vXmiI0o,3580
|
25
25
|
mt/base/terminal.py,sha256=_23Kk7oihgCbe2yjJw2SQrTCqymSi-drejn1SWIS6IY,104
|
26
26
|
mt/base/threading.py,sha256=MTVjpaTg_sbZWCksoP_5iMVYFjjUxrgpYBMOWxFY4Ms,110
|
27
|
-
mt/base/version.py,sha256=
|
27
|
+
mt/base/version.py,sha256=Zan_moqEuHmlxhycJJ7rHP0HalhSd-kFuuSsTaszxaw,208
|
28
28
|
mt/base/zipfile.py,sha256=SnsBCaPlPw300_mi7WYB6wSqjvW-U_g96vS2S9JwrnE,1765
|
29
29
|
mt/concurrency/__init__.py,sha256=jF7NoWRKap-QhuJaJZ3EUpfrn2HaZa_8MAS0bT325AY,428
|
30
30
|
mt/concurrency/aio.py,sha256=efStmaQ6JkqdS7fQTcvCmOVH3ylqyKsEG8tjXhZQIZs,24785
|
@@ -33,7 +33,7 @@ mt/concurrency/beehive.py,sha256=2YAbXaG6FIlEGVy4BVSzL-NZqV8z80mbKoO2hkxVcnc,425
|
|
33
33
|
mt/concurrency/multiprocessing.py,sha256=ekxhvsd3J6Kb64tOt5ubSeiQbOZuv89JWOd3yyocvmM,19087
|
34
34
|
mt/ctx/__init__.py,sha256=f7pzOOj8GBKyOpSRmwkkobO-sh2jJUkl14dNRxNILBA,1438
|
35
35
|
mt/functools/__init__.py,sha256=Krhv9EE7i8NjK20DRYC1RDGSYWmmdUROECeSJqEpk0M,5591
|
36
|
-
mt/halo/__init__.py,sha256=
|
36
|
+
mt/halo/__init__.py,sha256=nxsPZZY9CUaPK56yN124WnULksGJnWzEG1cwoLJavhc,360
|
37
37
|
mt/halo/halo.py,sha256=61fiUOXRouOvpD7SnlEXvIlpOG_Mn_grFPTjGLL5s04,2539
|
38
38
|
mt/halo/halo_notebook.py,sha256=vukc10ReCrjDdlLS9q310DzSdo4Kg4l4YrWO3aNuXZU,3204
|
39
39
|
mt/ipython/__init__.py,sha256=_yN-1QJagHbCFjKrDdjXjLg7OYlZ8G5enmOcMbIjqes,221
|
@@ -57,9 +57,9 @@ mt/time/__init__.py,sha256=lAjC0En0X0spHTu2YC120AchNlv1SzHgQlX0RmXWLEc,2158
|
|
57
57
|
mt/tp/__init__.py,sha256=TvEzpRQpi8eKdt-mGhX6mgkY3V4zB-0RWNf-BiRm1vU,633
|
58
58
|
mt/traceback/__init__.py,sha256=4WUtGbPklLM9s-jlQQrQiFuEaTbKQKeV1DEzRj_HfYY,3648
|
59
59
|
mt/v4l2/__init__.py,sha256=s5a0Ve3QI0I2F2q192qLKfw8dPvcrHRy1JCdpMQz8cE,870
|
60
|
-
mtbase-4.32.
|
61
|
-
mtbase-4.32.
|
62
|
-
mtbase-4.32.
|
63
|
-
mtbase-4.32.
|
64
|
-
mtbase-4.32.
|
65
|
-
mtbase-4.32.
|
60
|
+
mtbase-4.32.26.data/scripts/path_exists,sha256=9rYAZNiVEeTTi-hKM8NkQVIZOaEQkWE_WVw72avfUDo,690
|
61
|
+
mtbase-4.32.26.dist-info/licenses/LICENSE,sha256=PojkRlQzTT5Eg6Nj03XoIVEefN3u8iiIFf1p4rqe_t4,1070
|
62
|
+
mtbase-4.32.26.dist-info/METADATA,sha256=8pzqld5jVNOPF_IonWD6jZrRRPNFpxe9LEq9Qk6m6bU,806
|
63
|
+
mtbase-4.32.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
64
|
+
mtbase-4.32.26.dist-info/top_level.txt,sha256=WcqGFu9cV7iMZg09iam8eNxUvGpLSKKF2Iubf6SJVOo,3
|
65
|
+
mtbase-4.32.26.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|