maxframe 1.0.0rc2__tar.gz → 1.0.0rc4__tar.gz

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 (575) hide show
  1. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/PKG-INFO +2 -75
  2. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/README.rst +0 -73
  3. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/codegen.py +4 -2
  4. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/config/config.py +28 -9
  5. maxframe-1.0.0rc4/maxframe/config/validators.py +88 -0
  6. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/__init__.py +2 -13
  7. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/__init__.py +0 -4
  8. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/executable.py +1 -1
  9. maxframe-1.0.0rc4/maxframe/core/entity/objects.py +101 -0
  10. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/output_types.py +0 -3
  11. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/tileables.py +5 -78
  12. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/__init__.py +2 -2
  13. {maxframe-1.0.0rc2/maxframe/tensor/merge → maxframe-1.0.0rc4/maxframe/core/graph/builder}/__init__.py +1 -1
  14. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/builder/base.py +5 -4
  15. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/builder/tileable.py +4 -4
  16. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/builder/utils.py +4 -8
  17. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/entity.py +9 -33
  18. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/__init__.py +2 -9
  19. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/base.py +3 -5
  20. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/objects.py +0 -9
  21. maxframe-1.0.0rc4/maxframe/core/operator/utils.py +55 -0
  22. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/docstring.py +26 -2
  23. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/equal.py +4 -2
  24. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/greater.py +4 -2
  25. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/greater_equal.py +4 -2
  26. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/less.py +2 -2
  27. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/less_equal.py +4 -2
  28. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/not_equal.py +4 -2
  29. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/core.py +2 -0
  30. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/read_odps_query.py +67 -8
  31. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/read_odps_table.py +4 -2
  32. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datastore/to_odps.py +8 -1
  33. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/extensions/__init__.py +3 -0
  34. maxframe-1.0.0rc4/maxframe/dataframe/extensions/flatmap.py +326 -0
  35. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/add_prefix_suffix.py +1 -1
  36. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/rename.py +11 -0
  37. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/initializer.py +11 -1
  38. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/drop_duplicates.py +18 -1
  39. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/operators.py +1 -17
  40. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/core.py +2 -2
  41. maxframe-1.0.0rc4/maxframe/io/objects/__init__.py +24 -0
  42. maxframe-1.0.0rc4/maxframe/io/objects/core.py +140 -0
  43. maxframe-1.0.0rc4/maxframe/io/objects/tensor.py +76 -0
  44. {maxframe-1.0.0rc2/maxframe → maxframe-1.0.0rc4/maxframe/io}/odpsio/__init__.py +2 -0
  45. {maxframe-1.0.0rc2/maxframe → maxframe-1.0.0rc4/maxframe/io}/odpsio/arrow.py +4 -4
  46. {maxframe-1.0.0rc2/maxframe → maxframe-1.0.0rc4/maxframe/io}/odpsio/schema.py +10 -8
  47. {maxframe-1.0.0rc2/maxframe → maxframe-1.0.0rc4/maxframe/io}/odpsio/tableio.py +50 -38
  48. maxframe-1.0.0rc4/maxframe/io/odpsio/volumeio.py +63 -0
  49. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/__init__.py +2 -1
  50. maxframe-1.0.0rc4/maxframe/learn/contrib/graph/__init__.py +15 -0
  51. maxframe-1.0.0rc4/maxframe/learn/contrib/graph/connected_components.py +215 -0
  52. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/classifier.py +26 -2
  53. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/core.py +87 -2
  54. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/dmatrix.py +1 -4
  55. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/predict.py +27 -44
  56. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/regressor.py +3 -10
  57. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/train.py +27 -16
  58. maxframe-1.0.0rc4/maxframe/learn/core.py +26 -0
  59. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/opcodes.py +3 -0
  60. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/protocol.py +7 -16
  61. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/remote/core.py +4 -8
  62. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/__init__.py +1 -0
  63. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/session.py +9 -2
  64. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/__init__.py +10 -2
  65. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/isclose.py +1 -0
  66. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/core.py +5 -136
  67. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/array.py +3 -0
  68. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/full.py +1 -1
  69. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/flatnonzero.py +1 -1
  70. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/getitem.py +2 -0
  71. maxframe-1.0.0rc4/maxframe/tensor/merge/__init__.py +17 -0
  72. maxframe-1.0.0rc4/maxframe/tensor/merge/concatenate.py +101 -0
  73. maxframe-1.0.0rc4/maxframe/tensor/merge/vstack.py +74 -0
  74. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/__init__.py +2 -0
  75. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/atleast_1d.py +0 -2
  76. maxframe-1.0.0rc4/maxframe/tensor/misc/atleast_2d.py +70 -0
  77. maxframe-1.0.0rc4/maxframe/tensor/misc/atleast_3d.py +85 -0
  78. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/transpose.py +22 -18
  79. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/operators.py +1 -7
  80. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/core.py +1 -1
  81. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/count_nonzero.py +1 -0
  82. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/mean.py +1 -0
  83. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanmean.py +1 -0
  84. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanvar.py +2 -0
  85. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/var.py +2 -0
  86. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/utils.py +2 -22
  87. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/typing_.py +4 -1
  88. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/udf.py +8 -9
  89. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/utils.py +49 -73
  90. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe.egg-info/PKG-INFO +2 -75
  91. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe.egg-info/SOURCES.txt +26 -17
  92. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe.egg-info/requires.txt +1 -1
  93. maxframe-1.0.0rc4/maxframe_client/clients/__init__.py +13 -0
  94. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/fetcher.py +33 -50
  95. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/session/consts.py +3 -0
  96. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/session/graph.py +8 -2
  97. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/session/odps.py +134 -27
  98. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/session/task.py +58 -20
  99. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/pyproject.toml +2 -2
  100. maxframe-1.0.0rc2/maxframe/config/validators.py +0 -58
  101. maxframe-1.0.0rc2/maxframe/core/entity/chunks.py +0 -68
  102. maxframe-1.0.0rc2/maxframe/core/entity/fuse.py +0 -73
  103. maxframe-1.0.0rc2/maxframe/core/entity/objects.py +0 -58
  104. maxframe-1.0.0rc2/maxframe/core/graph/builder/__init__.py +0 -16
  105. maxframe-1.0.0rc2/maxframe/core/graph/builder/chunk.py +0 -430
  106. maxframe-1.0.0rc2/maxframe/core/operator/fuse.py +0 -29
  107. maxframe-1.0.0rc2/maxframe/odpsio/volumeio.py +0 -95
  108. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/MANIFEST.in +0 -0
  109. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/__init__.py +0 -0
  110. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/_utils.pxd +0 -0
  111. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/_utils.pyx +0 -0
  112. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/config/__init__.py +0 -0
  113. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/base.py +0 -0
  114. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/core.py +0 -0
  115. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/entity/utils.py +0 -0
  116. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/graph/core.pyx +0 -0
  117. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/mode.py +0 -0
  118. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/core.py +0 -0
  119. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/fetch.py +0 -0
  120. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/core/operator/shuffle.py +0 -0
  121. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/__init__.py +0 -0
  122. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/__init__.py +0 -0
  123. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/abs.py +0 -0
  124. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/add.py +0 -0
  125. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arccos.py +0 -0
  126. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
  127. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
  128. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
  129. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arctan.py +0 -0
  130. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
  131. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/around.py +0 -0
  132. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
  133. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
  134. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
  135. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/ceil.py +0 -0
  136. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/core.py +0 -0
  137. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/cos.py +0 -0
  138. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/cosh.py +0 -0
  139. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/degrees.py +0 -0
  140. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/exp.py +0 -0
  141. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/exp2.py +0 -0
  142. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/expm1.py +0 -0
  143. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/floor.py +0 -0
  144. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
  145. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/invert.py +0 -0
  146. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
  147. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/log.py +0 -0
  148. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/log10.py +0 -0
  149. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/log2.py +0 -0
  150. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/mod.py +0 -0
  151. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/multiply.py +0 -0
  152. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/negative.py +0 -0
  153. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/power.py +0 -0
  154. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/radians.py +0 -0
  155. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/sin.py +0 -0
  156. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/sinh.py +0 -0
  157. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
  158. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/subtract.py +0 -0
  159. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/tan.py +0 -0
  160. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/tanh.py +0 -0
  161. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/truediv.py +0 -0
  162. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arithmetic/trunc.py +0 -0
  163. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/arrays.py +0 -0
  164. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/__init__.py +0 -0
  165. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/core.py +0 -0
  166. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/dataframe.py +0 -0
  167. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/date_range.py +0 -0
  168. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/from_index.py +0 -0
  169. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/from_records.py +0 -0
  170. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/from_tensor.py +0 -0
  171. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/index.py +0 -0
  172. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/read_csv.py +0 -0
  173. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/read_parquet.py +0 -0
  174. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datasource/series.py +0 -0
  175. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datastore/__init__.py +0 -0
  176. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datastore/core.py +0 -0
  177. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/datastore/to_csv.py +0 -0
  178. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/extensions/accessor.py +0 -0
  179. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/extensions/reshuffle.py +0 -0
  180. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/fetch/__init__.py +0 -0
  181. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/fetch/core.py +0 -0
  182. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/__init__.py +0 -0
  183. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/aggregation.py +0 -0
  184. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/apply.py +0 -0
  185. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/core.py +0 -0
  186. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/cum.py +0 -0
  187. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/fill.py +0 -0
  188. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/getitem.py +0 -0
  189. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/head.py +0 -0
  190. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/sample.py +0 -0
  191. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/groupby/transform.py +0 -0
  192. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/__init__.py +0 -0
  193. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/align.py +0 -0
  194. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/at.py +0 -0
  195. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/getitem.py +0 -0
  196. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/iat.py +0 -0
  197. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/iloc.py +0 -0
  198. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/insert.py +0 -0
  199. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/loc.py +0 -0
  200. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/reindex.py +0 -0
  201. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/rename_axis.py +0 -0
  202. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/reset_index.py +0 -0
  203. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/sample.py +0 -0
  204. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/set_axis.py +0 -0
  205. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/set_index.py +0 -0
  206. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/setitem.py +0 -0
  207. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/indexing/where.py +0 -0
  208. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/merge/__init__.py +0 -0
  209. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/merge/append.py +0 -0
  210. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/merge/concat.py +0 -0
  211. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/merge/merge.py +0 -0
  212. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/__init__.py +0 -0
  213. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/_duplicate.py +0 -0
  214. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/accessor.py +0 -0
  215. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/apply.py +0 -0
  216. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/astype.py +0 -0
  217. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/case_when.py +0 -0
  218. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/check_monotonic.py +0 -0
  219. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/cut.py +0 -0
  220. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/datetimes.py +0 -0
  221. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/describe.py +0 -0
  222. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/diff.py +0 -0
  223. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/drop.py +0 -0
  224. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/duplicated.py +0 -0
  225. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/eval.py +0 -0
  226. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/explode.py +0 -0
  227. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/get_dummies.py +0 -0
  228. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/isin.py +0 -0
  229. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/map.py +0 -0
  230. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/melt.py +0 -0
  231. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/memory_usage.py +0 -0
  232. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/pct_change.py +0 -0
  233. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/pivot_table.py +0 -0
  234. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/qcut.py +0 -0
  235. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/select_dtypes.py +0 -0
  236. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/shift.py +0 -0
  237. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/stack.py +0 -0
  238. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/string_.py +0 -0
  239. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/to_numeric.py +0 -0
  240. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/transform.py +0 -0
  241. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/transpose.py +0 -0
  242. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/misc/value_counts.py +0 -0
  243. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/missing/__init__.py +0 -0
  244. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/missing/checkna.py +0 -0
  245. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/missing/dropna.py +0 -0
  246. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/missing/fillna.py +0 -0
  247. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/missing/replace.py +0 -0
  248. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/plotting/__init__.py +0 -0
  249. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/plotting/core.py +0 -0
  250. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/__init__.py +0 -0
  251. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/aggregation.py +0 -0
  252. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/all.py +0 -0
  253. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/any.py +0 -0
  254. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/count.py +0 -0
  255. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/cummax.py +0 -0
  256. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/cummin.py +0 -0
  257. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/cumprod.py +0 -0
  258. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/cumsum.py +0 -0
  259. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
  260. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/kurtosis.py +0 -0
  261. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/max.py +0 -0
  262. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/mean.py +0 -0
  263. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/min.py +0 -0
  264. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/nunique.py +0 -0
  265. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/prod.py +0 -0
  266. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/reduction_size.py +0 -0
  267. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/sem.py +0 -0
  268. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/skew.py +0 -0
  269. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/std.py +0 -0
  270. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/str_concat.py +0 -0
  271. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/sum.py +0 -0
  272. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/unique.py +0 -0
  273. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/reduction/var.py +0 -0
  274. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/sort/__init__.py +0 -0
  275. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/sort/core.py +0 -0
  276. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/sort/sort_index.py +0 -0
  277. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/sort/sort_values.py +0 -0
  278. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/statistics/__init__.py +0 -0
  279. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/statistics/corr.py +0 -0
  280. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/statistics/quantile.py +0 -0
  281. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/tseries/__init__.py +0 -0
  282. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/tseries/to_datetime.py +0 -0
  283. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/ufunc/__init__.py +0 -0
  284. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/ufunc/tensor.py +0 -0
  285. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/ufunc/ufunc.py +0 -0
  286. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/utils.py +0 -0
  287. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/__init__.py +0 -0
  288. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/aggregation.py +0 -0
  289. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/core.py +0 -0
  290. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/ewm.py +0 -0
  291. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/expanding.py +0 -0
  292. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/dataframe/window/rolling.py +0 -0
  293. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/env.py +0 -0
  294. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/errors.py +0 -0
  295. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/extension.py +0 -0
  296. {maxframe-1.0.0rc2/maxframe/lib/cython → maxframe-1.0.0rc4/maxframe/io}/__init__.py +0 -0
  297. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/__init__.py +0 -0
  298. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
  299. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
  300. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
  301. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/utils.py +0 -0
  302. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/contrib/xgboost/__init__.py +0 -0
  303. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/utils/__init__.py +0 -0
  304. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/learn/utils/core.py +0 -0
  305. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/__init__.py +0 -0
  306. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/__init__.py +0 -0
  307. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/_runners.py +0 -0
  308. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/_threads.py +0 -0
  309. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/base.py +0 -0
  310. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/file.py +0 -0
  311. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/isolation.py +0 -0
  312. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/lru.py +0 -0
  313. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/aio/parallelism.py +0 -0
  314. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/compression.py +0 -0
  315. {maxframe-1.0.0rc2/maxframe/lib/filesystem/_oss_lib → maxframe-1.0.0rc4/maxframe/lib/cython}/__init__.py +0 -0
  316. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/cython/libcpp.pxd +0 -0
  317. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/__init__.py +0 -0
  318. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/_glob.py +0 -0
  319. {maxframe-1.0.0rc2/maxframe/tensor/statistics → maxframe-1.0.0rc4/maxframe/lib/filesystem/_oss_lib}/__init__.py +0 -0
  320. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
  321. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
  322. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
  323. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/arrow.py +0 -0
  324. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/base.py +0 -0
  325. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/core.py +0 -0
  326. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/fsmap.py +0 -0
  327. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/hdfs.py +0 -0
  328. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/local.py +0 -0
  329. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/filesystem/oss.py +0 -0
  330. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/functools_compat.py +0 -0
  331. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/mmh3.pyi +0 -0
  332. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
  333. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
  334. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
  335. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/sparse/__init__.py +0 -0
  336. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/sparse/array.py +0 -0
  337. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/sparse/core.py +0 -0
  338. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/sparse/matrix.py +0 -0
  339. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/sparse/vector.py +0 -0
  340. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/tblib/LICENSE +0 -0
  341. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/tblib/__init__.py +0 -0
  342. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/tblib/cpython.py +0 -0
  343. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/tblib/decorators.py +0 -0
  344. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/tblib/pickling_support.py +0 -0
  345. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/version.py +0 -0
  346. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/lib/wrapped_pickle.py +0 -0
  347. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/mixin.py +0 -0
  348. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/remote/__init__.py +0 -0
  349. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/remote/run_script.py +0 -0
  350. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/arrow.py +0 -0
  351. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/core.pxd +0 -0
  352. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/core.pyi +0 -0
  353. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/core.pyx +0 -0
  354. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/exception.py +0 -0
  355. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/maxframe_objects.py +0 -0
  356. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/numpy.py +0 -0
  357. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/pandas.py +0 -0
  358. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/scipy.py +0 -0
  359. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/serializables/__init__.py +0 -0
  360. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/serializables/core.py +0 -0
  361. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/serializables/field.py +0 -0
  362. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/serialization/serializables/field_type.py +0 -0
  363. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/__init__.py +0 -0
  364. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/abs.py +0 -0
  365. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/absolute.py +0 -0
  366. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/add.py +0 -0
  367. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/angle.py +0 -0
  368. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arccos.py +0 -0
  369. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arccosh.py +0 -0
  370. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arcsin.py +0 -0
  371. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
  372. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arctan.py +0 -0
  373. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arctan2.py +0 -0
  374. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/arctanh.py +0 -0
  375. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/around.py +0 -0
  376. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/bitand.py +0 -0
  377. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/bitor.py +0 -0
  378. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/bitxor.py +0 -0
  379. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/cbrt.py +0 -0
  380. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/ceil.py +0 -0
  381. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/clip.py +0 -0
  382. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/conj.py +0 -0
  383. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/copysign.py +0 -0
  384. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/core.py +0 -0
  385. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/cos.py +0 -0
  386. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/cosh.py +0 -0
  387. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
  388. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/degrees.py +0 -0
  389. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/divide.py +0 -0
  390. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/equal.py +0 -0
  391. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/exp.py +0 -0
  392. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/exp2.py +0 -0
  393. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/expm1.py +0 -0
  394. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/fabs.py +0 -0
  395. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/fix.py +0 -0
  396. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/float_power.py +0 -0
  397. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/floor.py +0 -0
  398. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/floordiv.py +0 -0
  399. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/fmax.py +0 -0
  400. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/fmin.py +0 -0
  401. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/fmod.py +0 -0
  402. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/frexp.py +0 -0
  403. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/greater.py +0 -0
  404. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
  405. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/hypot.py +0 -0
  406. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/i0.py +0 -0
  407. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/imag.py +0 -0
  408. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/invert.py +0 -0
  409. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
  410. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/isfinite.py +0 -0
  411. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/isinf.py +0 -0
  412. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/isnan.py +0 -0
  413. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/isreal.py +0 -0
  414. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/ldexp.py +0 -0
  415. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/less.py +0 -0
  416. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/less_equal.py +0 -0
  417. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/log.py +0 -0
  418. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/log10.py +0 -0
  419. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/log1p.py +0 -0
  420. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/log2.py +0 -0
  421. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
  422. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
  423. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logical_and.py +0 -0
  424. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logical_not.py +0 -0
  425. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logical_or.py +0 -0
  426. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
  427. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/lshift.py +0 -0
  428. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/maximum.py +0 -0
  429. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/minimum.py +0 -0
  430. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/mod.py +0 -0
  431. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/modf.py +0 -0
  432. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/multiply.py +0 -0
  433. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
  434. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/negative.py +0 -0
  435. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/nextafter.py +0 -0
  436. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/not_equal.py +0 -0
  437. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/positive.py +0 -0
  438. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/power.py +0 -0
  439. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
  440. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/radians.py +0 -0
  441. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/real.py +0 -0
  442. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
  443. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/rint.py +0 -0
  444. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/rshift.py +0 -0
  445. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/setimag.py +0 -0
  446. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/setreal.py +0 -0
  447. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/sign.py +0 -0
  448. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/signbit.py +0 -0
  449. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/sin.py +0 -0
  450. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/sinc.py +0 -0
  451. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/sinh.py +0 -0
  452. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/spacing.py +0 -0
  453. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/sqrt.py +0 -0
  454. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/square.py +0 -0
  455. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/subtract.py +0 -0
  456. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/tan.py +0 -0
  457. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/tanh.py +0 -0
  458. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/truediv.py +0 -0
  459. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/trunc.py +0 -0
  460. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/arithmetic/utils.py +0 -0
  461. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/array_utils.py +0 -0
  462. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/__init__.py +0 -0
  463. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/arange.py +0 -0
  464. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/core.py +0 -0
  465. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/empty.py +0 -0
  466. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/from_dataframe.py +0 -0
  467. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/from_dense.py +0 -0
  468. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/from_sparse.py +0 -0
  469. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/ones.py +0 -0
  470. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/scalar.py +0 -0
  471. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/datasource/zeros.py +0 -0
  472. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/fetch/__init__.py +0 -0
  473. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/fetch/core.py +0 -0
  474. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/__init__.py +0 -0
  475. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/choose.py +0 -0
  476. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/compress.py +0 -0
  477. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/core.py +0 -0
  478. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/extract.py +0 -0
  479. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
  480. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/nonzero.py +0 -0
  481. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/setitem.py +0 -0
  482. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/slice.py +0 -0
  483. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/take.py +0 -0
  484. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/indexing/unravel_index.py +0 -0
  485. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/merge/stack.py +0 -0
  486. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/astype.py +0 -0
  487. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/broadcast_to.py +0 -0
  488. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/ravel.py +0 -0
  489. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/unique.py +0 -0
  490. {maxframe-1.0.0rc2/maxframe/tensor/base → maxframe-1.0.0rc4/maxframe/tensor/misc}/where.py +0 -0
  491. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/__init__.py +0 -0
  492. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/beta.py +0 -0
  493. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/binomial.py +0 -0
  494. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/bytes.py +0 -0
  495. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/chisquare.py +0 -0
  496. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/choice.py +0 -0
  497. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/dirichlet.py +0 -0
  498. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/exponential.py +0 -0
  499. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/f.py +0 -0
  500. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/gamma.py +0 -0
  501. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/geometric.py +0 -0
  502. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/gumbel.py +0 -0
  503. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/hypergeometric.py +0 -0
  504. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/laplace.py +0 -0
  505. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/logistic.py +0 -0
  506. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/lognormal.py +0 -0
  507. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/logseries.py +0 -0
  508. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/multinomial.py +0 -0
  509. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/multivariate_normal.py +0 -0
  510. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/negative_binomial.py +0 -0
  511. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
  512. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/noncentral_f.py +0 -0
  513. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/normal.py +0 -0
  514. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/pareto.py +0 -0
  515. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/permutation.py +0 -0
  516. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/poisson.py +0 -0
  517. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/power.py +0 -0
  518. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/rand.py +0 -0
  519. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/randint.py +0 -0
  520. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/randn.py +0 -0
  521. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/random_integers.py +0 -0
  522. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/random_sample.py +0 -0
  523. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/rayleigh.py +0 -0
  524. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/shuffle.py +0 -0
  525. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/standard_cauchy.py +0 -0
  526. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/standard_exponential.py +0 -0
  527. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/standard_gamma.py +0 -0
  528. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/standard_normal.py +0 -0
  529. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/standard_t.py +0 -0
  530. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/triangular.py +0 -0
  531. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/uniform.py +0 -0
  532. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/vonmises.py +0 -0
  533. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/wald.py +0 -0
  534. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/weibull.py +0 -0
  535. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/random/zipf.py +0 -0
  536. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/rechunk/__init__.py +0 -0
  537. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/rechunk/rechunk.py +0 -0
  538. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/__init__.py +0 -0
  539. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/all.py +0 -0
  540. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/allclose.py +0 -0
  541. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/any.py +0 -0
  542. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/argmax.py +0 -0
  543. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/argmin.py +0 -0
  544. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/array_equal.py +0 -0
  545. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/core.py +0 -0
  546. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/cumprod.py +0 -0
  547. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/cumsum.py +0 -0
  548. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/max.py +0 -0
  549. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/min.py +0 -0
  550. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanargmax.py +0 -0
  551. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanargmin.py +0 -0
  552. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nancumprod.py +0 -0
  553. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nancumsum.py +0 -0
  554. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanmax.py +0 -0
  555. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanmin.py +0 -0
  556. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanprod.py +0 -0
  557. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nanstd.py +0 -0
  558. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/nansum.py +0 -0
  559. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/prod.py +0 -0
  560. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/std.py +0 -0
  561. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reduction/sum.py +0 -0
  562. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reshape/__init__.py +0 -0
  563. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/reshape/reshape.py +0 -0
  564. {maxframe-1.0.0rc2/maxframe_client/clients → maxframe-1.0.0rc4/maxframe/tensor/statistics}/__init__.py +0 -0
  565. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/statistics/percentile.py +0 -0
  566. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/statistics/quantile.py +0 -0
  567. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/ufunc/__init__.py +0 -0
  568. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe/tensor/ufunc/ufunc.py +0 -0
  569. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe.egg-info/dependency_links.txt +0 -0
  570. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe.egg-info/top_level.txt +0 -0
  571. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/__init__.py +0 -0
  572. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/clients/framedriver.py +0 -0
  573. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/maxframe_client/session/__init__.py +0 -0
  574. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/setup.cfg +0 -0
  575. {maxframe-1.0.0rc2 → maxframe-1.0.0rc4}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maxframe
