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 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
- async with aiofiles.open(filepath, mode="rb") as f:
56
- return await f.read(size)
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
- with open(filepath, mode="rb") as f:
59
- return f.read(size)
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 Halo
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 = Halo("listing objects at '{}'".format(s3cmd_url), spinner="dots")
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 = Halo("getting object '{}'".format(s3cmd_url), spinner="dots")
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 = Halo("putting object '{}'".format(s3cmd_url), spinner="dots")
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
@@ -1,5 +1,5 @@
1
1
  MAJOR_VERSION = 4
2
2
  MINOR_VERSION = 32
3
- PATCH_VERSION = 24
3
+ PATCH_VERSION = 26
4
4
  version = '{}.{}.{}'.format(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION)
5
5
  __all__ = ['MAJOR_VERSION', 'MINOR_VERSION', 'PATCH_VERSION', 'version']
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
  Metadata-Version: 2.4
2
2
  Name: mtbase
3
- Version: 4.32.24
3
+ Version: 4.32.26
4
4
  Summary: The most fundamental Python modules for Minh-Tri Pham
5
5
  Home-page: https://github.com/inteplus/mtbase
6
6
  Author: ['Minh-Tri Pham']
@@ -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=ysg17GFQK9g22otVS7-magj6qBG6j8K8A1pELTBhonc,13363
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=y2UY35UEHT5NAfXtdVXOzb0GW_P55JtrTwOxwrvbW8A,20037
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=Ln3oCnchz79OM5yUfun8AfhMmCw02yw6yzd1ggMJUE0,208
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=iDgRWfhL0QgY8bAXoZywJxbceMyIEe5whB82-pomfdI,158
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.24.data/scripts/path_exists,sha256=9rYAZNiVEeTTi-hKM8NkQVIZOaEQkWE_WVw72avfUDo,690
61
- mtbase-4.32.24.dist-info/licenses/LICENSE,sha256=PojkRlQzTT5Eg6Nj03XoIVEefN3u8iiIFf1p4rqe_t4,1070
62
- mtbase-4.32.24.dist-info/METADATA,sha256=9LEXPYw73ta-yeM1mCAnmzLL4F05BdunDQ-8jZ3TPB8,806
63
- mtbase-4.32.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
- mtbase-4.32.24.dist-info/top_level.txt,sha256=WcqGFu9cV7iMZg09iam8eNxUvGpLSKKF2Iubf6SJVOo,3
65
- mtbase-4.32.24.dist-info/RECORD,,
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,,