maxframe 0.1.0b3__cp311-cp311-macosx_10_9_universal2.whl → 0.1.0b5__cp311-cp311-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 (58) hide show
  1. maxframe/__init__.py +1 -0
  2. maxframe/_utils.cpython-311-darwin.so +0 -0
  3. maxframe/codegen.py +46 -1
  4. maxframe/config/config.py +14 -1
  5. maxframe/core/graph/core.cpython-311-darwin.so +0 -0
  6. maxframe/dataframe/__init__.py +6 -0
  7. maxframe/dataframe/core.py +34 -10
  8. maxframe/dataframe/datasource/read_odps_query.py +6 -2
  9. maxframe/dataframe/datasource/read_odps_table.py +5 -1
  10. maxframe/dataframe/datastore/core.py +19 -0
  11. maxframe/dataframe/datastore/to_csv.py +2 -2
  12. maxframe/dataframe/datastore/to_odps.py +2 -2
  13. maxframe/dataframe/indexing/reset_index.py +1 -17
  14. maxframe/dataframe/misc/__init__.py +4 -0
  15. maxframe/dataframe/misc/apply.py +1 -1
  16. maxframe/dataframe/misc/case_when.py +141 -0
  17. maxframe/dataframe/misc/pivot_table.py +262 -0
  18. maxframe/dataframe/misc/tests/test_misc.py +61 -0
  19. maxframe/dataframe/plotting/core.py +2 -2
  20. maxframe/dataframe/reduction/core.py +2 -1
  21. maxframe/dataframe/utils.py +7 -0
  22. maxframe/learn/contrib/utils.py +52 -0
  23. maxframe/learn/contrib/xgboost/__init__.py +26 -0
  24. maxframe/learn/contrib/xgboost/classifier.py +86 -0
  25. maxframe/learn/contrib/xgboost/core.py +156 -0
  26. maxframe/learn/contrib/xgboost/dmatrix.py +150 -0
  27. maxframe/learn/contrib/xgboost/predict.py +138 -0
  28. maxframe/learn/contrib/xgboost/regressor.py +78 -0
  29. maxframe/learn/contrib/xgboost/tests/__init__.py +13 -0
  30. maxframe/learn/contrib/xgboost/tests/test_core.py +43 -0
  31. maxframe/learn/contrib/xgboost/train.py +121 -0
  32. maxframe/learn/utils/__init__.py +15 -0
  33. maxframe/learn/utils/core.py +29 -0
  34. maxframe/lib/mmh3.cpython-311-darwin.so +0 -0
  35. maxframe/odpsio/arrow.py +10 -6
  36. maxframe/odpsio/schema.py +18 -5
  37. maxframe/odpsio/tableio.py +22 -0
  38. maxframe/odpsio/tests/test_schema.py +41 -11
  39. maxframe/opcodes.py +8 -0
  40. maxframe/serialization/core.cpython-311-darwin.so +0 -0
  41. maxframe/serialization/core.pyi +61 -0
  42. maxframe/session.py +32 -2
  43. maxframe/tensor/__init__.py +1 -1
  44. maxframe/tensor/base/__init__.py +2 -0
  45. maxframe/tensor/base/atleast_1d.py +74 -0
  46. maxframe/tensor/base/unique.py +205 -0
  47. maxframe/tensor/datasource/array.py +4 -2
  48. maxframe/tensor/datasource/scalar.py +1 -1
  49. maxframe/udf.py +63 -3
  50. maxframe/utils.py +11 -0
  51. {maxframe-0.1.0b3.dist-info → maxframe-0.1.0b5.dist-info}/METADATA +2 -2
  52. {maxframe-0.1.0b3.dist-info → maxframe-0.1.0b5.dist-info}/RECORD +58 -40
  53. maxframe_client/fetcher.py +65 -3
  54. maxframe_client/session/odps.py +41 -11
  55. maxframe_client/session/task.py +26 -53
  56. maxframe_client/tests/test_session.py +49 -1
  57. {maxframe-0.1.0b3.dist-info → maxframe-0.1.0b5.dist-info}/WHEEL +0 -0
  58. {maxframe-0.1.0b3.dist-info → maxframe-0.1.0b5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,205 @@
1
+ # Copyright 1999-2024 Alibaba Group Holding Ltd.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+
16
+ import numpy as np
17
+
18
+ from ... import opcodes as OperandDef
19
+ from ...serialization.serializables import BoolField, Int32Field
20
+ from ..core import TensorOrder
21
+ from ..operators import TensorHasInput, TensorOperatorMixin
22
+ from ..utils import validate_axis
23
+
24
+
25
+ class TensorUnique(TensorHasInput, TensorOperatorMixin):
26
+ _op_type_ = OperandDef.UNIQUE
27
+
28
+ return_index = BoolField("return_index", default=False)
29
+ return_inverse = BoolField("return_inverse", default=False)
30
+ return_counts = BoolField("return_counts", default=False)
31
+ axis = Int32Field("axis", default=None)
32
+
33
+ @property
34
+ def output_limit(self):
35
+ return 1
36
+
37
+ def _gen_kws(self, input_obj, chunk=False, chunk_index=None):
38
+ kws = []
39
+
40
+ # unique tensor
41
+ shape = list(input_obj.shape)
42
+ shape[self.axis] = np.nan
43
+ kw = {"shape": tuple(shape), "dtype": input_obj.dtype, "gpu": input_obj.op.gpu}
44
+ if chunk:
45
+ idx = [0] * len(shape)
46
+ idx[self.axis] = chunk_index or 0
47
+ kw["index"] = tuple(idx)
48
+ kws.append(kw)
49
+
50
+ # unique indices tensor
51
+ if self.return_index:
52
+ kw = {
53
+ "shape": (np.nan,),
54
+ "dtype": np.dtype(np.intp),
55
+ "gpu": input_obj.op.gpu,
56
+ "type": "indices",
57
+ }
58
+ if chunk:
59
+ kw["index"] = (chunk_index or 0,)
60
+ kws.append(kw)
61
+
62
+ # unique inverse tensor
63
+ if self.return_inverse:
64
+ kw = {
65
+ "shape": (input_obj.shape[self.axis],),
66
+ "dtype": np.dtype(np.intp),
67
+ "gpu": input_obj.op.gpu,
68
+ "type": "inverse",
69
+ }
70
+ if chunk:
71
+ kw["index"] = (chunk_index or 0,)
72
+ kws.append(kw)
73
+
74
+ # unique counts tensor
75
+ if self.return_counts:
76
+ kw = {
77
+ "shape": (np.nan,),
78
+ "dtype": np.dtype(np.int_),
79
+ "gpu": input_obj.op.gpu,
80
+ "type": "counts",
81
+ }
82
+ if chunk:
83
+ kw["index"] = (chunk_index or 0,)
84
+ kws.append(kw)
85
+
86
+ return kws
87
+
88
+ def __call__(self, ar):
89
+ from .atleast_1d import atleast_1d
90
+
91
+ ar = atleast_1d(ar)
92
+ if self.axis is None:
93
+ if ar.ndim > 1:
94
+ ar = ar.flatten()
95
+ self._axis = 0
96
+ else:
97
+ self._axis = validate_axis(ar.ndim, self._axis)
98
+
99
+ kws = self._gen_kws(self, ar)
100
+ tensors = self.new_tensors([ar], kws=kws, order=TensorOrder.C_ORDER)
101
+ if len(tensors) == 1:
102
+ return tensors[0]
103
+ return tensors
104
+
105
+
106
+ def unique(
107
+ ar,
108
+ return_index=False,
109
+ return_inverse=False,
110
+ return_counts=False,
111
+ axis=None,
112
+ ):
113
+ """
114
+ Find the unique elements of a tensor.
115
+
116
+ Returns the sorted unique elements of a tensor. There are three optional
117
+ outputs in addition to the unique elements:
118
+
119
+ * the indices of the input tensor that give the unique values
120
+ * the indices of the unique tensor that reconstruct the input tensor
121
+ * the number of times each unique value comes up in the input tensor
122
+
123
+ Parameters
124
+ ----------
125
+ ar : array_like
126
+ Input tensor. Unless `axis` is specified, this will be flattened if it
127
+ is not already 1-D.
128
+ return_index : bool, optional
129
+ If True, also return the indices of `ar` (along the specified axis,
130
+ if provided, or in the flattened tensor) that result in the unique tensor.
131
+ return_inverse : bool, optional
132
+ If True, also return the indices of the unique tensor (for the specified
133
+ axis, if provided) that can be used to reconstruct `ar`.
134
+ return_counts : bool, optional
135
+ If True, also return the number of times each unique item appears
136
+ in `ar`.
137
+ axis : int or None, optional
138
+ The axis to operate on. If None, `ar` will be flattened. If an integer,
139
+ the subarrays indexed by the given axis will be flattened and treated
140
+ as the elements of a 1-D tensor with the dimension of the given axis,
141
+ see the notes for more details. Object tensors or structured tensors
142
+ that contain objects are not supported if the `axis` kwarg is used. The
143
+ default is None.
144
+
145
+ Returns
146
+ -------
147
+ unique : Tensor
148
+ The sorted unique values.
149
+ unique_indices : Tensor, optional
150
+ The indices of the first occurrences of the unique values in the
151
+ original tensor. Only provided if `return_index` is True.
152
+ unique_inverse : Tensor, optional
153
+ The indices to reconstruct the original tensor from the
154
+ unique tensor. Only provided if `return_inverse` is True.
155
+ unique_counts : Tensor, optional
156
+ The number of times each of the unique values comes up in the
157
+ original tensor. Only provided if `return_counts` is True.
158
+
159
+ Examples
160
+ --------
161
+ >>> import maxframe.tensor as mt
162
+
163
+ >>> mt.unique([1, 1, 2, 2, 3, 3]).execute()
164
+ array([1, 2, 3])
165
+ >>> a = mt.array([[1, 1], [2, 3]])
166
+ >>> mt.unique(a).execute()
167
+ array([1, 2, 3])
168
+
169
+ Return the unique rows of a 2D tensor
170
+
171
+ >>> a = mt.array([[1, 0, 0], [1, 0, 0], [2, 3, 4]])
172
+ >>> mt.unique(a, axis=0).execute()
173
+ array([[1, 0, 0], [2, 3, 4]])
174
+
175
+ Return the indices of the original tensor that give the unique values:
176
+
177
+ >>> a = mt.array(['a', 'b', 'b', 'c', 'a'])
178
+ >>> u, indices = mt.unique(a, return_index=True)
179
+ >>> u.execute()
180
+ array(['a', 'b', 'c'],
181
+ dtype='|S1')
182
+ >>> indices.execute()
183
+ array([0, 1, 3])
184
+ >>> a[indices].execute()
185
+ array(['a', 'b', 'c'],
186
+ dtype='|S1')
187
+
188
+ Reconstruct the input array from the unique values:
189
+
190
+ >>> a = mt.array([1, 2, 6, 4, 2, 3, 2])
191
+ >>> u, indices = mt.unique(a, return_inverse=True)
192
+ >>> u.execute()
193
+ array([1, 2, 3, 4, 6])
194
+ >>> indices.execute()
195
+ array([0, 1, 4, 3, 1, 2, 1])
196
+ >>> u[indices].execute()
197
+ array([1, 2, 6, 4, 2, 3, 2])
198
+ """
199
+ op = TensorUnique(
200
+ return_index=return_index,
201
+ return_inverse=return_inverse,
202
+ return_counts=return_counts,
203
+ axis=axis,
204
+ )
205
+ return op(ar)
@@ -20,6 +20,7 @@ from ...serialization.serializables import (
20
20
  AnyField,
21
21
  FieldTypes,
22
22
  NDArrayField,
23
+ StringField,
23
24
  TupleField,
24
25
  )
25
26
  from ...utils import on_deserialize_shape, on_serialize_shape
@@ -37,8 +38,9 @@ class ArrayDataSource(TensorNoInput):
37
38
 
38
39
  _op_type_ = opcodes.TENSOR_DATA_SOURCE
39
40
 
40
- data = NDArrayField("data")
41
- chunk_size = AnyField("chunk_size")
41
+ data = NDArrayField("data", default=None)
42
+ chunk_size = AnyField("chunk_size", default=None)
43
+ order = StringField("order", default=None)
42
44
 
43
45
  def __init__(self, data=None, dtype=None, gpu=None, **kw):
44
46
  if dtype is not None:
@@ -33,7 +33,7 @@ class Scalar(TensorNoInput):
33
33
  def scalar(data, dtype=None, gpu=None):
34
34
  try:
35
35
  arr = np.array(data, dtype=dtype)
36
- op = Scalar(arr, dtype=arr.dtype, gpu=gpu)
36
+ op = Scalar(data=arr, dtype=arr.dtype, gpu=gpu)
37
37
  shape = ()
38
38
  return op(shape)
39
39
  except ValueError:
maxframe/udf.py CHANGED
@@ -12,21 +12,51 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ import shlex
15
16
  from typing import Callable, List, Optional, Union
16
17
 
17
18
  from odps.models import Resource
18
19
 
19
20
  from .serialization.serializables import (
21
+ BoolField,
20
22
  FieldTypes,
21
23
  FunctionField,
22
24
  ListField,
23
25
  Serializable,
26
+ StringField,
24
27
  )
28
+ from .utils import tokenize
29
+
30
+
31
+ class PythonPackOptions(Serializable):
32
+ key = StringField("key")
33
+ requirements = ListField("requirements", FieldTypes.string, default_factory=list)
34
+ force_rebuild = BoolField("force_rebuild", default=False)
35
+ prefer_binary = BoolField("prefer_binary", default=False)
36
+ pre_release = BoolField("pre_release", default=False)
37
+ pack_instance_id = StringField("pack_instance_id", default=None)
38
+
39
+ def __init__(self, key: str = None, **kw):
40
+ super().__init__(key=key, **kw)
41
+ if self.key is None:
42
+ args = {
43
+ "force_rebuild": self.force_rebuild,
44
+ "prefer_binary": self.prefer_binary,
45
+ "pre_release": self.pre_release,
46
+ }
47
+ self.key = tokenize(set(self.requirements), args)
48
+
49
+ def __repr__(self):
50
+ return (
51
+ f"<PythonPackOptions {self.requirements} force_rebuild={self.force_rebuild} "
52
+ f"prefer_binary={self.prefer_binary} pre_release={self.pre_release}>"
53
+ )
25
54
 
26
55
 
27
56
  class MarkedFunction(Serializable):
28
57
  func = FunctionField("func")
29
58
  resources = ListField("resources", FieldTypes.string, default_factory=list)
59
+ pythonpacks = ListField("pythonpacks", FieldTypes.reference, default_factory=list)
30
60
 
31
61
  def __init__(self, func: Optional[Callable] = None, **kw):
32
62
  super().__init__(func=func, **kw)
@@ -54,13 +84,39 @@ def with_resources(*resources: Union[str, Resource], use_wrapper_class: bool = T
54
84
  def func_wrapper(func):
55
85
  str_resources = [res_to_str(r) for r in resources]
56
86
  if not use_wrapper_class:
57
- func.resources = str_resources
87
+ existing = getattr(func, "resources") or []
88
+ func.resources = existing + str_resources
89
+ return func
90
+
91
+ if isinstance(func, MarkedFunction):
92
+ func.resources = func.resources + str_resources
58
93
  return func
94
+ return MarkedFunction(func, resources=str_resources)
95
+
96
+ return func_wrapper
97
+
98
+
99
+ def with_python_requirements(
100
+ *requirements: str,
101
+ force_rebuild: bool = False,
102
+ prefer_binary: bool = False,
103
+ pre_release: bool = False,
104
+ ):
105
+ result_req = []
106
+ for req in requirements:
107
+ result_req.extend(shlex.split(req))
59
108
 
109
+ def func_wrapper(func):
110
+ pack_item = PythonPackOptions(
111
+ requirements=requirements,
112
+ force_rebuild=force_rebuild,
113
+ prefer_binary=prefer_binary,
114
+ pre_release=pre_release,
115
+ )
60
116
  if isinstance(func, MarkedFunction):
61
- func.resources = str_resources
117
+ func.pythonpacks.append(pack_item)
62
118
  return func
63
- return MarkedFunction(func, resources=list(str_resources))
119
+ return MarkedFunction(func, pythonpacks=[pack_item])
64
120
 
65
121
  return func_wrapper
66
122
 
@@ -72,3 +128,7 @@ def get_udf_resources(
72
128
  func: Callable,
73
129
  ) -> List[Union[Resource, str]]:
74
130
  return getattr(func, "resources", None) or []
131
+
132
+
133
+ def get_udf_pythonpacks(func: Callable) -> List[PythonPackOptions]:
134
+ return getattr(func, "pythonpacks", None) or []
maxframe/utils.py CHANGED
@@ -381,6 +381,11 @@ def build_temp_table_name(session_id: str, tileable_key: str) -> str:
381
381
  return f"tmp_mf_{session_id}_{tileable_key}"
382
382
 
383
383
 
384
+ def build_temp_intermediate_table_name(session_id: str, tileable_key: str) -> str:
385
+ temp_table = build_temp_table_name(session_id, tileable_key)
386
+ return f"{temp_table}_intermediate"
387
+
388
+
384
389
  def build_session_volume_name(session_id: str) -> str:
385
390
  return f"mf_vol_{session_id}"
386
391
 
@@ -1101,3 +1106,9 @@ def get_python_tag():
1101
1106
  # todo add implementation suffix for non-GIL tags when PEP703 is ready
1102
1107
  version_info = sys.version_info
1103
1108
  return f"cp{version_info[0]}{version_info[1]}"
1109
+
1110
+
1111
+ def get_item_if_scalar(val: Any) -> Any:
1112
+ if isinstance(val, np.ndarray) and val.shape == ():
1113
+ return val.item()
1114
+ return val
@@ -1,10 +1,10 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maxframe
3
- Version: 0.1.0b3
3
+ Version: 0.1.0b5
4
4
  Summary: MaxFrame operator-based data analyze framework
5
5
  Requires-Dist: numpy >=1.19.0
6
6
  Requires-Dist: pandas >=1.0.0
7
- Requires-Dist: pyodps >=0.11.5
7
+ Requires-Dist: pyodps >=0.11.6.1
8
8
  Requires-Dist: scipy >=1.0
9
9
  Requires-Dist: pyarrow >=1.0.0
10
10
  Requires-Dist: msgpack >=1.0.0
@@ -1,44 +1,44 @@
1
- maxframe-0.1.0b3.dist-info/RECORD,,
2
- maxframe-0.1.0b3.dist-info/WHEEL,sha256=eupBwbXGAhwNAPJSvj5BiShZwdZO8jnQ5yHfv-9aUGw,115
3
- maxframe-0.1.0b3.dist-info/top_level.txt,sha256=64x-fc2q59c_vXwNUkehyjF1vb8JWqFSdYmUqIFqoTM,31
4
- maxframe-0.1.0b3.dist-info/METADATA,sha256=056zhE5bxFHo_1CAOnpi1A2Ov1JI8hg435HsygF02lA,3043
1
+ maxframe-0.1.0b5.dist-info/RECORD,,
2
+ maxframe-0.1.0b5.dist-info/WHEEL,sha256=eupBwbXGAhwNAPJSvj5BiShZwdZO8jnQ5yHfv-9aUGw,115
3
+ maxframe-0.1.0b5.dist-info/top_level.txt,sha256=64x-fc2q59c_vXwNUkehyjF1vb8JWqFSdYmUqIFqoTM,31
4
+ maxframe-0.1.0b5.dist-info/METADATA,sha256=cnNixA7GoFVbe5XauylcYj_NQVLErMPn_5uoJnSO5w8,3045
5
5
  maxframe_client/conftest.py,sha256=7cwy2sFy5snEaxvtMvxfYFUnG6WtYC_9XxVrwJxOpcU,643
6
6
  maxframe_client/__init__.py,sha256=3b-z0oFVVwtIzVFBxOb9pw7gz4IhTSh4FiHtVgnxS4Q,724
7
- maxframe_client/fetcher.py,sha256=Ys_qu2qtniXuj9YSfeHvevdrAAEgm8k4YjyoZusdVmg,6813
7
+ maxframe_client/fetcher.py,sha256=p2hsVE2ihvhtuVCAaJhKccCiebl5f6BBPN6KIXOO0jo,8949
8
8
  maxframe_client/clients/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
9
9
  maxframe_client/clients/spe.py,sha256=ArZMNQ7olicI4O1JO7CyRP7-hb60DF71ZKCTO0N39uE,3593
10
10
  maxframe_client/clients/framedriver.py,sha256=Rn09529D2qBTgNGc0oCY0l7b3FgzT87TqS1nujGQaHw,4463
11
- maxframe_client/tests/test_session.py,sha256=75mxU5UTWjb1loQLo9BAkg7BzKuj4vYX49j4vP1-8fA,6307
11
+ maxframe_client/tests/test_session.py,sha256=0G522Ia05fFuBJv6b6UTIxTNot3QK1Kjte6Xiimhouc,7884
12
12
  maxframe_client/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
13
13
  maxframe_client/tests/test_fetcher.py,sha256=q7kYCznM6WSxx9TCbHrxs7Zy1L2a5zu9D-Pi1XNgQzg,3516
14
- maxframe_client/session/task.py,sha256=z5j8qtBM6cs_lZrvfy4Ji3F3sVOhPOCr5r1RsNe7rN4,11102
14
+ maxframe_client/session/task.py,sha256=ec6AWeXBe_Q-Lats5ZW4V4J9qWokeq-ccBiAulCXpF8,10165
15
15
  maxframe_client/session/graph.py,sha256=nwILNOIVaIf4E3xWffTAAlRsKRYU_zGW3oVO10du8Xw,4351
16
16
  maxframe_client/session/__init__.py,sha256=KPqhSlAJiuUz8TC-z5o7mHDVXzLSqWwrZ33zNni7piY,832
17
17
  maxframe_client/session/consts.py,sha256=R37BxDF3kgCy0qmDdwLaH5jB7mb7SzfYV6g9yHBKAwk,1344
18
- maxframe_client/session/odps.py,sha256=uuPk5rc1OpFk9PNFU1R6r4HQXOHAOU7ZVvbcdGk_N_s,16248
18
+ maxframe_client/session/odps.py,sha256=wIclE3cV2Awled2UiLUwATxsjc_fWFfbaW1UUcrmHCU,17526
19
19
  maxframe_client/session/tests/test_task.py,sha256=lDdw3gToaM3xSaRXEmHUoAo2h0id7t4v_VvpdKxQAao,3279
20
20
  maxframe_client/session/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
21
21
  maxframe/_utils.pyx,sha256=I4kmfhNr-xXK2ak22dr4Vwahzn-JmTaYctbL3y9_UBQ,17017
22
22
  maxframe/conftest.py,sha256=ZzwKhGp7LAVpzQYJkniwIUQqIegcaDQAhyzDyU2qld4,4264
23
- maxframe/_utils.cpython-311-darwin.so,sha256=w63XnnRUqgR7VBZSPDcknXdLS1b4D10cTL5378MMcb0,914505
24
- maxframe/opcodes.py,sha256=L1_GGenexNnD4dk1ueelgpAebHCC-cY7d--1QPhw8l4,9984
23
+ maxframe/_utils.cpython-311-darwin.so,sha256=layPm-u4HKgkCoinaPOJu7QYbxhkBqfmcTcG4sqZ5Pc,846720
24
+ maxframe/opcodes.py,sha256=1Da6d3a82mecIHmnyZve4gSH_KN-q3Snl0nSygue2Ng,10191
25
25
  maxframe/env.py,sha256=_K499f7giN7Iu9f39iI9p_naaEDoJ0rx8dInbzqFOVI,1402
26
26
  maxframe/mixin.py,sha256=HBAeWYGb7N6ZIgkA-YpkKiSY1GetcEVNTuMb0ieznBs,3524
27
27
  maxframe/protocol.py,sha256=LjjE6iw0ZVx82tBMbff4izkGuiJxRG0MTOaPYYpRL10,14190
28
- maxframe/session.py,sha256=TspAq0EUhi-7VQb1kAuQyjhpX8vMYqgdk4vzbGCkJcY,35344
29
- maxframe/__init__.py,sha256=YGnga-nYEppPoDZoZ5s64PZ0RYLaWtcYtmYSLTjKUBE,976
30
- maxframe/utils.py,sha256=BrMJLO0-iPKABkNztXWpqiQWHoe-X75HGiCJr5aeles,33914
28
+ maxframe/session.py,sha256=o2jp5NQP1pVMkp4AujN_3DB1HffZ0rMd5EbYZiLJxls,36205
29
+ maxframe/__init__.py,sha256=SqTFS_1o2HDuVY1mhS0ELlqDuM-biwM_MN0EYGkJLf0,1004
30
+ maxframe/utils.py,sha256=b4CvX6vh3AXmQKHQaxYIDtebJ4l6hMrTO_HqETwkVG0,34244
31
31
  maxframe/extension.py,sha256=4IzF9sPyaRoAzLud0iDLooOgcyq4QunXH0ki3q9Hn8I,2374
32
32
  maxframe/errors.py,sha256=nQZoLGdLJz-Uf9c2vUvQl08QMvRqtkBOhKfdPYRZA4o,690
33
- maxframe/udf.py,sha256=tWOMTkNqGWw3ZpNC9wEU0GGNSBV8sV7E-Ye80DI28eg,2241
33
+ maxframe/udf.py,sha256=-FzQCuV0GNyo3SH1r3rPQ3QMAydhYtE7KI8ff4Mv_PU,4288
34
34
  maxframe/typing_.py,sha256=fzHETru3IOZAJwU9I7n_ib3wHuQRJ9XFVmAk7WpqkMo,1096
35
- maxframe/codegen.py,sha256=pSiGHoEo9YajFPHbFHvi7fGkiJmAQdBCe0mMXNOG6-U,15846
35
+ maxframe/codegen.py,sha256=B0y-bFXgze2CMUnAfrdOXsPrByyEAbq7pgio3mHl_j8,17516
36
36
  maxframe/_utils.pxd,sha256=AhJ4vA_UqZqPshi5nvIZq1xgr80fhIVQ9dm5-UdkYJ8,1154
37
37
  maxframe/dataframe/arrays.py,sha256=RWzimUcrds5CsIlPausfJAkLUjcktBSSXwdXyUNKEtU,28752
38
- maxframe/dataframe/__init__.py,sha256=tpbt4OgW4hoU_1OsQu1WSxbpZD4YPXW_oT4xOxNPNqE,2112
39
- maxframe/dataframe/core.py,sha256=mJ5I_qBP8HDAzlwPnkj8RN4EyBHC8d5unbe2LC6HKXg,73641
38
+ maxframe/dataframe/__init__.py,sha256=T08TZjNg2yWh7RmI0hX9PiBTlD5e9L_s3KnKsSLnBFA,2237
39
+ maxframe/dataframe/core.py,sha256=b27b0XomeqISCPxltavESlueTTYEXF5wjtrTKEZtld4,74413
40
40
  maxframe/dataframe/initializer.py,sha256=4BpZJB8bbyFnABUYWBrk_qzzrogEsWgFuU21Ma9IsjY,10264
41
- maxframe/dataframe/utils.py,sha256=qWRo51rcMTlo4mvZ8ZZq1zIF9CiAgU1qRtoCAaYrR34,44111
41
+ maxframe/dataframe/utils.py,sha256=uaRpQp5Lciow-9UBDnuUacYvi4erJgyvTDnQziRDkFU,44272
42
42
  maxframe/dataframe/operators.py,sha256=T7Ik1shfoyrMZ1x0wHXG26bsod1_YjMGQgGAFNpH6k0,7871
43
43
  maxframe/dataframe/statistics/corr.py,sha256=r9EwD6mqvlm3loEXr3ElS4XIr2NETfmTjC9V1fh4GW8,9495
44
44
  maxframe/dataframe/statistics/quantile.py,sha256=eH-kAg-SZ5JdI8K3P6p9gNeDu4cbJaUC3Dt-zoCoTv0,11713
@@ -49,15 +49,17 @@ maxframe/dataframe/misc/accessor.py,sha256=QXjV5Q6LW0KNs67X5h2bCBhwHV8R7riP6TmTY
49
49
  maxframe/dataframe/misc/describe.py,sha256=Qvmv_5rj-fk_ABcS5h8IxNHY-EAPB1rG446LiB1MRgU,4387
50
50
  maxframe/dataframe/misc/astype.py,sha256=OkGDO6PBZli46m0kKq0BOO2OOwJWEyatzeBFV_mnKz8,7797
51
51
  maxframe/dataframe/misc/to_numeric.py,sha256=gG5fxEtC71SkDeHaJ0Vd1JZrIM8gMHGFaiwyFtMwbWs,6262
52
+ maxframe/dataframe/misc/case_when.py,sha256=CqR8YRc7PKja3dUdPxe8nd7oAcZrvHAPJvdzlj9wZT0,4851
52
53
  maxframe/dataframe/misc/check_monotonic.py,sha256=apHehWNRUTuzux3hI4JflWiuvpaeEFwtpPTWVide7wU,2422
53
54
  maxframe/dataframe/misc/datetimes.py,sha256=fgLczaX-yDdairnNW1EsabEzoioP5gUsO0ukYANisLE,2503
54
55
  maxframe/dataframe/misc/string_.py,sha256=eG4uMA6ScB0Pfby6pBLH24Ln01Aai2aAn-hMyRM5YFo,8101
55
56
  maxframe/dataframe/misc/cut.py,sha256=aB8iuk6k2W3G2S3j0jPsryvBhOmaQJSZGIpZ5u1rWbs,13905
56
57
  maxframe/dataframe/misc/get_dummies.py,sha256=q4f-1RCw-WWz53bT2FseYyzBNV3pDJTKNBKFx0dd888,7087
57
- maxframe/dataframe/misc/__init__.py,sha256=kamgMA40Ojt_fcrCvxOoS8TjRg4vqnvLfCRXN1zb1mE,5107
58
+ maxframe/dataframe/misc/__init__.py,sha256=U1p-l0iC1dbh7WLv5kVPelXqK7tb00LJvtu_H7GdtGA,5267
58
59
  maxframe/dataframe/misc/qcut.py,sha256=De8kM1FfOWMEDvRNWRaupSHBRGLaOVrtGbLmtHAZvOg,3737
59
60
  maxframe/dataframe/misc/pct_change.py,sha256=dNvj5VDPndRqc8lPweWcTiSz4p4oSibeQ2yxCVusLpI,4586
60
61
  maxframe/dataframe/misc/duplicated.py,sha256=JPtBDLaxlVUqFBU3U3bqGnKQNaOcKwS5sdVfBFJt-Uo,8534
62
+ maxframe/dataframe/misc/pivot_table.py,sha256=YoKjjtOw2Z6KU3q3opAFag1gICz5Kc_VIcKNs3ur62A,9520
61
63
  maxframe/dataframe/misc/map.py,sha256=RbUi0xPzT0hnsKid5RA5uHYyTeBnpzXlukR48Ntooxk,8149
62
64
  maxframe/dataframe/misc/memory_usage.py,sha256=JN4x0ObjG7JP84ZMLRaQR8_-Eplg2_YxfJgi7XGM310,7897
63
65
  maxframe/dataframe/misc/isin.py,sha256=POBR3Gvwlu2TH1AWWvKW12XOlu8HF2dJuBCBbOHgq74,6931
@@ -74,8 +76,8 @@ maxframe/dataframe/misc/eval.py,sha256=-2svFR5uraqnzKeCS2bJRx5POHRxqST2lbk6qzee7
74
76
  maxframe/dataframe/misc/value_counts.py,sha256=ds3EVCs0jL1hcTWREzPgb7-20ezcYSNvu9ZtCYqrvfk,5492
75
77
  maxframe/dataframe/misc/select_dtypes.py,sha256=xEdLNun58kvp-Vbl3u2cr8kaXFG8GsIU2BMfo7tFCM8,3144
76
78
  maxframe/dataframe/misc/drop.py,sha256=-RHIQWek2LUTK8lOILNpCWYftCY3-I3DHSP0XT4uHBc,13029
77
- maxframe/dataframe/misc/apply.py,sha256=oosZiAzYzFpsNPAPT78zT4x3UwjAjCV5yNJo_go5XP4,23360
78
- maxframe/dataframe/misc/tests/test_misc.py,sha256=cbOwyWXzNwSF79PhDXHQMTjxAfrYcr5XpQL9NvLQQzc,12965
79
+ maxframe/dataframe/misc/apply.py,sha256=BTszTrgGDNATweYogT_0_hKyPF1A2xYVQGF81DYQLb4,23366
80
+ maxframe/dataframe/misc/tests/test_misc.py,sha256=Loi_HGVRe248yL7DI-5dAPR5eaJtPIXdaodFh8-fsOU,15142
79
81
  maxframe/dataframe/misc/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
80
82
  maxframe/dataframe/datasource/index.py,sha256=D7PcfIWS-6Hv1-8o6adNesditOAa9kb4JOQK1WlqNDQ,4401
81
83
  maxframe/dataframe/datasource/read_csv.py,sha256=cpp6kX0DVrqY0KticL1h11tckobSzz1gyK4Sf2puUjo,24140
@@ -83,10 +85,10 @@ maxframe/dataframe/datasource/from_index.py,sha256=2061zsQn-BhyHTT0X9tE0JK8vLxQU
83
85
  maxframe/dataframe/datasource/dataframe.py,sha256=LxAKF4gBIHhnJQPuaAUdIEyMAq7HTfiEeNVls5n4I4A,2023
84
86
  maxframe/dataframe/datasource/series.py,sha256=QcYiBNcR8jjH6vdO6l6H9F46KHmlBqVCTI2tv9eyZ9w,1909
85
87
  maxframe/dataframe/datasource/__init__.py,sha256=C8EKsHTJi-1jvJUKIpZtMtsK-ZID3dtxL1voXnaltTs,640
86
- maxframe/dataframe/datasource/read_odps_query.py,sha256=nj8l38S0iVAXgNXgzDFERO-HNp6lJ1GahImwDpEzXXw,9821
88
+ maxframe/dataframe/datasource/read_odps_query.py,sha256=CP7krcDLWrjReaQVIzr4FF4pI54D02aE0UXFYY89DFE,9970
87
89
  maxframe/dataframe/datasource/core.py,sha256=ozFmDgw1og7nK9_jU-u3tLEq9pNbitN-8w8XWdbKkJ0,2687
88
90
  maxframe/dataframe/datasource/date_range.py,sha256=CDGpxDyjLwnb66j-MIiiTfXGXHGh5MLhEmj6x2riIlU,17244
89
- maxframe/dataframe/datasource/read_odps_table.py,sha256=VCqWxJswcjujVoUNXb2kbTkOZroMkFCg5n272Yn7ME4,9045
91
+ maxframe/dataframe/datasource/read_odps_table.py,sha256=UThcVjHKvt3GtNNd4zSEee3m87pKt9ngeksTvQSfH9k,9172
90
92
  maxframe/dataframe/datasource/read_parquet.py,sha256=9auOcy8snTxCOohgXZCUXfT_O39irdkBngZH5svgx0E,14531
91
93
  maxframe/dataframe/datasource/from_tensor.py,sha256=4viuN5SLLye7Xeb8kouOpm-osoQ2yEovWTDNPQuW8gE,14727
92
94
  maxframe/dataframe/datasource/from_records.py,sha256=WBYouYyg7m_8NJdN-yUWSfJlIpm6DVP3IMfLXZFugyI,3442
@@ -138,8 +140,9 @@ maxframe/dataframe/groupby/apply.py,sha256=gZVHN8nMXoy7BEHTBAVLQKtGicQ_jB3dsny8j
138
140
  maxframe/dataframe/groupby/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
139
141
  maxframe/dataframe/groupby/tests/test_groupby.py,sha256=VsHDG-UaZUXlZ1l498y44ecfzJJ9D2oY4QmPCjS6wBs,12142
140
142
  maxframe/dataframe/datastore/__init__.py,sha256=Ujd4ix4UJ7Zq-sV2pXTRDvZkKUvtt8sr-FfiUoi6Kh4,784
141
- maxframe/dataframe/datastore/to_csv.py,sha256=VUTocKlrDVyOs3Cvve9NwHtiKNJ2sQTnYnG11ML3kxE,7799
142
- maxframe/dataframe/datastore/to_odps.py,sha256=h8WOZ759Q9aHw8HdCAws0T979_SYXuSP5NcUgT2cTPw,5614
143
+ maxframe/dataframe/datastore/core.py,sha256=hLGhqYxX73tq9sOFxMyYBRMawTnsVQqluW5FcE3YHfE,743
144
+ maxframe/dataframe/datastore/to_csv.py,sha256=xVfpEsicD5A5uXLSdCN08K8uGyWB4QxnRcAbgBVUzbs,7747
145
+ maxframe/dataframe/datastore/to_odps.py,sha256=wZzD3yc6YQAGYVwEzYY-qxscn8Sj9I43lR70tFHe3m0,5562
143
146
  maxframe/dataframe/fetch/__init__.py,sha256=E3VjxLRKjtr-D__K-c0aRETvBG7CQRG1iEtH0Qghq0s,653
144
147
  maxframe/dataframe/fetch/core.py,sha256=z61_orBtOIrKFpFdJTNqyPhOw5ZCGe6QkXnDrGdMy6U,3338
145
148
  maxframe/dataframe/reduction/max.py,sha256=CqaueIN3cuF7vlE2rt2MAcXAD3Syd_R8W2dzcFhTmV0,1660
@@ -152,7 +155,7 @@ maxframe/dataframe/reduction/unique.py,sha256=Dhghnf9mvgS8p-ETJUlhfJajBEyVZPBp1I
152
155
  maxframe/dataframe/reduction/std.py,sha256=PYeh6-yton9vUI8D-dTlnXsWKCi-uDpop4UExmay7Ec,1355
153
156
  maxframe/dataframe/reduction/str_concat.py,sha256=wbb4Y4ZDyou_ixR6ukJ8wQw74nzI05tToNWaWSirbSA,1657
154
157
  maxframe/dataframe/reduction/__init__.py,sha256=ZadA_lXtrr1nQyb6vJrv_eb82bXiiiDHIn93F4O9-AU,4190
155
- maxframe/dataframe/reduction/core.py,sha256=FRPxxSFfLhNRiu5W3e7mUwsXBtWsOgcs5AMCbaZrybU,30329
158
+ maxframe/dataframe/reduction/core.py,sha256=ftArRDiA3mmj9AjBdR04BXmuHskZtgUqB5N8gJbHN9U,30395
156
159
  maxframe/dataframe/reduction/all.py,sha256=h3Y04RJ-mTxAggX1-BIpuiyhNofQEkBzsAxKOX--kv0,1966
157
160
  maxframe/dataframe/reduction/cummin.py,sha256=CA9wjhx_ZFfk6b3KbbDykWZiyXsfwLBUODKn36WuGug,1013
158
161
  maxframe/dataframe/reduction/min.py,sha256=8Kh07yoTRWaCWGKxZ4a64_tlIljR8GsjlbwdsjNmPTw,1660
@@ -170,7 +173,7 @@ maxframe/dataframe/reduction/reduction_size.py,sha256=5wGc5cyuUllewvKPeJargbEjuz
170
173
  maxframe/dataframe/reduction/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
171
174
  maxframe/dataframe/reduction/tests/test_reduction.py,sha256=IMxAoGHMtz_54UNFO-_nmsNvq0-fuVZcxmf5sOAIyWs,17227
172
175
  maxframe/dataframe/plotting/__init__.py,sha256=JShRu5lSUAfwgTFUMxQoIqiH1gg9H5cieoRyg4ybieA,1393
173
- maxframe/dataframe/plotting/core.py,sha256=-Ei1ZMQbaTSC6tk8olHmoLuxL7C7NbhKQ6gnSpBuHFw,2193
176
+ maxframe/dataframe/plotting/core.py,sha256=kvAM1ikU4SsFhvhmpOTQVTs2EX4ypAgNnjD9Jqy3xyA,2233
174
177
  maxframe/dataframe/plotting/tests/test_plotting.py,sha256=IKAOcG0LotMGZCrvDzWiHmoFXqtyrVDn87eIOdyg6Ho,4118
175
178
  maxframe/dataframe/plotting/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
176
179
  maxframe/dataframe/window/aggregation.py,sha256=ncdJavwZcj6LWfF_W9wWUWAIjOxu7DOEEW16y5EQCF4,3794
@@ -233,7 +236,7 @@ maxframe/dataframe/arithmetic/radians.py,sha256=pSq9S0KlV0Xx0vGSdxdol3348dSyYuxG
233
236
  maxframe/dataframe/arithmetic/sin.py,sha256=zgWoijVpASlkZ7cnZZxKSSHUiLqQ0pKUAIOHEfCBubc,915
234
237
  maxframe/dataframe/arithmetic/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
235
238
  maxframe/dataframe/arithmetic/tests/test_arithmetic.py,sha256=Zm0hwTo_NqFAa3iDmYF2Q10-884d8ltOsby2WjcioBA,24372
236
- maxframe/dataframe/indexing/reset_index.py,sha256=pdLv7YwyY-lMGg4qegGmRzu-MLNjg--xESZ4jeDcl1I,13992
239
+ maxframe/dataframe/indexing/reset_index.py,sha256=uzGszHfkhwZgZtEaygy5UPrvHPNPXgWZaTOXdNxGBT8,13122
237
240
  maxframe/dataframe/indexing/iat.py,sha256=ANURJ8qn_UitgM01gDPeaQOlSBxbk0pmN4Yr-iPRXM8,1127
238
241
  maxframe/dataframe/indexing/loc.py,sha256=ZmiK3a2f-krkXFvNLSlzRRa6GWGiAAXk_3mWZC_MqdQ,14845
239
242
  maxframe/dataframe/indexing/align.py,sha256=BdrfIrf6A7v8W0GIuv1mdx87CzR15ARnqIH_aWUjWqY,12089
@@ -254,7 +257,19 @@ maxframe/dataframe/indexing/reindex.py,sha256=mrDBxDZwbaqhjwy_fWGRtWI6MhJ6O1sR1A
254
257
  maxframe/dataframe/indexing/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
255
258
  maxframe/dataframe/indexing/tests/test_indexing.py,sha256=AcvF_exYVA6pf2giNzSAYfjAODbf207UtKSpTG68ssQ,15611
256
259
  maxframe/learn/__init__.py,sha256=ii-8fJO-ubA3wRej1S1jXsb62zrS5MaAWc2gqQAAHFw,632
260
+ maxframe/learn/utils/__init__.py,sha256=zpkZ-HBwv91vyMeBVs59J_u0uVQCXUkEzo_pW2h9q00,646
261
+ maxframe/learn/utils/core.py,sha256=_tskQMfdvr5VAV68fDzM0DSVF2S7SMDnNXA8j_gHmGI,1029
257
262
  maxframe/learn/contrib/__init__.py,sha256=WvCqsncQZKtDURfK8ma9GoPHVVK02yW2ueom_kBMl44,632
263
+ maxframe/learn/contrib/utils.py,sha256=k5jlwY8pru_PD8olOBOsMcBLeo31NMx53TjJmSvbvy8,1662
264
+ maxframe/learn/contrib/xgboost/classifier.py,sha256=IXNuAGtJMfZstcQoOyWUogZQsRvzRsBGp-gge-mqQsA,2936
265
+ maxframe/learn/contrib/xgboost/dmatrix.py,sha256=uZI3KxXZ7fa1SQ8dRs_ZTFpyNNt0ZmM4SR-WRkIvkjk,4856
266
+ maxframe/learn/contrib/xgboost/predict.py,sha256=yMV_wF3Cbx1PdZOjoy4mkVYnTQApmaC3ORK_9J8KicQ,4664
267
+ maxframe/learn/contrib/xgboost/__init__.py,sha256=kbYrokjDXjMBqRka5NTkUjU5zrNUoT_TkTyuW9G5s-0,899
268
+ maxframe/learn/contrib/xgboost/core.py,sha256=uilXCgjYuDKpxLNGkB5g-TDGijJ6EqnEvfXoEFC0JNQ,5194
269
+ maxframe/learn/contrib/xgboost/train.py,sha256=YkNTzyaxj_s9G-F2h0GX5L12PkJwOpcaTJX_R6DCQMQ,3958
270
+ maxframe/learn/contrib/xgboost/regressor.py,sha256=vAQHM2RQ3hKhQz3cqQ0twXpIDAkVOS9u4ivsQ5hX5dY,2532
271
+ maxframe/learn/contrib/xgboost/tests/test_core.py,sha256=0Q3A1EFW30vsQLl7bSTTuw-ldlLEO43ljVSJBb8j1LM,1406
272
+ maxframe/learn/contrib/xgboost/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
258
273
  maxframe/learn/contrib/pytorch/run_script.py,sha256=Joh0gwukGf3kqfBYRxL34hQjbULT6s3vNnmBdJ6NZP0,3111
259
274
  maxframe/learn/contrib/pytorch/__init__.py,sha256=koagbwLwH1VNLTWYx29ckatBChZ_f9wFcflB4tGYYwg,687
260
275
  maxframe/learn/contrib/pytorch/run_function.py,sha256=oMDMVqDFQJ5d8DllZrqqRmBT2lx1cTmAv0hdQlO2GrY,3244
@@ -273,7 +288,7 @@ maxframe/core/entity/objects.py,sha256=RMHLTGbIHZNxxX59lAuQydAKcR32qKleIYUqdElGS
273
288
  maxframe/core/entity/fuse.py,sha256=47U6MHRzA2ZvUi-kJb7b3mC_gN07x3yebBgX2Jj7VZo,2277
274
289
  maxframe/core/entity/chunks.py,sha256=yNSLCWOpA_Z6aGr6ZI32dIJf3xPdRBWbvdsl8sTM3BE,2134
275
290
  maxframe/core/graph/__init__.py,sha256=rnsXwW0ouh1f7SVtq73-PzLE-MBM6Op_0l6J7b7wGRE,821
276
- maxframe/core/graph/core.cpython-311-darwin.so,sha256=ZQC1SHeTXYili0orSIV_iKsBdW9-IOVPxdKyx7DqTkc,731943
291
+ maxframe/core/graph/core.cpython-311-darwin.so,sha256=hpIhFDVANuEINJNvRXobcuURhuggp_Dnybu_SDcpPK4,685792
277
292
  maxframe/core/graph/entity.py,sha256=56gjXyDXN-TTPm3AQOxuRVQbb_fguKFDL_Xm7i95XEk,5559
278
293
  maxframe/core/graph/core.pyx,sha256=ZJPx_MTOBMaX-6mns6tAiu-wrIBvRAKN44YAGTypJ1Y,15887
279
294
  maxframe/core/graph/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -294,7 +309,7 @@ maxframe/core/operator/fuse.py,sha256=0RGemF99gQCwV4aEk-K6T5KAGToO-487dFk8LyYDIZ
294
309
  maxframe/core/operator/base.py,sha256=nxuSKjbBzDrItM9PGmFo8RLwParazu525jMLWj0kXkM,15251
295
310
  maxframe/core/operator/tests/test_core.py,sha256=57aICnc5VLqdVK7icAORTWC81bSjBxeeVWIJcha9J_0,1691
296
311
  maxframe/core/operator/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
297
- maxframe/config/config.py,sha256=3lQj99eMGg9MBW1gMJAdGFD88UEcdZf71sHgAHXASAk,13045
312
+ maxframe/config/config.py,sha256=Uhwf6SqtMCRDVvif76lFEiGiYrIlUF97JbpVkOzHpic,13576
298
313
  maxframe/config/validators.py,sha256=2m9MrkjDUFiU4PPaWIw8tjwMaOy8AYmuJFqVnnY8IMY,1615
299
314
  maxframe/config/__init__.py,sha256=g5lN3nP2HTAXa6ExGxU1NwU1M9ulYPmAcsV-gU7nIW8,656
300
315
  maxframe/config/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -303,12 +318,13 @@ maxframe/config/tests/test_config.py,sha256=Cx3buKli4F77zwJaB-vnUSlE9LUbt3ObHW38
303
318
  maxframe/serialization/exception.py,sha256=TIlEDiuYwVgYkN4Se0ydXn2KzEJy4Yv8w2XwlTBqDdM,3027
304
319
  maxframe/serialization/core.pxd,sha256=51XCBozW9j_E0sBgyYkHf5xNfqCMJb36Fwm_Pxv_rZs,1303
305
320
  maxframe/serialization/pandas.py,sha256=D4_H4KjAl8DRQtODh9VBP94yB8ce1cYQUKrzXtn10KE,7147
321
+ maxframe/serialization/core.pyi,sha256=tU0i8Xtb5pW4NjSxylhCY3h5pDZx4uRmBb8Juk1CDdE,1922
306
322
  maxframe/serialization/arrow.py,sha256=VnGxNLU9UV_cUPTze43bEFCIbYLAOZnp2pAwVJbAIzQ,3418
307
323
  maxframe/serialization/__init__.py,sha256=9eSnoDww1uw2DAXEBBTB2atJQHzd-38XVxrCkoaypxA,921
308
324
  maxframe/serialization/maxframe_objects.py,sha256=R9WEjbHL0Kr56OGkYDU9fcGi7gII6fGlXhi6IyihTsM,1365
309
325
  maxframe/serialization/numpy.py,sha256=8_GSo45l_eNoMn4NAGEb9NLXY_9i4tf9KK4EzG0mKpA,3213
310
326
  maxframe/serialization/scipy.py,sha256=hP0fAW0di9UgJrGtANB2S8hLDbFBtR8p5NDqAMt5rDI,2427
311
- maxframe/serialization/core.cpython-311-darwin.so,sha256=1sdqhe7BZd6ETY06r_M1W8uJuu6O2GSNvuDibRK_95g,1341639
327
+ maxframe/serialization/core.cpython-311-darwin.so,sha256=6zsAM7MRhSyga8R2HkXEkwi-0iWUI4ewz_NXghfF4A8,1158416
312
328
  maxframe/serialization/core.pyx,sha256=AATN47RdBTq2zg7--3xX2VHyAZSvoAuYRt7B7gEgKPE,33984
313
329
  maxframe/serialization/tests/test_serial.py,sha256=Wj_I6CBQMaOtE8WtqdUaBoU8FhBOihht6SfeHOJV-zU,12511
314
330
  maxframe/serialization/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
@@ -319,14 +335,14 @@ maxframe/serialization/serializables/field_type.py,sha256=Feh09hu8XyaxS5MaJ4za_p
319
335
  maxframe/serialization/serializables/tests/test_field_type.py,sha256=T3ebXbUkKveC9Pq1nIl85e4eYascFeJ52d0REHbz5jo,4381
320
336
  maxframe/serialization/serializables/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
321
337
  maxframe/serialization/serializables/tests/test_serializable.py,sha256=nwdN7B2xnI_Bh-s90TyjPvyFFVWOE9JVBqm4bdwYZ6o,8243
322
- maxframe/odpsio/tableio.py,sha256=QjjcNxb8h0OXvif3xDarsjq-52aqsWdPezpSn46__g0,9360
323
- maxframe/odpsio/arrow.py,sha256=S9wgULzuUeqQNhBuEXp2yaAA5E9EZM0PTteqM345tRA,3645
338
+ maxframe/odpsio/tableio.py,sha256=TiXZViZMqWq_RaSCCcw8EJuj7ymsKe7chIkUthrnS7I,10148
339
+ maxframe/odpsio/arrow.py,sha256=5GyAOaQLY_UeJS1CL98zNQpLMw5OfPrcI_YHP-G5Bas,3793
324
340
  maxframe/odpsio/__init__.py,sha256=HcxZsE4hRwbhtE-ZXhDWZMmQlv-2dOTvQq2NajhGEo4,799
325
341
  maxframe/odpsio/volumeio.py,sha256=b2SQqusgrtkJJ6uMjnFv5s56XjchF8F4lLTTSHynRMc,3743
326
- maxframe/odpsio/schema.py,sha256=WsJ0bi1-78g6adyPKQFqFJRH3YPXMqGl_qmOe5z7me4,11717
342
+ maxframe/odpsio/schema.py,sha256=aXvK_1BSwttuUyROyIa_HNHohLZBp7LrW9VXzHPGXyY,12115
327
343
  maxframe/odpsio/tests/test_tableio.py,sha256=5nKq8I8Pzrfl89BjIIGyrvqPRiXdejTcYCtd-R2vTAo,4653
328
344
  maxframe/odpsio/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
329
- maxframe/odpsio/tests/test_schema.py,sha256=yss1ly55ErYse95XMFq2s_GWL8UnwZga5RyNIhtcx70,10572
345
+ maxframe/odpsio/tests/test_schema.py,sha256=XTixGKHOWiprp5PZVOo2q9h4-HAUPL8vTUmoeXQDIiM,11958
330
346
  maxframe/odpsio/tests/test_arrow.py,sha256=SQ9EmI9_VOOC8u6Rg6nh3IPC2fPbLvJ9HwtpMNDRhL8,3106
331
347
  maxframe/odpsio/tests/test_volumeio.py,sha256=UEqFANuPKyFtlIh2JNi-LoixH52bxsgHdxu3himnEvs,3022
332
348
  maxframe/tests/test_utils.py,sha256=xaAoURr5NOJUTY0XVa2H8qOStcEH5UQSXItkatHFxFE,11977
@@ -338,7 +354,7 @@ maxframe/lib/wrapped_pickle.py,sha256=xJa0wI-GsBZFKQpVnlh_hZBlQ2u1D8VO2aBIW7VOdP
338
354
  maxframe/lib/version.py,sha256=yQ6HkDOvU9X1rpI49auh-qku2g7gIiztgEH6v1urOrk,18321
339
355
  maxframe/lib/compression.py,sha256=k9DSrl_dNBsn5azLjBdL5B4WZ6eNvmCrdMbcF1G7JSc,1442
340
356
  maxframe/lib/__init__.py,sha256=CzfbLNqqm1yR1i6fDwCd4h1ptuKVDbURFVCb0ra7QNc,642
341
- maxframe/lib/mmh3.cpython-311-darwin.so,sha256=lQfRhVMPbx1hLXhQ3sA8UzY2kuEdUNrzVIRyidIuHKc,120391
357
+ maxframe/lib/mmh3.cpython-311-darwin.so,sha256=X-2q_Q19Cm0q8_Ae2n-dca_hoioknolNbaaDxWaGmeA,119784
342
358
  maxframe/lib/functools_compat.py,sha256=PMSkct9GIbzq-aBwTnggrOLNfLh4xQnYTIFMPblzCUA,2616
343
359
  maxframe/lib/mmh3_src/mmh3module.cpp,sha256=9J9eA42eKWTl546fvfQPNuIM3B2jpWSADpgIw3tr2jg,11604
344
360
  maxframe/lib/mmh3_src/MurmurHash3.h,sha256=lg5uXUFyMBge2BWRn0FgrqaCFCMfDWoTXD4PQtjHrMA,1263
@@ -386,7 +402,7 @@ maxframe/lib/tblib/__init__.py,sha256=c4aVldbxJdS-bFsSDcmDQy_mW0qAcMrb4pHS2tjYhY
386
402
  maxframe/lib/tblib/cpython.py,sha256=FQ0f6WTQyQHoMRhgPqrA0y0Ygxlbj5IC53guxA4h9Cw,2418
387
403
  maxframe/lib/tblib/decorators.py,sha256=bcllK3kVuPnj6SNZGmlJGxTK0ovdt7TJDXrhA4UE5sQ,1063
388
404
  maxframe/tensor/array_utils.py,sha256=259vG4SjyhiheARCZeEnfJdZjoojyrELn41oRcyAELs,4943
389
- maxframe/tensor/__init__.py,sha256=-kir8LUsXCDGcc7YdKqWgNEHSrgU_HE5uPam0jLLP6g,3511
405
+ maxframe/tensor/__init__.py,sha256=BJgqcCnG0jgPBafI4Aa01gHL4nagu6l7kmlry7u8Zm8,3519
390
406
  maxframe/tensor/core.py,sha256=Ojxaf5b8sJ6ZZGezyFHQJ5XsSpUrBOnZgFeUQgpVJpI,21914
391
407
  maxframe/tensor/utils.py,sha256=bwVN0iuVic1tpFai6Hk-1tQLqckQ2IYS7yZKMTcOU1I,22914
392
408
  maxframe/tensor/operators.py,sha256=iGkDIRz152gXrPb5JbqOvXngpq3QaCg-aNO4gHZPLN0,3461
@@ -400,13 +416,13 @@ maxframe/tensor/reshape/tests/test_reshape.py,sha256=MkXN_ibLMNn_4vc8Jsq39icqTIY
400
416
  maxframe/tensor/datasource/from_dataframe.py,sha256=X6cfwLT__VGZLoy3U3tjehPnO43CnyN4kK4edDtLFrA,2503
401
417
  maxframe/tensor/datasource/zeros.py,sha256=vMJ44GeCPOxtnj-NnKvkbb4u3U_yxcEhEJa1-ADt1fM,5672
402
418
  maxframe/tensor/datasource/from_dense.py,sha256=N2FVRhU9uh-w1W8W9zvpTQVxGgskSdHZbVh_rJjC6QA,1607
403
- maxframe/tensor/datasource/scalar.py,sha256=XG9n5CB7LhVWjnyWpg0Aev8cjQvOrduR5TW_oOWc8ic,1151
419
+ maxframe/tensor/datasource/scalar.py,sha256=GzKdbBLFdq9aeWrrtZ3BT5514fBAi9A-QJ5M-EmfUX0,1156
404
420
  maxframe/tensor/datasource/empty.py,sha256=e6XYQvFsyfnGqIrU216_Q1M7cYxwkQSOoZiEhtOT8nc,5850
405
421
  maxframe/tensor/datasource/__init__.py,sha256=qU_GFAuMa_U_zrV6HcE9fsgO16EXVsqhh9j5Fxe6HFY,1146
406
422
  maxframe/tensor/datasource/core.py,sha256=VpjxIcWp_O00smfvDsRIQ48d3HOIJ81hkn78S3H2n_U,3411
407
423
  maxframe/tensor/datasource/full.py,sha256=2oaPGJDbnIz9th74KtGYv-l4cienh679dGueJCi5T08,6276
408
424
  maxframe/tensor/datasource/arange.py,sha256=jqUF1P1Smu2Bl1j5uOe_MM1EPft8heJu8WSmDmyFiDc,5476
409
- maxframe/tensor/datasource/array.py,sha256=sHY_UfJVhiBbEDPyJM9rt5ix3h5USuuCWWEzb1H9NCU,12912
425
+ maxframe/tensor/datasource/array.py,sha256=RmSX0OZrtPPfUNxJwRef8uJlTt76QF0xAeU3U8Wu2kE,13004
410
426
  maxframe/tensor/datasource/from_sparse.py,sha256=ki_cSjqrUccChg2uqlXy1xF10c4YANA4QP_UDl_LZnA,1546
411
427
  maxframe/tensor/datasource/ones.py,sha256=ER4NJ53HuGlSsz-cRXz9YSwZkokdc2wkBKdB2G1BMX8,5009
412
428
  maxframe/tensor/datasource/tests/test_datasource.py,sha256=SEyzSKnf0J6nytli1f2Lgu-U4lp6pMvbuyNM-90x9wQ,7653
@@ -618,10 +634,12 @@ maxframe/tensor/random/tests/__init__.py,sha256=CzfbLNqqm1yR1i6fDwCd4h1ptuKVDbUR
618
634
  maxframe/tensor/random/tests/test_random.py,sha256=2hGaik9A783PFuuxIrhCDZ2O-SYKwUh98LKPwf1psLs,4275
619
635
  maxframe/tensor/base/astype.py,sha256=zeLfyWkuc1LxMIiIO6ghZ_enR7IPgq0Hy4O18h8JQPk,4394
620
636
  maxframe/tensor/base/where.py,sha256=fMGBfppo4QToHX-B3rtTorstz83m8uWWhOQj6Qbu34U,4000
621
- maxframe/tensor/base/__init__.py,sha256=K9PKpd7qgDo94G8s4z9e4wzv53EEWCu5IWSgJ0-XSwo,1017
637
+ maxframe/tensor/base/unique.py,sha256=MFJMBZAGHLnyGL5RGClCzwVKeSb0v0l0hDJ2zgXuSTQ,6742
638
+ maxframe/tensor/base/__init__.py,sha256=FMnuIAaGUObPZpXBnN-9eTSmmdq0Cdb-VI_JNHKVy3Q,1079
622
639
  maxframe/tensor/base/transpose.py,sha256=yDfr1vD6doNlsuKuU94daE0IgIwGMuyBfXhKauQ1UaM,3414
623
640
  maxframe/tensor/base/ravel.py,sha256=pJkez1NHoLqVMBPm5aA8uMNFeWURTAJV_iU98Vqr-50,3173
624
641
  maxframe/tensor/base/broadcast_to.py,sha256=p0hi128OWlj3lXmacvxMhZOjUCq8fiA3yjy9nESZXgE,2686
642
+ maxframe/tensor/base/atleast_1d.py,sha256=rpzzmdCgdz-IrL5WtFd31BPHaCS0V_wLuYJHjVo-vnE,1918
625
643
  maxframe/tensor/base/tests/__init__.py,sha256=FEFOVLi3o2GpZoedTtLYvbie0eQBehJIjtCrWca2ZHw,596
626
644
  maxframe/tensor/base/tests/test_base.py,sha256=syedkA0jMjevYouCL3vCMuWpJ-3hfOc28wKXqF_MMno,2843
627
645
  maxframe/remote/run_script.py,sha256=Z1j662AwDF9sr-z1xnPTlrfSTixi2RBZjccXEilfpGA,3556