3
- Version: 1.0.0rc2
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
@@ -9,7 +9,7 @@ Requires-Dist: scipy>=1.0
9
9
  Requires-Dist: pyarrow>=1.0.0
10
10
  Requires-Dist: msgpack>=1.0.0
11
11
  Requires-Dist: traitlets>=5.0
12
- Requires-Dist: cloudpickle>=1.5.0
12
+ Requires-Dist: cloudpickle<3.0.0,>=1.5.0
13
13
  Requires-Dist: pyyaml>=5.1
14
14
  Requires-Dist: pickle5; python_version < "3.8"
15
15
  Requires-Dist: tornado>=6.0
@@ -102,76 +102,3 @@ License
102
102
 
103
103
  Licensed under the `Apache License
104
104
  2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`__.
105
- MaxCompute MaxFrame Client
106
- ==========================
107
-
108
- MaxFrame is a computational framework created by Alibaba Cloud to
109
- provide a way for Python developers to parallelize their code with
110
- MaxCompute. It creates a runnable computation graph locally, submits it
111
- to MaxCompute to execute and obtains results from MaxCompute.
112
-
113
- MaxFrame client is the client of MaxFrame. Currently it provides a
114
- DataFrame-based SDK with compatible APIs for pandas. In future, other
115
- common Python libraries like numpy and scikit-learn will be added as
116
- well. Python 3.7 is recommended for MaxFrame client to enable all
117
- functionalities while supports for higher Python versions are on the
118
- way.
119
-
120
- Installation
121
- ------------
122
-
123
- You may install MaxFrame client through PIP:
124
-
125
- .. code:: bash
126
-
127
- pip install maxframe
128
-
129
- Latest beta version can be installed with ``--pre`` argument:
130
-
131
- .. code:: bash
132
-
133
- pip install --pre maxframe
134
-
135
- You can also install MaxFrame client from source code:
136
-
137
- .. code:: bash
138
-
139
- pip install git+https://github.com/aliyun/alibabacloud-odps-maxframe-client.git
140
-
141
- Getting started
142
- ---------------
143
-
144
- We show a simple code example of MaxFrame client which read data from a
145
- MaxCompute table, performs some simple data transform and writes back
146
- into MaxCompute.
147
-
148
- .. code:: python
149
-
150
- import maxframe.dataframe as md
151
- import os
152
- from maxframe import new_session
153
- from odps import ODPS
154
-
155
- o = ODPS(
156
- os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
157
- os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
158
- project='your-default-project',
159
- endpoint='your-end-point',
160
- )
161
- session = new_session(o)
162
-
163
- df = md.read_odps_table("source_table")
164
- df["A"] = "prefix_" + df["A"]
165
- md.to_odps_table(df, "prefix_source_table")
166
-
167
- Documentation
168
- -------------
169
-
170
- Detailed documentations can be found
171
- `here <https://maxframe.readthedocs.io>`__.
172
-
173
- License
174
- -------
175
-
176
- Licensed under the `Apache License
177
- 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`__.
@@ -71,76 +71,3 @@ License
71
71
 
