maxframe 1.0.0rc3__cp38-cp38-macosx_10_9_universal2.whl → 1.0.0rc4__cp38-cp38-macosx_10_9_universal2.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.

Potentially problematic release.


This version of maxframe might be problematic. Click here for more details.

Files changed (57) hide show
  1. maxframe/_utils.cpython-38-darwin.so +0 -0
  2. maxframe/codegen.py +1 -0
  3. maxframe/config/config.py +13 -1
  4. maxframe/conftest.py +43 -12
  5. maxframe/core/entity/executable.py +1 -1
  6. maxframe/core/graph/core.cpython-38-darwin.so +0 -0
  7. maxframe/dataframe/arithmetic/docstring.py +26 -2
  8. maxframe/dataframe/arithmetic/equal.py +4 -2
  9. maxframe/dataframe/arithmetic/greater.py +4 -2
  10. maxframe/dataframe/arithmetic/greater_equal.py +4 -2
  11. maxframe/dataframe/arithmetic/less.py +2 -2
  12. maxframe/dataframe/arithmetic/less_equal.py +4 -2
  13. maxframe/dataframe/arithmetic/not_equal.py +4 -2
  14. maxframe/dataframe/core.py +2 -0
  15. maxframe/dataframe/datasource/read_odps_query.py +66 -7
  16. maxframe/dataframe/datasource/read_odps_table.py +3 -1
  17. maxframe/dataframe/datasource/tests/test_datasource.py +35 -6
  18. maxframe/dataframe/datastore/to_odps.py +7 -0
  19. maxframe/dataframe/extensions/__init__.py +3 -0
  20. maxframe/dataframe/extensions/flatmap.py +326 -0
  21. maxframe/dataframe/extensions/tests/test_extensions.py +62 -1
  22. maxframe/dataframe/indexing/add_prefix_suffix.py +1 -1
  23. maxframe/dataframe/indexing/rename.py +11 -0
  24. maxframe/dataframe/initializer.py +11 -1
  25. maxframe/dataframe/misc/drop_duplicates.py +18 -1
  26. maxframe/dataframe/tests/test_initializer.py +33 -2
  27. maxframe/io/odpsio/schema.py +5 -3
  28. maxframe/io/odpsio/tableio.py +44 -38
  29. maxframe/io/odpsio/tests/test_schema.py +0 -4
  30. maxframe/io/odpsio/volumeio.py +9 -3
  31. maxframe/learn/contrib/__init__.py +2 -1
  32. maxframe/learn/contrib/graph/__init__.py +15 -0
  33. maxframe/learn/contrib/graph/connected_components.py +215 -0
  34. maxframe/learn/contrib/graph/tests/__init__.py +13 -0
  35. maxframe/learn/contrib/graph/tests/test_connected_components.py +53 -0
  36. maxframe/learn/contrib/xgboost/classifier.py +3 -3
  37. maxframe/learn/contrib/xgboost/predict.py +8 -39
  38. maxframe/learn/contrib/xgboost/train.py +4 -3
  39. maxframe/lib/mmh3.cpython-38-darwin.so +0 -0
  40. maxframe/opcodes.py +3 -0
  41. maxframe/protocol.py +6 -1
  42. maxframe/serialization/core.cpython-38-darwin.so +0 -0
  43. maxframe/session.py +9 -2
  44. maxframe/tensor/indexing/getitem.py +2 -0
  45. maxframe/tensor/merge/concatenate.py +23 -20
  46. maxframe/tensor/merge/vstack.py +5 -1
  47. maxframe/tensor/misc/transpose.py +1 -1
  48. maxframe/utils.py +34 -12
  49. {maxframe-1.0.0rc3.dist-info → maxframe-1.0.0rc4.dist-info}/METADATA +1 -1
  50. {maxframe-1.0.0rc3.dist-info → maxframe-1.0.0rc4.dist-info}/RECORD +57 -52
  51. {maxframe-1.0.0rc3.dist-info → maxframe-1.0.0rc4.dist-info}/WHEEL +1 -1
  52. maxframe_client/fetcher.py +10 -8
  53. maxframe_client/session/consts.py +3 -0
  54. maxframe_client/session/odps.py +84 -13
  55. maxframe_client/session/task.py +58 -20
  56. maxframe_client/tests/test_session.py +14 -2
  57. {maxframe-1.0.0rc3.dist-info → maxframe-1.0.0rc4.dist-info}/top_level.txt +0 -0
maxframe/opcodes.py CHANGED
@@ -532,6 +532,8 @@ STATSMODELS_TRAIN = 3012
532
532
  STATSMODELS_PREDICT = 3013
533
533
 
534
534
  # learn
535
+ CONNECTED_COMPONENTS = 3100
536
+
535
537
  # checks
536
538
  CHECK_NON_NEGATIVE = 3300
537
539
  # classifier check targets
@@ -566,6 +568,7 @@ CHOLESKY_FUSE = 999988
566
568
 
567
569
  # MaxFrame-dedicated functions
568
570
  DATAFRAME_RESHUFFLE = 10001
571
+ FLATMAP = 10002
569
572
 
570
573
  # MaxFrame internal operators
571
574
  DATAFRAME_PROJECTION_SAME_INDEX_MERGE = 100001
maxframe/protocol.py CHANGED
@@ -375,6 +375,11 @@ class ExecuteDagRequest(Serializable):
375
375
  value_type=FieldTypes.reference,
376
376
  default=None,
377
377
  )
378
+ new_settings: Dict[str, Any] = DictField(
379
+ "new_settings",
380
+ key_type=FieldTypes.string,
381
+ default=None,
382
+ )
378
383
 
379
384
 
380
385
  class SubDagSubmitInstanceInfo(JsonSerializable):
@@ -511,7 +516,7 @@ class DataFrameTableMeta(JsonSerializable):
511
516
  return True
512
517
 
513
518
  def to_json(self) -> dict:
514
- b64_pk = lambda x: base64.b64encode(pickle.dumps(x))
519
+ b64_pk = lambda x: base64.b64encode(pickle.dumps(x)).decode()
515
520
  ret = {
516
521
  "table_name": self.table_name,
517
522
  "type": self.type.value,
maxframe/session.py CHANGED
@@ -150,6 +150,10 @@ class AbstractSession(ABC):
150
150
  def session_id(self):
151
151
  return self._session_id
152
152
 
153
+ @property
154
+ def closed(self) -> bool:
155
+ return self._closed
156
+
153
157
  def __eq__(self, other):
154
158
  return (
155
159
  isinstance(other, AbstractSession)
@@ -1283,9 +1287,12 @@ def get_default_or_create(**kwargs):
1283
1287
  if session is None:
1284
1288
  # no session attached, try to create one
1285
1289
  warnings.warn(warning_msg)
1286
- session = new_session(
1287
- ODPS.from_global() or ODPS.from_environments(), **kwargs
1290
+ odps_entry = (
1291
+ kwargs.pop("odps_entry", None)
1292
+ or ODPS.from_global()
1293
+ or ODPS.from_environments()
1288
1294
  )
1295
+ session = new_session(odps_entry=odps_entry, **kwargs)
1289
1296
  session.as_default()
1290
1297
  if isinstance(session, IsolatedAsyncSession):
1291
1298
  session = SyncSession.from_isolated_session(session)
@@ -130,6 +130,8 @@ def _calc_order(a, index):
130
130
  continue
131
131
  elif isinstance(ind, slice):
132
132
  shape = a.shape[in_axis]
133
+ if shape is np.nan:
134
+ return TensorOrder.C_ORDER
133
135
  slc = ind.indices(shape)
134
136
  if slc[0] == 0 and slc[1] == shape and slc[2] == 1:
135
137
  continue
@@ -26,27 +26,9 @@ class TensorConcatenate(TensorOperator, TensorOperatorMixin):
26
26
  axis = Int32Field("axis", default=0)
27
27
 
28
28
  def __call__(self, tensors):
29
- if len(set(t.ndim for t in tensors)) != 1:
30
- raise ValueError(
31
- "all the input tensors must have same number of dimensions"
32
- )
33
-
34
29
  axis = self.axis
35
- shapes = [t.shape[:axis] + t.shape[axis + 1 :] for t in tensors]
36
- if len(set(shapes)) != 1:
37
- raise ValueError(
38
- "all the input tensor dimensions "
39
- "except for the concatenation axis must match exactly"
40
- )
41
-
42
- shape = [
43
- 0 if i == axis else tensors[0].shape[i] for i in range(tensors[0].ndim)
44
- ]
30
+ shape = _calc_concatenate_shape(tensors, axis)
45
31
  shape[axis] = sum(t.shape[axis] for t in tensors)
46
-
47
- if any(np.isnan(s) for i, s in enumerate(shape) if i != axis):
48
- raise ValueError("cannot concatenate tensor with unknown shape")
49
-
50
32
  return self.new_tensor(tensors, shape=tuple(shape))
51
33
 
52
34
 
@@ -90,9 +72,30 @@ def concatenate(tensors, axis=0):
90
72
  if axis is None:
91
73
  axis = 0
92
74
  tensors = [astensor(t) for t in tensors]
93
-
94
75
  axis = validate_axis(tensors[0].ndim, axis)
76
+
77
+ if len(set(t.ndim for t in tensors)) != 1:
78
+ raise ValueError("all the input tensors must have same number of dimensions")
79
+
80
+ shapes = [t.shape[:axis] + t.shape[axis + 1 :] for t in tensors]
81
+ if len(set(shapes)) != 1:
82
+ raise ValueError(
83
+ "all the input tensor dimensions "
84
+ "except for the concatenation axis must match exactly"
85
+ )
86
+ shape = _calc_concatenate_shape(tensors, axis)
87
+ if any(np.isnan(s) for i, s in enumerate(shape) if i != axis):
88
+ raise ValueError("cannot concatenate tensor with unknown shape")
89
+
90
+ return _concatenate(tensors, axis)
91
+
92
+
93
+ def _concatenate(tensors, axis=0):
95
94
  dtype = np.result_type(*(t.dtype for t in tensors))
96
95
 
97
96
  op = TensorConcatenate(axis=axis, dtype=dtype)
98
97
  return op(tensors)
98
+
99
+
100
+ def _calc_concatenate_shape(tensors, axis):
101
+ return [0 if i == axis else tensors[0].shape[i] for i in range(tensors[0].ndim)]
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
  from ..misc import atleast_2d
17
- from .concatenate import concatenate
17
+ from .concatenate import _concatenate, concatenate
18
18
 
19
19
 
20
20
  def vstack(tup):
@@ -68,3 +68,7 @@ def vstack(tup):
68
68
 
69
69
  """
70
70
  return concatenate([atleast_2d(t) for t in tup], axis=0)
71
+
72
+
73
+ def _vstack(tup):
74
+ return _concatenate([atleast_2d(t) for t in tup], axis=0)
@@ -125,5 +125,5 @@ def transpose(a, axes=None):
125
125
  axes = list(range(a.ndim))[::-1]
126
126
  else:
127
127
  axes = list(axes)
128
- op = TensorTranspose(axes)
128
+ op = TensorTranspose(axes, dtype=a.dtype)
129
129
  return op(a)
maxframe/utils.py CHANGED
@@ -370,13 +370,6 @@ def format_timeout_params(timeout: TimeoutType) -> str:
370
370
  return f"?wait=1&timeout={timeout}"
371
371
 
372
372
 
373
- async def to_thread_pool(func, *args, pool=None, **kwargs):
374
- loop = asyncio.events.get_running_loop()
375
- ctx = contextvars.copy_context()
376
- func_call = functools.partial(ctx.run, func, *args, **kwargs)
377
- return await loop.run_in_executor(pool, func_call)
378
-
379
-
380
373
  _PrimitiveType = TypeVar("_PrimitiveType")
381
374
 
382
375
 
@@ -438,15 +431,22 @@ class ToThreadMixin:
438
431
  thread_name_prefix=f"{type(self).__name__}Pool-{self._counter()}",
439
432
  )
440
433
 
441
- task = asyncio.create_task(
442
- to_thread_pool(func, *args, **kwargs, pool=self._pool)
443
- )
434
+ loop = asyncio.events.get_running_loop()
435
+ ctx = contextvars.copy_context()
436
+ func_call = functools.partial(ctx.run, func, *args, **kwargs)
437
+ fut = loop.run_in_executor(self._pool, func_call)
438
+
444
439
  try:
445
- return await asyncio.wait_for(asyncio.shield(task), timeout)
440
+ coro = fut
441
+ if wait_on_cancel:
442
+ coro = asyncio.shield(coro)
443
+ if timeout is not None:
444
+ coro = asyncio.wait_for(coro, timeout)
445
+ return await coro
446
446
  except (asyncio.CancelledError, asyncio.TimeoutError) as ex:
447
447
  if not wait_on_cancel:
448
448
  raise
449
- result = await task
449
+ result = await fut
450
450
  raise ToThreadCancelledError(*ex.args, result=result)
451
451
 
452
452
  def ensure_async_call(
@@ -1077,3 +1077,25 @@ def collect_leaf_operators(root) -> List[Type]:
1077
1077
 
1078
1078
  _collect(root)
1079
1079
  return result
1080
+
1081
+
1082
+ @contextmanager
1083
+ def sync_pyodps_options():
1084
+ from odps.config import OptionError
1085
+ from odps.config import option_context as pyodps_option_context
1086
+
1087
+ from .config import options
1088
+
1089
+ with pyodps_option_context() as cfg:
1090
+ cfg.local_timezone = options.local_timezone
1091
+ if options.session.enable_schema:
1092
+ try:
1093
+ cfg.enable_schema = options.session.enable_schema
1094
+ except (AttributeError, OptionError):
1095
+ # fixme enable_schema only supported in PyODPS 0.12.0 or later
1096
+ cfg.always_enable_schema = options.session.enable_schema
1097
+ yield
1098
+
1099
+
1100
+ def str_to_bool(s: Optional[str]) -> Optional[bool]:
1101
+ return s.lower().strip() in ("true", "1") if s is not None else None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maxframe
3
- Version: 1.0.0rc3
3
+ Version: 1.0.0rc4
4
4
  Summary: MaxFrame operator-based data analyze framework
5
5
  Requires-Dist: numpy<2.0.0,>=1.19.0
6
6
  Requires-Dist: pandas>=1.0.0
@@ -1,42 +1,42 @@
1
- maxframe-1.0.0rc3.dist-info/RECORD,,
2
- maxframe-1.0.0rc3.dist-info/WHEEL,sha256=szzJ2cpopVedoN7Nvku53iVDv7Ata7v4-EMxGWrMpzM,112
3
- maxframe-1.0.0rc3.dist-info/top_level.txt,sha256=O_LOO6KS5Y1ZKdmCjA9mzfg0-b1sB_P6Oy-hD8aSDfM,25
4
- maxframe-1.0.0rc3.dist-info/METADATA,sha256=_-16SK-Jz3GNaM3byVxjvE7ZUTV_kZjFa4Zq9ZbkN70,3027
1
+ maxframe-1.0.0rc4.dist-info/RECORD,,
2
+ maxframe-1.0.0rc4.dist-info/WHEEL,sha256=ybjQCyzbpsnQqTp4s0DXnFJYMeuol7H2pm1rS5aeSgM,113
3
+ maxframe-1.0.0rc4.dist-info/top_level.txt,sha256=O_LOO6KS5Y1ZKdmCjA9mzfg0-b1sB_P6Oy-hD8aSDfM,25
4
+ maxframe-1.0.0rc4.dist-info/METADATA,sha256=m1n812IGGIlXWLemXVCoSOeKwvuDF8UnL_VNXT5mzzE,3027
5
5
  maxframe_client/conftest.py,sha256=7cwy2sFy5snEaxvtMvxfYFUnG6WtYC_9XxVrwJxOpcU,643
6
6
  maxframe_client/__init__.py,sha256=0_6MYIqksNc-B0hORLb0yqNQUhtqdFD7TGg39bQ-_NI,689
7
- maxframe_client/fetcher.py,sha256=B6cXX7WP34ys0ukT-JekWprlwweXAy1ljw00T4800Z0,8339
7
+ maxframe_client/fetcher.py,sha256=zIFUiQ_iJQfGNjwpfA_GluNFkLn5KaVjO2L-E2dIcyY,8442
8
8
  maxframe_client/clients/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
9
9
  maxframe_client/clients/framedriver.py,sha256=Rn09529D2qBTgNGc0oCY0l7b3FgzT87TqS1nujGQaHw,4463
10
- maxframe_client/tests/test_session.py,sha256=YEr9bCY_hOmVhkJt4wDIyBkkuAimheWzL5733YCkEyw,10113
10
+ maxframe_client/tests/test_session.py,sha256=GioXBNjd5-xhj1uWOULq-mbIhlqHjDt-eonMAM06JTo,10537
11
11
  maxframe_client/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
12
12
  maxframe_client/tests/test_fetcher.py,sha256=7mVDO456wcUMajguTJ4FWkSpuonLfinFfiz31ZYnHNs,4158
13
- maxframe_client/session/task.py,sha256=v0tnS2QtkiNt7D47l_3QjXOqNqlkD7NGL8dJ_h4Fr_E,11101
13
+ maxframe_client/session/task.py,sha256=XoxJ8fjAd7p9-FXDptIQoLSOjLiCNqOhhwW_H2vCKmI,12693
14
14
  maxframe_client/session/graph.py,sha256=rRilIWsiVfj_N160s8uv2s7mi_nhx7JxSa9BkhyLRnE,4376
15
15
  maxframe_client/session/__init__.py,sha256=KPqhSlAJiuUz8TC-z5o7mHDVXzLSqWwrZ33zNni7piY,832
16
- maxframe_client/session/consts.py,sha256=R37BxDF3kgCy0qmDdwLaH5jB7mb7SzfYV6g9yHBKAwk,1344
17
- maxframe_client/session/odps.py,sha256=vIV3HfuqIRnVNskau4Eap6secuX_MpK-oxdCBX0l9Rk,20690
16
+ maxframe_client/session/consts.py,sha256=kQv67i4wyhV2ZQXwJf_5k4PRXhN811LmYoo2C3NB7tk,1391
17
+ maxframe_client/session/odps.py,sha256=YvpLZWoLTdITGmwKeJ0u02eAzmT8f8Kf84bgi1LGWfg,23505
18
18
  maxframe_client/session/tests/test_task.py,sha256=lDdw3gToaM3xSaRXEmHUoAo2h0id7t4v_VvpdKxQAao,3279
19
19
  maxframe_client/session/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
20
20
  maxframe/_utils.pyx,sha256=I4kmfhNr-xXK2ak22dr4Vwahzn-JmTaYctbL3y9_UBQ,17017
21
- maxframe/conftest.py,sha256=zyxq9OfQ9pgL5QtG5DCOxTjYqXs5bk3QLN7xVgin6ig,4726
22
- maxframe/opcodes.py,sha256=1Da6d3a82mecIHmnyZve4gSH_KN-q3Snl0nSygue2Ng,10191
21
+ maxframe/conftest.py,sha256=EFMnYhSi0L57fog9nAjOEtjRQuCGedFNIY6jK2MPbm0,5772
22
+ maxframe/opcodes.py,sha256=4t7OL55s0rt7qGxSkhsLjgs0ECb_hCzqxXRrYa3Vm0A,10236
23
23
  maxframe/env.py,sha256=_K499f7giN7Iu9f39iI9p_naaEDoJ0rx8dInbzqFOVI,1402
24
24
  maxframe/mixin.py,sha256=HBAeWYGb7N6ZIgkA-YpkKiSY1GetcEVNTuMb0ieznBs,3524
25
- maxframe/protocol.py,sha256=LRwCTbnX1DLY5OaG2OwP3NR3truWtwpuvU8OaG9mypE,18841
26
- maxframe/session.py,sha256=o2jp5NQP1pVMkp4AujN_3DB1HffZ0rMd5EbYZiLJxls,36205
25
+ maxframe/protocol.py,sha256=kP8dnBhQEI6BcVFn2uuZZTmvr4xJA-R-SZi9ZJ_iqtY,18984
26
+ maxframe/session.py,sha256=FFciufr4jyKKWBDfbd_OwHGGT8zpRz_8rkZHrGhJMNM,36393
27
27
  maxframe/__init__.py,sha256=SqTFS_1o2HDuVY1mhS0ELlqDuM-biwM_MN0EYGkJLf0,1004
28
- maxframe/_utils.cpython-38-darwin.so,sha256=ZdflwQw37N3y904HeRw54UqZR6eqASibt_EobDDhsFU,846784
29
- maxframe/utils.py,sha256=yCKkWCTu6erwUeMFipH0RKKaG7CA3mFjmmeUHmv8hAw,33138
28
+ maxframe/_utils.cpython-38-darwin.so,sha256=cV1KGNsftVgdrCW7k2ehIrwP6IrIM-jy6JjidcSEqpY,846784
29
+ maxframe/utils.py,sha256=LwuzJ1diVF3u1ZYJemHGEWmbrHxoLGMAJteTDTQe1Pg,33873
30
30
  maxframe/extension.py,sha256=F5XTYzW5hNw0AIQz3d6u6Yk7adDdiV4c-HD7bF0X1FI,2659
31
31
  maxframe/errors.py,sha256=vHcpVrKRHmoZPa6IwsdDT-jOZUTlhCp8c0e8F2C-5uU,966
32
32
  maxframe/udf.py,sha256=Fol4VzIb2hzyyA9s5xrvh4xTO4jq_I2YGnnN4f6wOhk,4338
33
33
  maxframe/typing_.py,sha256=iYzgThxTu38yLRtyH5xFhMrurfFj7awMGytfObhvvcs,1180
34
- maxframe/codegen.py,sha256=AZRBxWzSq0rcJ3hRNg8GI6EbIsbk9O4-5MeZd6ZUkGk,17657
34
+ maxframe/codegen.py,sha256=yxrKeRynJiQ3fN88BPFn5oHPKemEpESz20GI8ghDgv8,17733
35
35
  maxframe/_utils.pxd,sha256=AhJ4vA_UqZqPshi5nvIZq1xgr80fhIVQ9dm5-UdkYJ8,1154
36
36
  maxframe/dataframe/arrays.py,sha256=RWzimUcrds5CsIlPausfJAkLUjcktBSSXwdXyUNKEtU,28752
37
37
  maxframe/dataframe/__init__.py,sha256=ojcTejC6A-txmh1fPhaZxIiXNQejd1Qf_nH0nRr6TbM,2242
38
- maxframe/dataframe/core.py,sha256=5CMPn9kuKVMhUtFi3QLy6utFN71EXkMndTyDUyb-1Rg,74374
39
- maxframe/dataframe/initializer.py,sha256=4BpZJB8bbyFnABUYWBrk_qzzrogEsWgFuU21Ma9IsjY,10264
38
+ maxframe/dataframe/core.py,sha256=CN1oL_YhU1xF8WpAuKCsSDNN03gdR35aGcQ1KammS_0,74425
39
+ maxframe/dataframe/initializer.py,sha256=ppdPVRoXmg5ryZIfWbJ6nQ6okEOevOSJowvk1AJXFH4,10852
40
40
  maxframe/dataframe/utils.py,sha256=aPQrT3-TBTL2O_9QS70KlG4oV9EiFTTswofd7n3IKEM,44213
41
41
  maxframe/dataframe/operators.py,sha256=sXgnopzsCjr5qTL8wn9J-avzqSzGdds3MsyHgQCB4No,7577
42
42
  maxframe/dataframe/statistics/corr.py,sha256=3dExebs9QC8GBaZZUSKXrN2eYt-hWMayJ2MHHzTn-8s,9483
@@ -69,7 +69,7 @@ maxframe/dataframe/misc/stack.py,sha256=ybopZCNzARqrtFYhvjs85j-g6mXL6X2XTdSTAudt
69
69
  maxframe/dataframe/misc/transform.py,sha256=ZUeFD2ZByJxGHuyUlCCFVBT05WPewdWK6FDw6S7JuDw,10920
70
70
  maxframe/dataframe/misc/explode.py,sha256=Z26L0iYmyHE1mffyAC19Fk5rGDfw7oxOnaBHzeZ4QbU,5011
71
71
  maxframe/dataframe/misc/diff.py,sha256=bhorH5BuKmnMJSXKC-_ZANNAR8LFDIy6p7m4kpZV_R8,5491
72
- maxframe/dataframe/misc/drop_duplicates.py,sha256=t8Rq93Qp4ZHGqJH9YzYJ9qdx9-StoKkkX9YVBfU9ErQ,7851
72
+ maxframe/dataframe/misc/drop_duplicates.py,sha256=SRabiqBgyJHprWm3IOU2hT1ocx3C-bhGg-mKL6sHIs0,8375
73
73
  maxframe/dataframe/misc/_duplicate.py,sha256=lCryaC64c46YA6R3UjTBfh77L4yyB8ub3EPzBMe_HPg,1470
74
74
  maxframe/dataframe/misc/eval.py,sha256=jXIQyGK4d1c8A-n3BBdisKK3dIjLbZO07hh-qtslBdE,24359
75
75
  maxframe/dataframe/misc/value_counts.py,sha256=yWpGLLdx--QobAFNJHb51wuA_fePMqKMeWXA6GjIgbo,5215
@@ -84,14 +84,14 @@ maxframe/dataframe/datasource/from_index.py,sha256=2061zsQn-BhyHTT0X9tE0JK8vLxQU
84
84
  maxframe/dataframe/datasource/dataframe.py,sha256=LxAKF4gBIHhnJQPuaAUdIEyMAq7HTfiEeNVls5n4I4A,2023
85
85
  maxframe/dataframe/datasource/series.py,sha256=QcYiBNcR8jjH6vdO6l6H9F46KHmlBqVCTI2tv9eyZ9w,1909
86
86
  maxframe/dataframe/datasource/__init__.py,sha256=C8EKsHTJi-1jvJUKIpZtMtsK-ZID3dtxL1voXnaltTs,640
87
- maxframe/dataframe/datasource/read_odps_query.py,sha256=08GAbK51a22pOG8pRLuPLSV51iK_1y28U7ZHa03ZYZo,10220
87
+ maxframe/dataframe/datasource/read_odps_query.py,sha256=vEYz85s1Fzhe3mBCYlMZo8uCb0_W9AuO4V4ngpbi87k,12335
88
88
  maxframe/dataframe/datasource/core.py,sha256=ozFmDgw1og7nK9_jU-u3tLEq9pNbitN-8w8XWdbKkJ0,2687
89
89
  maxframe/dataframe/datasource/date_range.py,sha256=8JMr_Ife5pKCS_ca7W50Fyoc1JigOJirVzdVaPDzeFo,17227
90
- maxframe/dataframe/datasource/read_odps_table.py,sha256=cloTgtWRtTUIRCsP3ufih-qHCVKBfoX8khEv-V4_7dE,9228
90
+ maxframe/dataframe/datasource/read_odps_table.py,sha256=T44rPm2-2plSCghTGX0U9mnTrQgpjczHt0DPt2H5HM8,9338
91
91
  maxframe/dataframe/datasource/read_parquet.py,sha256=9auOcy8snTxCOohgXZCUXfT_O39irdkBngZH5svgx0E,14531
92
92
  maxframe/dataframe/datasource/from_tensor.py,sha256=4viuN5SLLye7Xeb8kouOpm-osoQ2yEovWTDNPQuW8gE,14727
93
93
  maxframe/dataframe/datasource/from_records.py,sha256=WBYouYyg7m_8NJdN-yUWSfJlIpm6DVP3IMfLXZFugyI,3442
94
- maxframe/dataframe/datasource/tests/test_datasource.py,sha256=CMgDm-fENFgjcrenWqOoQhhzT_dj6TMnUBWr5LG9GHQ,15073
94
+ maxframe/dataframe/datasource/tests/test_datasource.py,sha256=GEtiNzYfjvFMw1LbYXA1rdQOCE2HZt6bDWA0hODmzfg,16041
95
95
  maxframe/dataframe/datasource/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
96
96
  maxframe/dataframe/sort/sort_index.py,sha256=Hwbkm9x8kqGgXh4gMcAtYMDjYtt-S3CJXfYR9pN5Iqk,5412
97
97
  maxframe/dataframe/sort/__init__.py,sha256=Vt2Ynr7uAX51hLbQu93QeHiFH4D9_WJMO99KljpbO2U,1160
@@ -110,7 +110,7 @@ maxframe/dataframe/tseries/to_datetime.py,sha256=ctRUuRPPyBIC0yLY0rOIIxEdK67e5o9
110
110
  maxframe/dataframe/tseries/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
111
111
  maxframe/dataframe/tseries/tests/test_tseries.py,sha256=PCikuMQlqUaN-_kM3M2HOHjnIPrBpWlaY2ivzQfgx5Y,989
112
112
  maxframe/dataframe/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
113
- maxframe/dataframe/tests/test_initializer.py,sha256=wgV1a3YK6Q4xzVVcfS_3qIWdO-t80JFiPW2BYYmjZ6k,1056
113
+ maxframe/dataframe/tests/test_initializer.py,sha256=9VFQ1MtCWkTE-QHI_3C7HHtXFxdWH6IbgYkOmjL1vPg,2000
114
114
  maxframe/dataframe/ufunc/ufunc.py,sha256=P8mh9CwKnxoN624IaoZ010kwH1n4RiUUGMuU5IgHTOM,1651
115
115
  maxframe/dataframe/ufunc/__init__.py,sha256=-_obmEV3B4Az5V0x-P-T8cfdeSoYHrLBOgj_-gqv1c4,889
116
116
  maxframe/dataframe/ufunc/tensor.py,sha256=SeWQbDflxL5fipzPJdhVKFk9ntM4VXtGazb8lD2JwSM,1618
@@ -122,9 +122,10 @@ maxframe/dataframe/missing/replace.py,sha256=sYFzkyChrev8Vl0NocDGTCdWTdHjXvzBzHb
122
122
  maxframe/dataframe/missing/tests/test_missing.py,sha256=L53Fm8w7r1uRghOhslWd0fKa7HJmn1Dk52ZTdG7FCi8,3134
123
123
  maxframe/dataframe/missing/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
124
124
  maxframe/dataframe/extensions/accessor.py,sha256=j7AYpmfPQwMS3ep52yY5ETtXyaO1cO4K9aPdELk2lR0,1447
125
- maxframe/dataframe/extensions/__init__.py,sha256=DmEDJDp_EWEh9dyJZxC119PbFoEyhTWeZjszNj9Tkjw,1398
125
+ maxframe/dataframe/extensions/__init__.py,sha256=Mbp_WNVPctRzAUnbY9G_tnp5MJG6pUzjwoGv9J4pmck,1573
126
126
  maxframe/dataframe/extensions/reshuffle.py,sha256=2GogwgsZPy9hbP5ecrkSPSm7KC6MD9M-HZk7FO9WAGg,2637
127
- maxframe/dataframe/extensions/tests/test_extensions.py,sha256=1YMaakSRbvr-A_-F8UrYAjKNsnvplGjgkkEU-fZnMWw,1286
127
+ maxframe/dataframe/extensions/flatmap.py,sha256=aqWE3TtL6CR5FWFyWmSp5JjSFJ3-FzxYTwpsjEs89x8,10538
128
+ maxframe/dataframe/extensions/tests/test_extensions.py,sha256=D759ZTZe-SCs65f1cJ9tRaiUhah61kKa8va1BR4-DD4,3011
128
129
  maxframe/dataframe/extensions/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
129
130
  maxframe/dataframe/groupby/aggregation.py,sha256=BuhqZal6RLHkjvwJep86oT1a7rMqxxUAPxQ_dao6I6E,11953
130
131
  maxframe/dataframe/groupby/fill.py,sha256=JF3NxyXigZqg8ecKtLSndDmNMX8S6g_ChQR9JAK036E,4721
@@ -141,7 +142,7 @@ maxframe/dataframe/groupby/tests/test_groupby.py,sha256=ctkAniUwunVsgCG-b6b2qKSC
141
142
  maxframe/dataframe/datastore/__init__.py,sha256=Ujd4ix4UJ7Zq-sV2pXTRDvZkKUvtt8sr-FfiUoi6Kh4,784
142
143
  maxframe/dataframe/datastore/core.py,sha256=hLGhqYxX73tq9sOFxMyYBRMawTnsVQqluW5FcE3YHfE,743
143
144
  maxframe/dataframe/datastore/to_csv.py,sha256=xVfpEsicD5A5uXLSdCN08K8uGyWB4QxnRcAbgBVUzbs,7747
144
- maxframe/dataframe/datastore/to_odps.py,sha256=-X1GQfOfRePyASlG5vP_xAQoE3K_ECcZen5isWRZA3o,6416
145
+ maxframe/dataframe/datastore/to_odps.py,sha256=TP3dWCdb4lNGVnKuQ86lOpl5U4CYZlFhwkQ9f6096_M,6722
145
146
  maxframe/dataframe/datastore/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
146
147
  maxframe/dataframe/datastore/tests/test_to_odps.py,sha256=EaFprN1mErrqqy54Rzbw6PQxPbBCgxDP0E055RIIH0g,1296
147
148
  maxframe/dataframe/fetch/__init__.py,sha256=E3VjxLRKjtr-D__K-c0aRETvBG7CQRG1iEtH0Qghq0s,653
@@ -192,11 +193,11 @@ maxframe/dataframe/arithmetic/arccos.py,sha256=WF3SE975VbwCOsrSPNck4swIejDFI-tVm
192
193
  maxframe/dataframe/arithmetic/arctanh.py,sha256=7H32t46reUr0k_4pEj2Dx_dAkH59OIUinedqoOPd0Hg,935
193
194
  maxframe/dataframe/arithmetic/trunc.py,sha256=WZSfPRti63DtH_JzsnqPlknwfvIdQogZGmC9uu17n64,925
194
195
  maxframe/dataframe/arithmetic/tanh.py,sha256=EG2Fbb7lZPgdNKvIZQCkn0DWCp88pp6g7hyDFTQQZUY,920
195
- maxframe/dataframe/arithmetic/equal.py,sha256=rm6Xpn-ZpuIWG5rxSylKx4s4AFKXzNbdrOxdqzyqpGY,1463
196
+ maxframe/dataframe/arithmetic/equal.py,sha256=XUEHuLa3VdPs1ODWeIJjIOPq6l3lnMcQMfAyoMlokIg,1517
196
197
  maxframe/dataframe/arithmetic/add.py,sha256=VMxJbbZf5Unl-0XH3QIAKtzcyJqKF103s8Rx_0kQQI0,1706
197
198
  maxframe/dataframe/arithmetic/subtract.py,sha256=jus58lUI8MT3iYSoO5V2Z6veelPEYp8R3n8Kz_FOpFg,1780
198
199
  maxframe/dataframe/arithmetic/sqrt.py,sha256=1-fOixLXtprGMyTEwMbMp7J2ZKONgMhjwcu2uXmPmL8,920
199
- maxframe/dataframe/arithmetic/less_equal.py,sha256=Is5EmdJ-l1nk_vTjvdVyZ0b22-yQxw68m0U_cs1QpJg,1503
200
+ maxframe/dataframe/arithmetic/less_equal.py,sha256=Aw1sXCVjS7eZ6ZXvCnppyt3zFnNdH_XrmQ39RFq573A,1557
200
201
  maxframe/dataframe/arithmetic/log.py,sha256=eQkt1Hj0KG7jlxEOR_WjyRO0ldMwvXfE0R59jEBOjCs,915
201
202
  maxframe/dataframe/arithmetic/negative.py,sha256=tr4ihgbj2Kws6mhZrkQDqDcP3gCnswgTyW3TGODKl24,1007
202
203
  maxframe/dataframe/arithmetic/multiply.py,sha256=IYRtGCnu9LtykcnLThRh4odOluXq2MkoVHQa_zwhpQU,1733
@@ -213,7 +214,7 @@ maxframe/dataframe/arithmetic/ceil.py,sha256=2Kg7DhGutwqRpH88pvbY0mXz0n6fI0KB_Eu
213
214
  maxframe/dataframe/arithmetic/bitwise_or.py,sha256=BNYyKUshOkyQ1pnEPr4YV77ANRvV5VfY6QXuHs1oARk,1546
214
215
  maxframe/dataframe/arithmetic/bitwise_and.py,sha256=G3IMIAmFz9HTcuNnVdSiWCKcSUdNKniR_f7wLhJ4ubM,1427
215
216
  maxframe/dataframe/arithmetic/log10.py,sha256=yT9ziTGU0QogZLdwHiZA8VHqes2tKzHfKRsrrhEbEtg,925
216
- maxframe/dataframe/arithmetic/docstring.py,sha256=NlmLreMXi3Y7Q7U0tPnvJOIM0LtNw7n7cW3F_d5yT08,11074
217
+ maxframe/dataframe/arithmetic/docstring.py,sha256=WsDeqeRbyTbfFGZJLCWLSRMcazLXkmK3wpDAcXA70e4,11691
217
218
  maxframe/dataframe/arithmetic/truediv.py,sha256=KNMlFa7D8ui89ILKKg5QG1TmTYA3C3Gttv9UAq3UGK4,1808
218
219
  maxframe/dataframe/arithmetic/exp2.py,sha256=cwyEZ7uyjbiqD-7Y9PqEDOI80hf6ReabtbGq6DLjwCg,920
219
220
  maxframe/dataframe/arithmetic/expm1.py,sha256=XfDd6LQ1YzBq8mnTVFTWf3lBtIOMzaO4yc9b5ZRuIQU,925
@@ -221,18 +222,18 @@ maxframe/dataframe/arithmetic/arcsin.py,sha256=NuVj2ve_KVtT0BnDL0NP0W8OLbXxKljLA
221
222
  maxframe/dataframe/arithmetic/floordiv.py,sha256=CySJxJb7DZqbe_CqC4Q0IyEm_4vXEgPpKyWMEEb10ag,1827
222
223
  maxframe/dataframe/arithmetic/bitwise_xor.py,sha256=W0MDaBV4rEh6MtCk7eCsZkW6abvk_8JetzXKs1h9eiM,1426
223
224
  maxframe/dataframe/arithmetic/invert.py,sha256=OvRZ3DtDpWQBr2fNIMjUeraT1zOhh5Hqn3VLhhhs-oo,985
224
- maxframe/dataframe/arithmetic/greater.py,sha256=mS_IrH6rUhcuJMWsemlyrNw4yPIRd-5US_RO-kREzF0,1493
225
+ maxframe/dataframe/arithmetic/greater.py,sha256=YE5dkcyoENXR6uxSOhWfD8isq8MtqFmiRu6AoXndObk,1547
225
226
  maxframe/dataframe/arithmetic/log2.py,sha256=rqmgkwgqwvnyFLW554eHBCBDwP8Y8bXgx3vT2HJTzRo,920
226
- maxframe/dataframe/arithmetic/less.py,sha256=h7HIwJ_CPYjcweIIC2i4psEAzFt0qB8m2Wqymj4zUeY,1478
227
+ maxframe/dataframe/arithmetic/less.py,sha256=Q6hOp1IYybChzVCY0_ccTnD4pcCLw6CIVnzhMS_KK68,1518
227
228
  maxframe/dataframe/arithmetic/cosh.py,sha256=OLmJdzc0B1v61-cu2ohXUflJwxkXfUy50YqS1X8h0Ho,920
228
229
  maxframe/dataframe/arithmetic/sinh.py,sha256=-Cm7wHcywVAuLnt-AA3WggxfOjiPXfii5nx14dT_MYg,920
229
230
  maxframe/dataframe/arithmetic/mod.py,sha256=hHYLPMbNLjuig9Tud3FqEYRxQeDMrFgvDm5LEjn1Xu4,1702
230
- maxframe/dataframe/arithmetic/greater_equal.py,sha256=1OLIWJG1v5Hi5Ealg7gTZssR0e0FtlpMzHkr18BlWk0,1518
231
+ maxframe/dataframe/arithmetic/greater_equal.py,sha256=lkP_0fM048BKLu7p5EX-VDkhmJpHzZB0DeKc18GGqhs,1572
231
232
  maxframe/dataframe/arithmetic/exp.py,sha256=QE7i88tJrFYx2Qs7Hmcf8Zb2oBJDKghBjxSnf4Y9b7k,915
232
233
  maxframe/dataframe/arithmetic/arcsinh.py,sha256=KreWLwP5wwQqna95iPlc2aiXPzuqCFq8chCMytk5qhY,935
233
234
  maxframe/dataframe/arithmetic/arccosh.py,sha256=_LTrS_JOy1CTvCXT9iw9TQkBbO3wv-hKrYiYRzTwcnU,935
234
235
  maxframe/dataframe/arithmetic/power.py,sha256=ZxssD1aoz8abrv1tE_LFhGF0jr_j5nXQ8nhY9lcZrF0,1811
235
- maxframe/dataframe/arithmetic/not_equal.py,sha256=lvdiCA977jMpSSksJYvKntaCioD-4iM9Zeq89cx0hbc,1479
236
+ maxframe/dataframe/arithmetic/not_equal.py,sha256=jwfWfLHbRmVEMVdAmHlFUU4Kd6hhyevIGO2Fl2nuyJM,1533
236
237
  maxframe/dataframe/arithmetic/radians.py,sha256=pSq9S0KlV0Xx0vGSdxdol3348dSyYuxG4jMFbGFdQ6E,935
237
238
  maxframe/dataframe/arithmetic/sin.py,sha256=zgWoijVpASlkZ7cnZZxKSSHUiLqQ0pKUAIOHEfCBubc,915
238
239
  maxframe/dataframe/arithmetic/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -241,7 +242,7 @@ maxframe/dataframe/indexing/reset_index.py,sha256=uzGszHfkhwZgZtEaygy5UPrvHPNPXg
241
242
  maxframe/dataframe/indexing/iat.py,sha256=ANURJ8qn_UitgM01gDPeaQOlSBxbk0pmN4Yr-iPRXM8,1127
242
243
  maxframe/dataframe/indexing/loc.py,sha256=ZmiK3a2f-krkXFvNLSlzRRa6GWGiAAXk_3mWZC_MqdQ,14845
243
244
  maxframe/dataframe/indexing/align.py,sha256=hEuoaNX4bI9LBWp_1kGG7GSs3PDF95tDXo7GX5nypGI,12085
244
- maxframe/dataframe/indexing/rename.py,sha256=Gz0p9zVLsQ-I4cKg_Ok_mimzdCa8r5mS8shMBkM3KkQ,12463
245
+ maxframe/dataframe/indexing/rename.py,sha256=jYstF7CKilLjAlIGKs2wVhYtijJDCz8AWg2VF-1KROU,12892
245
246
  maxframe/dataframe/indexing/setitem.py,sha256=PgVZr2A_joTHz9GUbnGfuSI28qSnwe-n84yKFJagLUc,5004
246
247
  maxframe/dataframe/indexing/where.py,sha256=3h64jI_tXmWAu1ZvfeS58h8nUfBN7K7OZ0C22_5-_uk,8567
247
248
  maxframe/dataframe/indexing/iloc.py,sha256=sP4hV9Wo3S4Iimxak5Q-EB_Vph2dCbbDsVS003jEeFI,17421
@@ -250,7 +251,7 @@ maxframe/dataframe/indexing/getitem.py,sha256=3LHjTcvU0PSTf_VI6x1MwirIiK_ynLcGb_
250
251
  maxframe/dataframe/indexing/set_index.py,sha256=Sa49Z0n3bwAM1OTJJPdTSCZb4qMZjyfhiEpi4mALviU,4195
251
252
  maxframe/dataframe/indexing/at.py,sha256=cGzJ3eM_kVIYDPf24JQxbhrRNtb2urscMtV0XUKzWkw,2217
252
253
  maxframe/dataframe/indexing/rename_axis.py,sha256=w5B67qlcsdjNhN6OZnov5L5ovJXpu_Oqpux0AP0elzk,6302
253
- maxframe/dataframe/indexing/add_prefix_suffix.py,sha256=-PY64B6avq7XeYSyAcZW4ABidakzfAepd3llO_C0nGg,2970
254
+ maxframe/dataframe/indexing/add_prefix_suffix.py,sha256=tSNslK43yx9tOieXcEuWamW7HWysxSoqqEM4p5NN55k,2966
254
255
  maxframe/dataframe/indexing/insert.py,sha256=GG9VGNozKDdeREdtsQJ6WztFUwuYuBP-LW1Lv4RftN0,2911
255
256
  maxframe/dataframe/indexing/sample.py,sha256=Dm3qqFa2nL0A24rSrqDs_4U1m9a-noWQMp_CNE-Suak,8171
256
257
  maxframe/dataframe/indexing/set_axis.py,sha256=n5obYjkg-YKSOGHA0gfM25qUPGcGHBeeo-uyvhYCI34,5530
@@ -261,17 +262,21 @@ maxframe/learn/__init__.py,sha256=ii-8fJO-ubA3wRej1S1jXsb62zrS5MaAWc2gqQAAHFw,63
261
262
  maxframe/learn/core.py,sha256=JeKLITsz1WrKOTR6Air2lG28MtjamWtFnal4ynvprNw,756
262
263
  maxframe/learn/utils/__init__.py,sha256=zpkZ-HBwv91vyMeBVs59J_u0uVQCXUkEzo_pW2h9q00,646
263
264
  maxframe/learn/utils/core.py,sha256=_tskQMfdvr5VAV68fDzM0DSVF2S7SMDnNXA8j_gHmGI,1029
264
- maxframe/learn/contrib/__init__.py,sha256=WvCqsncQZKtDURfK8ma9GoPHVVK02yW2ueom_kBMl44,632
265
+ maxframe/learn/contrib/__init__.py,sha256=zmDTNjDax2LR3hTc3MU16k0NUAdkWNsOlgfnjqiGvao,649
265
266
  maxframe/learn/contrib/utils.py,sha256=k5jlwY8pru_PD8olOBOsMcBLeo31NMx53TjJmSvbvy8,1662
266
- maxframe/learn/contrib/xgboost/classifier.py,sha256=Atb17PYxoczaR9tOAgjVm87QLPWS1ow2Twxlvh6HyZA,3850
267
+ maxframe/learn/contrib/xgboost/classifier.py,sha256=BgDRqInNhe6YvC4026vRq4DU9lL6vVDiCWJFFON9If4,3886
267
268
  maxframe/learn/contrib/xgboost/dmatrix.py,sha256=r-3JfQNwv8Qgi6zxwSVlxolv8K82paofCBaR1u860rs,4742
268
- maxframe/learn/contrib/xgboost/predict.py,sha256=ZW738ey1yNBK-pemDnJb5KHLci2B2QIItlzmzEOqt48,4879
269
+ maxframe/learn/contrib/xgboost/predict.py,sha256=BlFKaM0Fdw2BeUtxVyNtNTjwiXqjJNZjP0lbs5SNtjI,3756
269
270
  maxframe/learn/contrib/xgboost/__init__.py,sha256=kbYrokjDXjMBqRka5NTkUjU5zrNUoT_TkTyuW9G5s-0,899
270
271
  maxframe/learn/contrib/xgboost/core.py,sha256=KHPi--bAbWcd4bX_Nfuh3k9Sl-e6BW9Ck7PyIS9veUU,8035
271
- maxframe/learn/contrib/xgboost/train.py,sha256=q7QsONrLmvHGw2v5YB2L3S94UVfkLP2tWRIKIdVethA,4469
272
+ maxframe/learn/contrib/xgboost/train.py,sha256=kgxNkmkgoH7P4w-eO0oLOVYNe-s3_kYnkPOS0UmWfv0,4528
272
273
  maxframe/learn/contrib/xgboost/regressor.py,sha256=0Wuyt2nxyVqp3AHl4aro0WdXe0YhtXIcbJPTdboy_AI,2313
273
274
  maxframe/learn/contrib/xgboost/tests/test_core.py,sha256=0Q3A1EFW30vsQLl7bSTTuw-ldlLEO43ljVSJBb8j1LM,1406
274
275
  maxframe/learn/contrib/xgboost/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
276
+ maxframe/learn/contrib/graph/connected_components.py,sha256=JRLdmyryWas1W3mE_sIn5eX1rU4N_ycYtLrEInkbxlw,7152
277
+ maxframe/learn/contrib/graph/__init__.py,sha256=oJZ8FJcGcbaRwzY4O8BKLZkXBqhhYgPC615oJGFqJpY,652
278
+ maxframe/learn/contrib/graph/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
279
+ maxframe/learn/contrib/graph/tests/test_connected_components.py,sha256=13z_AulY1rhI2owu5rorcj4CwxxzKlJGuQWF6n2VC90,1609
275
280
  maxframe/learn/contrib/pytorch/run_script.py,sha256=Joh0gwukGf3kqfBYRxL34hQjbULT6s3vNnmBdJ6NZP0,3111
276
281
  maxframe/learn/contrib/pytorch/__init__.py,sha256=koagbwLwH1VNLTWYx29ckatBChZ_f9wFcflB4tGYYwg,687
277
282
  maxframe/learn/contrib/pytorch/run_function.py,sha256=oMDMVqDFQJ5d8DllZrqqRmBT2lx1cTmAv0hdQlO2GrY,3244
@@ -284,14 +289,14 @@ maxframe/core/entity/tileables.py,sha256=nPBdaJz66t_UWqO0utp7P9DPs5WAlx3lM4TXbgG
284
289
  maxframe/core/entity/__init__.py,sha256=9erZEQzE07BfJrQJDcEyHPo_XCIi5bJkKW3NvKhJhRo,1075
285
290
  maxframe/core/entity/core.py,sha256=t7Ex9Yb7A1h_XwyRG88Fx4ZOai-NQKi2luRVS_jFPEo,4018
286
291
  maxframe/core/entity/utils.py,sha256=IuNgFmBQFRioAA1hgZe6nTEggOmDY-iooZqncQQrV28,942
287
- maxframe/core/entity/executable.py,sha256=HKXHXdPIyxg9i-OWmJxIY3KfXwX0x3xN9QcR5Xhc7dQ,10938
292
+ maxframe/core/entity/executable.py,sha256=0lc5113ASliBAAb59hT8n1qpyajdSa5p2lK3u79iblE,10956
288
293
  maxframe/core/entity/output_types.py,sha256=Jrro-S4iI7BfaSe9hTq3zIAxG-hBENMU-hlN-kL5d8o,2536
289
294
  maxframe/core/entity/objects.py,sha256=EnS0F2ageFTEvNfylqp21LTfTv3Q3p0X0Ur6HgWr2co,3781
290
295
  maxframe/core/entity/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
291
296
  maxframe/core/entity/tests/test_objects.py,sha256=-HS2dux6OdmwtMY6GRxwASq2gPSRY5S9YwTqeG-dGaA,1349
292
297
  maxframe/core/graph/__init__.py,sha256=tqUUWDOXp2KFjO7zv1dN_-ttE-ef09-S1GNt8EQ35Bk,765
293
298
  maxframe/core/graph/entity.py,sha256=3ifzsEDIxzDjeM9MhlSwgz92GuaEEoCVWxEkEu2xIgE,4863
294
- maxframe/core/graph/core.cpython-38-darwin.so,sha256=ZVJ4nST-wxlvpo7PTUAq5a8i8HMNasT2S3JqLurg8dA,685712
299
+ maxframe/core/graph/core.cpython-38-darwin.so,sha256=P13yGqyRphs9S_0PY5oIWbMvVODpWfli23YifUjryiw,685712
295
300
  maxframe/core/graph/core.pyx,sha256=kyqE5-X9Tc82wU4N_zsf8jNthAHWHTVRNFQWNNbzgpM,15923
296
301
  maxframe/core/graph/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
297
302
  maxframe/core/graph/tests/test_graph.py,sha256=kZfe_SfMOoHjEfXvtVtn0RjK4lOd-tFasxSpfL4G1WE,7462
@@ -310,7 +315,7 @@ maxframe/core/operator/objects.py,sha256=lEicZmIsR2sgWsH3oAeeYMde8C0TYeu2vkAyGj8
310
315
  maxframe/core/operator/base.py,sha256=gMSjgfOBJe0tMkFRukyGnGSInLVHw7xlxASlczeuzQg,15187
311
316
  maxframe/core/operator/tests/test_core.py,sha256=57aICnc5VLqdVK7icAORTWC81bSjBxeeVWIJcha9J_0,1691
312
317
  maxframe/core/operator/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
313
- maxframe/config/config.py,sha256=XFJKAYeRyVx-7JhV_7kyk93HvjCwXIyKL7k1FyIeujA,14935
318
+ maxframe/config/config.py,sha256=Qqfe0oS2SB0uf2FjxFbf7tFa8OK2OXZkta4AbfsxuoM,15388
314
319
  maxframe/config/validators.py,sha256=UjbxMKZcDG98-9uCQESm_V56d-VUD7kQGV0KJghVbj8,2511
315
320
  maxframe/config/__init__.py,sha256=g5lN3nP2HTAXa6ExGxU1NwU1M9ulYPmAcsV-gU7nIW8,656
316
321
  maxframe/config/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -325,7 +330,7 @@ maxframe/serialization/__init__.py,sha256=LrwesIKJ6MR_mhxW7qRXJXohH9waubZMR9-Yic
325
330
  maxframe/serialization/maxframe_objects.py,sha256=R9WEjbHL0Kr56OGkYDU9fcGi7gII6fGlXhi6IyihTsM,1365
326
331
  maxframe/serialization/numpy.py,sha256=8_GSo45l_eNoMn4NAGEb9NLXY_9i4tf9KK4EzG0mKpA,3213
327
332
  maxframe/serialization/scipy.py,sha256=hP0fAW0di9UgJrGtANB2S8hLDbFBtR8p5NDqAMt5rDI,2427
328
- maxframe/serialization/core.cpython-38-darwin.so,sha256=JnYVQyMGP8I_-wfSxEgw1LJdJ6sRdxbbuTv3HGJnUEg,1159840
333
+ maxframe/serialization/core.cpython-38-darwin.so,sha256=CKTj_EBaAcz9fNvmunapfHq8WSJcrpgYYH_moUMAirQ,1159840
329
334
  maxframe/serialization/core.pyx,sha256=ZLVh7W7LgUb4KPb7rtuezRL6sQC4GNb3hLndAeSbiyU,35198
330
335
  maxframe/serialization/tests/test_serial.py,sha256=Wj_I6CBQMaOtE8WtqdUaBoU8FhBOihht6SfeHOJV-zU,12511
331
336
  maxframe/serialization/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -337,14 +342,14 @@ maxframe/serialization/serializables/tests/test_field_type.py,sha256=T3ebXbUkKve
337
342
  maxframe/serialization/serializables/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
338
343
  maxframe/serialization/serializables/tests/test_serializable.py,sha256=P6BCYvm-0HxlEHruyw-SIdVBywxQw16JUMws_lvqTk0,9867
339
344
  maxframe/io/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
340
- maxframe/io/odpsio/tableio.py,sha256=w__VRoxp8HEoPEactcJXd5FF7Qg5Hqul9LVmLLlJxj8,24117
345
+ maxframe/io/odpsio/tableio.py,sha256=NAAjHJPOGNeSFSqkJokdMBaPIj-fZYfQ64TWysykrJA,24453
341
346
  maxframe/io/odpsio/arrow.py,sha256=2x2N9UvihtXRBA5Ym7tMxqpHQbWi-9hq2lJ_tatETiI,3926
342
347
  maxframe/io/odpsio/__init__.py,sha256=VD_mvxljDKDfJHYuN3OpjJWzHqFT5DKykIvECahGu0w,902
343
- maxframe/io/odpsio/volumeio.py,sha256=nESBAz9Bn77sKh8vTa52SknzZffcmKkrxhMv_kpZKP0,2055
344
- maxframe/io/odpsio/schema.py,sha256=zMEDu5sOYEyzWxj8Hf58hWyoxdTOTGGQ768lIpqGf7M,12318
348
+ maxframe/io/odpsio/volumeio.py,sha256=2cbC1jarfahsL5Hh9HxjsrC2TbWoXkE96x8Tt6EFJko,2167
349
+ maxframe/io/odpsio/schema.py,sha256=kMuBw3zCI5aNXs8qv8Hjl8pU85oYmHd_Ub1PojEaH18,12399
345
350
  maxframe/io/odpsio/tests/test_tableio.py,sha256=HFSx2R7Bj4O1bGM-H9fMQkXjNUmvvT1SIUwsIcw6M2c,5606
346
351
  maxframe/io/odpsio/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
347
- maxframe/io/odpsio/tests/test_schema.py,sha256=Tum2qlGskOKddekngRa1nFhJc-HH60Uc8h-YKrDAPaE,11968
352
+ maxframe/io/odpsio/tests/test_schema.py,sha256=qXh6NPdQWbqhtmT4K9BiVqxlPjJclROup2Ijoyt7lIU,11815
348
353
  maxframe/io/odpsio/tests/test_arrow.py,sha256=SQ9EmI9_VOOC8u6Rg6nh3IPC2fPbLvJ9HwtpMNDRhL8,3106
349
354
  maxframe/io/odpsio/tests/test_volumeio.py,sha256=JlKn_pDU5bCxoPvt7GUJYfCRJIVO1YgCiHPBXHxFer8,2868
350
355
  maxframe/io/objects/__init__.py,sha256=PtpSp5t1rGJ1DD0IjQs6oSHkOxT2JDMLfCaDz8VUCZ8,754
@@ -361,7 +366,7 @@ maxframe/lib/wrapped_pickle.py,sha256=HJCb8ERK6clUVgPe529vduMmbMVqBlrQ3W8mH3tYca
361
366
  maxframe/lib/version.py,sha256=yQ6HkDOvU9X1rpI49auh-qku2g7gIiztgEH6v1urOrk,18321
362
367
  maxframe/lib/compression.py,sha256=k9DSrl_dNBsn5azLjBdL5B4WZ6eNvmCrdMbcF1G7JSc,1442
363
368
  maxframe/lib/__init__.py,sha256=CzfbLNqqm1yR1i6fDwCd4h1ptuKVDbURFVCb0ra7QNc,642
364
- maxframe/lib/mmh3.cpython-38-darwin.so,sha256=R3h1x9F4aMaYmNbN4JQn4baqqjglvEBQmU0gwlE9N4c,119784
369
+ maxframe/lib/mmh3.cpython-38-darwin.so,sha256=bvyNxURZ4rp2SWUllIRtfwG9r9oom1m_n8oPbzWa8v0,119784
365
370
  maxframe/lib/mmh3.pyi,sha256=AOp_XqbA5-NwepeeBeG0OFJj5tjEAFLzcViyRNZ0eVI,1494
366
371
  maxframe/lib/functools_compat.py,sha256=PMSkct9GIbzq-aBwTnggrOLNfLh4xQnYTIFMPblzCUA,2616
367
372
  maxframe/lib/mmh3_src/mmh3module.cpp,sha256=9J9eA42eKWTl546fvfQPNuIM3B2jpWSADpgIw3tr2jg,11604
@@ -425,7 +430,7 @@ maxframe/tensor/misc/astype.py,sha256=zeLfyWkuc1LxMIiIO6ghZ_enR7IPgq0Hy4O18h8JQP
425
430
  maxframe/tensor/misc/where.py,sha256=fMGBfppo4QToHX-B3rtTorstz83m8uWWhOQj6Qbu34U,4000
426
431
  maxframe/tensor/misc/unique.py,sha256=EO7EYn0mHr9aZ7hVZxwiKNSPwbXvrpDWRWP5PksfgxY,6721
427
432
  maxframe/tensor/misc/__init__.py,sha256=I4dwtIkgdnOkFLGp9chMZwDCteiKAAikygYz_b4RY2c,1149
428
- maxframe/tensor/misc/transpose.py,sha256=fd8eee3jdfp-uCM4dKsFiS78FWeuszmrDb3fvUMo8dw,4005
433
+ maxframe/tensor/misc/transpose.py,sha256=a67BbXWt4rc0yh6yzljLQkdX0EyLxTcdWuB2n99Fnpc,4020
429
434
  maxframe/tensor/misc/atleast_3d.py,sha256=ONXluuYTLyaPwii8PF6IG_o5f6QRQRue6uxsPeou9mk,2392
430
435
  maxframe/tensor/misc/ravel.py,sha256=pJkez1NHoLqVMBPm5aA8uMNFeWURTAJV_iU98Vqr-50,3173
431
436
  maxframe/tensor/misc/atleast_2d.py,sha256=wunxdRTd_2ZfAZiMt7QhOEII_f_Z8lwSgy0ncMT85eI,1958
@@ -449,8 +454,8 @@ maxframe/tensor/datasource/tests/test_datasource.py,sha256=6NWN9OgA-MioLjqhzTNIe
449
454
  maxframe/tensor/datasource/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
450
455
  maxframe/tensor/rechunk/__init__.py,sha256=pQ4vh6rNzxjIkxrWTxXjAcTDmUw3961-H1f__-lJl6A,797
451
456
  maxframe/tensor/rechunk/rechunk.py,sha256=ltvGlUQxzoHSE7bC6J6uQ8sO-YhuFpxmj8-ArJJXIoY,1392
452
- maxframe/tensor/merge/concatenate.py,sha256=qbmkhzS2_tbnXEuBJ2fnJFUObfqEKwYA6ucL7EjMlmI,3084
453
- maxframe/tensor/merge/vstack.py,sha256=J3R7-eR0wVMg0silXbwj_PkCHghn8ts0mqMlD5CgJz4,2168
457
+ maxframe/tensor/merge/concatenate.py,sha256=q0qVpizcU7E6op6D54bF4bl2eMLIJOOwb8AkG1jrDCE,3213
458
+ maxframe/tensor/merge/vstack.py,sha256=FzuynVGKkNiOXbzp4Jkde0VMxzs_FfxkxO7J0UU9nhs,2264
454
459
  maxframe/tensor/merge/__init__.py,sha256=NCuoHVwBtVUQnl8-0ph9cT5ARRn3pTdqZt76-XSvpvs,686
455
460
  maxframe/tensor/merge/stack.py,sha256=4ZMVqtJQ0nQtbtnJKTX0Z_fSUn8slLLSO56mFT-b0gE,4145
456
461
  maxframe/tensor/merge/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -596,7 +601,7 @@ maxframe/tensor/indexing/nonzero.py,sha256=JN5TyPzS1LIIjIaieXsDkffCjuq-CPBUDG3qM
596
601
  maxframe/tensor/indexing/slice.py,sha256=VbalHoaXUGulPjskcQ4PoiZQhB2q3P1R8MrGKY2MqGw,1022
597
602
  maxframe/tensor/indexing/setitem.py,sha256=ieJ1IiwT5GFNvBBEEivt_jD6bQiMSK_ZbvEAtSaUTJQ,4352
598
603
  maxframe/tensor/indexing/__init__.py,sha256=v2uUjRm0rSDyxG9IVayCDo0gKY9OQnk1Z-4PX8XQuqs,1611
599
- maxframe/tensor/indexing/getitem.py,sha256=0kdc45nf5IP-Bjb8zNdb2MzE1bdlaLSv9D6P4_Kd7wA,5548
604
+ maxframe/tensor/indexing/getitem.py,sha256=EWlP6xmVxfGn-mPDDHANEO7NiHhrnBrjXeuTg8gcfRU,5623
600
605
  maxframe/tensor/indexing/core.py,sha256=8iNHn9nObBoXyB6uhI3NHEFHMcmOn1WSPp5cC4utv2w,7022
601
606
  maxframe/tensor/indexing/unravel_index.py,sha256=jQ3KnJ8UFg5K8uLsTzIUABQXPiTiG2Kkp5VO2yVy1H4,3223
602
607
  maxframe/tensor/indexing/flatnonzero.py,sha256=T32TDhjmaMCw90RdUZA33QsIlXrL3BrclEBcRBKw4KQ,1706
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (72.1.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-cp38-macosx_10_9_universal2
5
5
 
@@ -40,7 +40,7 @@ from maxframe.protocol import (
40
40
  )
41
41
  from maxframe.tensor.core import TENSOR_TYPE
42
42
  from maxframe.typing_ import PandasObjectTypes, TileableType
43
- from maxframe.utils import ToThreadMixin
43
+ from maxframe.utils import ToThreadMixin, sync_pyodps_options
44
44
 
45
45
  _result_fetchers: Dict[ResultType, Type["ResultFetcher"]] = dict()
46
46
 
@@ -120,13 +120,15 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
120
120
 
121
121
  if tileable.shape and any(pd.isna(x) for x in tileable.shape):
122
122
  part_specs = [None] if not info.partition_specs else info.partition_specs
123
- tunnel = TableTunnel(self._odps_entry)
124
- total_records = 0
125
- for part_spec in part_specs:
126
- session = tunnel.create_download_session(
127
- info.full_table_name, part_spec
128
- )
129
- total_records += session.count
123
+
124
+ with sync_pyodps_options():
125
+ table = self._odps_entry.get_table(info.full_table_name)
126
+ tunnel = TableTunnel(self._odps_entry)
127
+ total_records = 0
128
+ for part_spec in part_specs:
129
+ session = tunnel.create_download_session(table, part_spec)
130
+ total_records += session.count
131
+
130
132
  new_shape_list = list(tileable.shape)
131
133
  new_shape_list[0] = total_records
132
134
  tileable.params = {"shape": tuple(new_shape_list)}
@@ -12,6 +12,9 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # retry consts
16
+ EMPTY_RESPONSE_RETRY_COUNT = 5
17
+
15
18
  # Restful Service
16
19
  RESTFUL_SESSION_INSECURE_SCHEME = "mf"
17
20
  RESTFUL_SESSION_SECURE_SCHEME = "mfs"