72
72
  Licensed under the `Apache License
73
73
  2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`__.
74
- MaxCompute MaxFrame Client
75
- ==========================
76
-
77
- MaxFrame is a computational framework created by Alibaba Cloud to
78
- provide a way for Python developers to parallelize their code with
79
- MaxCompute. It creates a runnable computation graph locally, submits it
80
- to MaxCompute to execute and obtains results from MaxCompute.
81
-
82
- MaxFrame client is the client of MaxFrame. Currently it provides a
83
- DataFrame-based SDK with compatible APIs for pandas. In future, other
84
- common Python libraries like numpy and scikit-learn will be added as
85
- well. Python 3.7 is recommended for MaxFrame client to enable all
86
- functionalities while supports for higher Python versions are on the
87
- way.
88
-
89
- Installation
90
- ------------
91
-
92
- You may install MaxFrame client through PIP:
93
-
94
- .. code:: bash
95
-
96
- pip install maxframe
97
-
98
- Latest beta version can be installed with ``--pre`` argument:
99
-
100
- .. code:: bash
101
-
102
- pip install --pre maxframe
103
-
104
- You can also install MaxFrame client from source code:
105
-
106
- .. code:: bash
107
-
108
- pip install git+https://github.com/aliyun/alibabacloud-odps-maxframe-client.git
109
-
110
- Getting started
111
- ---------------
112
-
113
- We show a simple code example of MaxFrame client which read data from a
114
- MaxCompute table, performs some simple data transform and writes back
115
- into MaxCompute.
116
-
117
- .. code:: python
118
-
119
- import maxframe.dataframe as md
120
- import os
121
- from maxframe import new_session
122
- from odps import ODPS
123
-
124
- o = ODPS(
125
- os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
126
- os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
127
- project='your-default-project',
128
- endpoint='your-end-point',
129
- )
130
- session = new_session(o)
131
-
132
- df = md.read_odps_table("source_table")
133
- df["A"] = "prefix_" + df["A"]
134
- md.to_odps_table(df, "prefix_source_table")
135
-
136
- Documentation
137
- -------------
138
-
139
- Detailed documentations can be found
140
- `here <https://maxframe.readthedocs.io>`__.
141
-
142
- License
143
- -------
144
-
145
- Licensed under the `Apache License
146
- 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`__.
@@ -26,9 +26,9 @@ from odps.utils import camel_to_underline
26
26
  from .core import OperatorType, Tileable, TileableGraph
27
27
  from .core.operator import Fetch
28
28
  from .extension import iter_extensions
29
+ from .io.odpsio import build_dataframe_table_meta
30
+ from .io.odpsio.schema import pandas_to_odps_schema
29
31
  from .lib import wrapped_pickle as pickle
30
- from .odpsio import build_dataframe_table_meta
31
- from .odpsio.schema import pandas_to_odps_schema
32
32
  from .protocol import DataFrameTableMeta, ResultInfo
33
33
  from .serialization import PickleContainer
34
34
  from .serialization.serializables import Serializable, StringField
@@ -347,6 +347,7 @@ BUILTIN_ENGINE_SPE = "SPE"
347
347
  BUILTIN_ENGINE_MCSQL = "MCSQL"
348
348
 
349
349
  FAST_RANGE_INDEX_ENABLED = "codegen.fast_range_index_enabled"
350
+ ROW_NUMBER_WINDOW_INDEX_ENABLED = "codegen.row_number_window_index_enabled"
350
351
 
351
352
 
352
353
  class BigDagCodeGenerator(metaclass=abc.ABCMeta):
@@ -506,6 +507,7 @@ class BigDagCodeGenerator(metaclass=abc.ABCMeta):
506
507
  prefer_binary=pack.prefer_binary,
507
508
  pre_release=pack.pre_release,
508
509
  force_rebuild=pack.force_rebuild,
510
+ no_audit_wheel=pack.no_audit_wheel,
509
511
  python_tag=python_tag,
510
512
  is_production=is_production,
511
513
  schedule_id=schedule_id,
@@ -32,7 +32,6 @@ from ..utils import get_python_tag
32
32
  from .validators import (
33
33
  ValidatorType,
34
34
  all_validator,
35
- any_validator,
36
35
  is_bool,
37
36
  is_dict,
38
37
  is_in,
@@ -41,6 +40,7 @@ from .validators import (
41
40
  is_null,
42
41
  is_numeric,
43
42
  is_string,
43
+ is_valid_cache_path,
44
44
  )
45
45
 
46
46
  _DEFAULT_REDIRECT_WARN = "Option {source} has been replaced by {target} and might be removed in a future release."
@@ -327,7 +327,7 @@ default_options.register_option(
327
327
  default_options.register_option(
328
328
  "local_timezone",
329
329
  _get_legal_local_tz_name(),
330
- validator=any_validator(is_null, is_in(set(available_timezones()))),
330
+ validator=is_null | is_in(set(available_timezones())),
331
331
  remote=True,
332
332
  )
333
333
  default_options.register_option(
@@ -343,11 +343,25 @@ default_options.register_option("sql.enable_mcqa", True, validator=is_bool, remo
343
343
  default_options.register_option(
344
344
  "sql.generate_comments", True, validator=is_bool, remote=True
345
345
  )
346
+ default_options.register_option(
347
+ "sql.auto_use_common_image", True, validator=is_bool, remote=True
348
+ )
346
349
  default_options.register_option("sql.settings", {}, validator=is_dict, remote=True)
347
350
 
348
351
  default_options.register_option("is_production", False, validator=is_bool, remote=True)
349
352
  default_options.register_option("schedule_id", "", validator=is_string, remote=True)
350
353
 
354
+ default_options.register_option(
355
+ "service_role_arn", None, validator=is_null | is_string, remote=True
356
+ )
357
+ default_options.register_option(
358
+ "object_cache_url", None, validator=is_null | is_valid_cache_path, remote=True
359
+ )
360
+
361
+ default_options.register_option(
362
+ "chunk_size", None, validator=is_null | is_integer, remote=True
363
+ )
364
+
351
365
  default_options.register_option(
352
366
  "session.max_alive_seconds",
353
367
  _DEFAULT_MAX_ALIVE_SECONDS,
@@ -360,15 +374,22 @@ default_options.register_option(
360
374
  validator=is_numeric,
361
375
  remote=True,
362
376
  )
377
+ default_options.register_option(
378
+ "session.quota_name", None, validator=is_null | is_string, remote=True
379
+ )
380
+ default_options.register_option(
381
+ "session.enable_schema", None, validator=is_null | is_bool, remote=True
382
+ )
383
+ default_options.register_option(
384
+ "session.default_schema", None, validator=is_null | is_string, remote=True
385
+ )
363
386
  default_options.register_option(
364
387
  "session.upload_batch_size",
365
388
  _DEFAULT_UPLOAD_BATCH_SIZE,
366
389
  validator=is_integer,
367
390
  )
368
391
  default_options.register_option(
369
- "session.table_lifecycle",
370
- None,
371
- validator=any_validator(is_null, is_integer),
392
+ "session.table_lifecycle", None, validator=is_null | is_integer, remote=True
372
393
  )
373
394
  default_options.register_option(
374
395
  "session.temp_table_lifecycle",
@@ -379,7 +400,7 @@ default_options.register_option(
379
400
  default_options.register_option(
380
401
  "session.subinstance_priority",
381
402
  None,
382
- validator=any_validator(is_null, is_integer),
403
+ validator=is_null | is_integer,
383
404
  remote=True,
384
405
  )
385
406
 
@@ -391,9 +412,7 @@ default_options.register_option(
391
412
  default_options.register_option(
392
413
  "optimize.head_optimize_threshold", 1000, validator=is_integer
393
414
  )
394
- default_options.register_option(
395
- "show_progress", "auto", validator=any_validator(is_bool, is_string)
396
- )
415
+ default_options.register_option("show_progress", "auto", validator=is_bool | is_string)
397
416
  default_options.register_option(
398
417
  "dag.settings", value=dict(), validator=is_dict, remote=True
399
418
  )
@@ -0,0 +1,88 @@
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
+ from typing import Callable
16
+ from urllib.parse import urlparse
17
+
18
+ ValidatorType = Callable[..., bool]
19
+
20
+
21
+ def any_validator(*validators: ValidatorType):
22
+ def validate(x):
23
+ return any(validator(x) for validator in validators)
24
+
25
+ return validate
26
+
27
+
28
+ def all_validator(*validators: ValidatorType):
29
+ def validate(x):
30
+ return all(validator(x) for validator in validators)
31
+
32
+ validate.validators = validators
33
+ return validate
34
+
35
+
36
+ class Validator:
37
+ def __init__(self, func: ValidatorType):
38
+ self._func = func
39
+
40
+ def __call__(self, arg) -> bool:
41
+ return self._func(arg)
42
+
43
+ def __or__(self, other):
44
+ return OrValidator(self, other)
45
+
46
+
47
+ class OrValidator(Validator):
48
+ def __init__(self, lhs: Validator, rhs: Validator):
49
+ super().__init__(lambda x: lhs(x) or rhs(x))
50
+
51
+
52
+ is_null = Validator(lambda x: x is None)
53
+ is_bool = Validator(lambda x: isinstance(x, bool))
54
+ is_float = Validator(lambda x: isinstance(x, float))
55
+ is_integer = Validator(lambda x: isinstance(x, int))
56
+ is_numeric = Validator(lambda x: isinstance(x, (int, float)))
57
+ is_string = Validator(lambda x: isinstance(x, str))
58
+ is_dict = Validator(lambda x: isinstance(x, dict))
59
+ is_positive_integer = Validator(lambda x: is_integer(x) and x > 0)
60
+ is_non_negative_integer = Validator(lambda x: is_integer(x) and x >= 0)
61
+
62
+
63
+ def is_in(vals):
64
+ return Validator(vals.__contains__)
65
+
66
+
67
+ def _is_valid_cache_path(path: str) -> bool:
68
+ """
69
+ path should look like oss://oss_endpoint/oss_bucket/path
70
+ """
71
+ parsed_url = urlparse(path)
72
+ return (
73
+ parsed_url.scheme == "oss"
74
+ and parsed_url.netloc
75
+ and parsed_url.path
76
+ and "/" in parsed_url.path
77
+ )
78
+
79
+
80
+ is_valid_cache_path = Validator(_is_valid_cache_path)
81
+
82
+
83
+ _invalid_char_in_yaml_str = {'"', "'", "\n", "\\"}
84
+
85
+
86
+ def simple_yaml_str_validator(name: str) -> bool:
87
+ chars = set(name)
88
+ return len(_invalid_char_in_yaml_str & chars) == 0
@@ -14,20 +14,14 @@
14
14
 
15
15
  # noinspection PyUnresolvedReferences
16
16
  from ..typing_ import ChunkType, EntityType, OperatorType, TileableType
17
- from .base import ExecutionError
17
+ from .base import Base, ExecutionError
18
18
  from .entity import (
19
- CHUNK_TYPE,
20
19
  ENTITY_TYPE,
21
- FUSE_CHUNK_TYPE,
22
20
  OBJECT_TYPE,
23
21
  TILEABLE_TYPE,
24
- Chunk,
25
- ChunkData,
26
22
  Entity,
27
23
  EntityData,
28
24
  ExecutableTuple,
29
- FuseChunk,
30
- FuseChunkData,
31
25
  HasShapeTileable,
32
26
  HasShapeTileableData,
33
27
  NotSupportTile,
@@ -40,23 +34,18 @@ from .entity import (
40
34
  get_fetch_class,
41
35
  get_output_types,
42
36
  get_tileable_types,
43
- register,
44
37
  register_fetch_class,
45
38
  register_output_types,
46
- unregister,
47
39
  )
48
40
 
49
41
  # noinspection PyUnresolvedReferences
50
42
  from .graph import (
51
43
  DAG,
52
- ChunkGraph,
53
- ChunkGraphBuilder,
54
44
  DirectedGraph,
55
45
  GraphContainsCycleError,
56
46
  GraphSerializer,
57
47
  TileableGraph,
58
48
  TileableGraphBuilder,
59
- TileContext,
60
- TileStatus,
61
49
  )
62
50
  from .mode import enter_mode, is_build_mode, is_eager_mode, is_kernel_mode
51
+ from .operator import build_fetch
@@ -12,10 +12,8 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- from .chunks import CHUNK_TYPE, Chunk, ChunkData
16
15
  from .core import ENTITY_TYPE, Entity, EntityData
17
16
  from .executable import ExecutableTuple, _ExecuteAndFetchMixin
18
- from .fuse import FUSE_CHUNK_TYPE, FuseChunk, FuseChunkData
19
17
  from .objects import OBJECT_TYPE, Object, ObjectData
20
18
  from .output_types import (
21
19
  OutputType,
@@ -32,6 +30,4 @@ from .tileables import (
32
30
  NotSupportTile,
33
31
  Tileable,
34
32
  TileableData,
35
- register,
36
- unregister,
37
33
  )
@@ -46,7 +46,7 @@ class DecrefRunner:
46
46
  break
47
47
 
48
48
  session = session_ref()
49
- if session is None:
49
+ if session is None or session.closed:
50
50
  fut.set_result(None)
51
51
  continue
52
52
  try:
@@ -0,0 +1,101 @@
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
+ from typing import Any, Dict, Type
16
+
17
+ from ...serialization import load_type
18
+ from ...serialization.serializables import StringField
19
+ from .core import Entity
20
+ from .executable import _ToObjectMixin
21
+ from .tileables import TileableData
22
+
23
+
24
+ class ObjectData(TileableData, _ToObjectMixin):
25
+ __slots__ = ()
26
+ type_name = "Object"
27
+ # workaround for removed field since v0.1.0b5
28
+ # todo remove this when all versions below v1.0.0rc1 is eliminated
29
+ _legacy_deprecated_non_primitives = ["_chunks"]
30
+ _legacy_new_non_primitives = ["object_class"]
31
+
32
+ object_class = StringField("object_class", default=None)
33
+
34
+ @classmethod
35
+ def get_entity_class(cls) -> Type["Object"]:
36
+ if getattr(cls, "_entity_class", None) is not None:
37
+ return cls._entity_class
38
+ assert cls.__qualname__[-4:] == "Data"
39
+ target_class_name = cls.__module__ + "#" + cls.__qualname__[:-4]
40
+ cls._entity_class = load_type(target_class_name, Object)
41
+ return cls._entity_class
42
+
43
+ def __new__(cls, op=None, nsplits=None, **kw):
44
+ if cls is ObjectData:
45
+ obj_cls = kw.get("object_class")
46
+ if isinstance(obj_cls, str):
47
+ obj_cls = load_type(obj_cls, (Object, ObjectData))
48
+ if isinstance(obj_cls, type) and issubclass(obj_cls, Object):
49
+ obj_cls = obj_cls.get_data_class()
50
+
51
+ if obj_cls is not None and cls is not obj_cls:
52
+ return obj_cls(op=op, nsplits=nsplits, **kw)
53
+ return super().__new__(cls)
54
+
55
+ def __init__(self, op=None, nsplits=None, **kw):
56
+ obj_cls = kw.pop("object_class", None)
57
+ if isinstance(obj_cls, type):
58
+ if isinstance(obj_cls, type) and issubclass(obj_cls, Object):
59
+ obj_cls = obj_cls.get_data_class()
60
+ kw["object_class"] = obj_cls.__module__ + "#" + obj_cls.__qualname__
61
+
62
+ super().__init__(_op=op, _nsplits=nsplits, **kw)
63
+ if self.object_class is None and type(self) is not ObjectData:
64
+ cls = type(self)
65
+ self.object_class = cls.__module__ + "#" + cls.__qualname__
66
+
67
+ def __repr__(self):
68
+ return f"Object <op={type(self.op).__name__}, key={self.key}>"
69
+
70
+ @property
71
+ def params(self):
72
+ # params return the properties which useful to rebuild a new tileable object
73
+ return dict(object_class=self.object_class)
74
+
75
+ @params.setter
76
+ def params(self, new_params: Dict[str, Any]):
77
+ params = new_params.copy()
78
+ if params: # pragma: no cover
79
+ raise TypeError(f"Unknown params: {list(params)}")
80
+
81
+ def refresh_params(self):
82
+ # refresh params when chunks updated
83
+ # nothing needs to do for Object
84
+ pass
85
+
86
+
87
+ class Object(Entity, _ToObjectMixin):
88
+ __slots__ = ()
89
+ _allow_data_type_ = (ObjectData,)
90
+ type_name = "Object"
91
+
92
+ @classmethod
93
+ def get_data_class(cls) -> Type[ObjectData]:
94
+ if getattr(cls, "_data_class", None) is not None:
95
+ return cls._data_class
96
+ target_class_name = cls.__module__ + "#" + cls.__qualname__ + "Data"
97
+ cls._data_class = load_type(target_class_name, ObjectData)
98
+ return cls._data_class
99
+
100
+
101
+ OBJECT_TYPE = (Object, ObjectData)
@@ -15,7 +15,6 @@
15
15
  import functools
16
16
  from enum import Enum
17
17
 
18
- from .fuse import FUSE_CHUNK_TYPE
19
18
  from .objects import OBJECT_TYPE
20
19
 
21
20
 
@@ -77,8 +76,6 @@ def get_output_types(*objs, unknown_as=None):
77
76
  for obj in objs:
78
77
  if obj is None:
79
78
  continue
80
- elif isinstance(obj, FUSE_CHUNK_TYPE):
81
- obj = obj.chunk
82
79
 
83
80
  try:
84
81
  output_types.append(_get_output_type_by_cls(type(obj)))
@@ -15,17 +15,15 @@
15
15
  import builtins
16
16
  import itertools
17
17
  from operator import attrgetter
18
- from typing import Callable, List
19
18
  from weakref import WeakKeyDictionary, WeakSet
20
19
 
21
20
  import numpy as np
22
21
 
23
22
  from ...serialization.serializables import BoolField, FieldTypes, TupleField
24
- from ...typing_ import OperatorType, TileableType
23
+ from ...typing_ import TileableType
25
24
  from ...utils import on_deserialize_shape, on_serialize_nsplits, on_serialize_shape
26
25
  from ..base import Base
27
26
  from ..mode import enter_mode
28
- from .chunks import Chunk
29
27
  from .core import Entity, EntityData
30
28
  from .executable import _ExecutableMixin
31
29
 
@@ -34,79 +32,6 @@ class NotSupportTile(Exception):
34
32
  pass
35
33
 
36
34
 
37
- class OperatorTilesHandler:
38
- _handlers = dict()
39
-
40
- @classmethod
41
- def _get_op_cls(cls, op: OperatorType):
42
- if isinstance(op, type):
43
- return op
44
- return type(op)
45
-
46
- @classmethod
47
- def register(
48
- cls, op: OperatorType, tile_handler: Callable[[OperatorType], TileableType]
49
- ):
50
- cls._handlers[cls._get_op_cls(op)] = tile_handler
51
-
52
- @classmethod
53
- def unregister(cls, op: OperatorType):
54
- del cls._handlers[cls._get_op_cls(op)]
55
-
56
- @classmethod
57
- def get_handler(
58
- cls, op: OperatorType
59
- ) -> Callable[[OperatorType], List[TileableType]]:
60
- op_cls = cls._get_op_cls(op)
61
- return cls._handlers.get(op_cls, op_cls.tile)
62
-
63
- @classmethod
64
- def _assign_to(
65
- cls,
66
- tile_after_tensor_datas: List["TileableData"],
67
- tile_before_tensor_datas: List["TileableData"],
68
- ):
69
- assert len(tile_after_tensor_datas) == len(tile_before_tensor_datas)
70
-
71
- for tile_after_tensor_data, tile_before_tensor_data in zip(
72
- tile_after_tensor_datas, tile_before_tensor_datas
73
- ):
74
- if tile_before_tensor_data is None:
75
- # garbage collected
76
- continue
77
- tile_after_tensor_data.copy_to(tile_before_tensor_data)
78
- tile_before_tensor_data.op.outputs = tile_before_tensor_datas
79
-
80
- @enter_mode(kernel=True)
81
- def dispatch(self, op: OperatorType):
82
- op_cls = self._get_op_cls(op)
83
- tiled = None
84
- cause = None
85
-
86
- if op_cls in self._handlers:
87
- tiled = self._handlers[op_cls](op)
88
- else:
89
- try:
90
- tiled = op_cls.tile(op)
91
- except NotImplementedError as ex:
92
- cause = ex
93
- for super_cls in op_cls.__mro__:
94
- if super_cls in self._handlers:
95
- h = self._handlers[op_cls] = self._handlers[super_cls]
96
- tiled = h(op)
97
- break
98
-
99
- if tiled is not None:
100
- return tiled if isinstance(tiled, list) else [tiled]
101
- else:
102
- raise NotImplementedError(f"{type(op)} does not support tile") from cause
103
-
104
-
105
- handler = OperatorTilesHandler()
106
- register = OperatorTilesHandler.register
107
- unregister = OperatorTilesHandler.unregister
108
-
109
-
110
35
  class _ChunksIndexer:
111
36
  __slots__ = ("_tileable",)
112
37
 
@@ -231,7 +156,7 @@ entity_view_handler = EntityDataModificationHandler()
231
156
 
232
157
 
233
158
  class TileableData(EntityData, _ExecutableMixin):
234
- __slots__ = "_cix", "_entities", "_executed_sessions"
159
+ __slots__ = "_chunks", "_cix", "_entities", "_executed_sessions"
235
160
  _no_copy_attrs_ = Base._no_copy_attrs_ | {"_cix"}
236
161
 
237
162
  # optional fields
@@ -245,6 +170,8 @@ class TileableData(EntityData, _ExecutableMixin):
245
170
  cache = BoolField("cache", default=False)
246
171
 
247
172
  def __init__(self: TileableType, *args, **kwargs):
173
+ if kwargs.get("chunks") is not None:
174
+ self._chunks = kwargs.pop("chunks")
248
175
  if kwargs.get("_nsplits", None) is not None:
249
176
  kwargs["_nsplits"] = tuple(tuple(s) for s in kwargs["_nsplits"])
250
177
 
@@ -270,7 +197,7 @@ class TileableData(EntityData, _ExecutableMixin):
270
197
  return tuple(map(len, self._nsplits))
271
198
 
272
199
  @property
273
- def chunks(self) -> List[Chunk]:
200
+ def chunks(self) -> list:
274
201
  return getattr(self, "_chunks", None)
275
202
 
276
203
  @property