maxframe 0.1.0b4__tar.gz → 1.0.0__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 (674) hide show
  1. {maxframe-0.1.0b4 → maxframe-1.0.0}/MANIFEST.in +4 -0
  2. {maxframe-0.1.0b4 → maxframe-1.0.0}/PKG-INFO +1 -1
  3. maxframe-1.0.0/README.rst +73 -0
  4. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/__init__.py +1 -0
  5. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/codegen.py +56 -5
  6. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/config/config.py +78 -10
  7. maxframe-1.0.0/maxframe/config/validators.py +88 -0
  8. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/__init__.py +2 -16
  9. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/__init__.py +1 -12
  10. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/executable.py +1 -1
  11. maxframe-1.0.0/maxframe/core/entity/objects.py +101 -0
  12. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/output_types.py +0 -3
  13. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/tileables.py +5 -78
  14. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/__init__.py +2 -2
  15. {maxframe-0.1.0b4/maxframe/learn/contrib → maxframe-1.0.0/maxframe/core/graph/builder}/__init__.py +1 -3
  16. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/builder/base.py +5 -4
  17. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/builder/tileable.py +4 -4
  18. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/builder/utils.py +4 -8
  19. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/core.pyx +4 -4
  20. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/graph/entity.py +9 -33
  21. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/__init__.py +2 -9
  22. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/base.py +3 -5
  23. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/objects.py +0 -9
  24. maxframe-1.0.0/maxframe/core/operator/utils.py +55 -0
  25. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/__init__.py +2 -1
  26. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/around.py +5 -17
  27. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/core.py +15 -7
  28. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/docstring.py +7 -33
  29. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/equal.py +4 -2
  30. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/greater.py +4 -2
  31. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/greater_equal.py +4 -2
  32. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/less.py +2 -2
  33. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/less_equal.py +4 -2
  34. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/not_equal.py +4 -2
  35. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/core.py +58 -12
  36. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/date_range.py +2 -2
  37. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/read_odps_query.py +120 -24
  38. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/read_odps_table.py +9 -4
  39. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datastore/to_odps.py +28 -0
  40. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/extensions/__init__.py +5 -0
  41. maxframe-1.0.0/maxframe/dataframe/extensions/flatjson.py +131 -0
  42. maxframe-1.0.0/maxframe/dataframe/extensions/flatmap.py +317 -0
  43. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/extensions/reshuffle.py +1 -1
  44. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/core.py +1 -1
  45. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/cum.py +0 -1
  46. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/fill.py +4 -1
  47. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/getitem.py +6 -0
  48. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/transform.py +5 -1
  49. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/align.py +1 -1
  50. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/loc.py +6 -4
  51. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/rename.py +5 -28
  52. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/sample.py +0 -1
  53. maxframe-1.0.0/maxframe/dataframe/indexing/set_index.py +128 -0
  54. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/initializer.py +11 -1
  55. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/merge/__init__.py +9 -1
  56. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/merge/concat.py +41 -31
  57. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/merge/merge.py +237 -3
  58. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/__init__.py +4 -0
  59. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/apply.py +6 -11
  60. maxframe-1.0.0/maxframe/dataframe/misc/case_when.py +141 -0
  61. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/describe.py +2 -2
  62. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/drop_duplicates.py +8 -8
  63. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/eval.py +4 -0
  64. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/memory_usage.py +2 -2
  65. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/pct_change.py +1 -83
  66. maxframe-1.0.0/maxframe/dataframe/misc/pivot_table.py +262 -0
  67. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/transform.py +1 -30
  68. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/value_counts.py +4 -17
  69. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/missing/dropna.py +1 -1
  70. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/missing/fillna.py +5 -5
  71. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/operators.py +1 -17
  72. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/plotting/core.py +2 -2
  73. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/core.py +4 -3
  74. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/sort/sort_values.py +1 -11
  75. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/statistics/corr.py +3 -3
  76. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/statistics/quantile.py +13 -19
  77. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/utils.py +33 -11
  78. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/expanding.py +5 -3
  79. maxframe-0.1.0b4/maxframe/core/operator/fuse.py → maxframe-1.0.0/maxframe/errors.py +15 -10
  80. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/extension.py +12 -0
  81. maxframe-1.0.0/maxframe/io/objects/__init__.py +24 -0
  82. maxframe-1.0.0/maxframe/io/objects/core.py +140 -0
  83. maxframe-1.0.0/maxframe/io/objects/tensor.py +76 -0
  84. {maxframe-0.1.0b4/maxframe → maxframe-1.0.0/maxframe/io}/odpsio/__init__.py +3 -1
  85. {maxframe-0.1.0b4/maxframe → maxframe-1.0.0/maxframe/io}/odpsio/arrow.py +43 -12
  86. {maxframe-0.1.0b4/maxframe → maxframe-1.0.0/maxframe/io}/odpsio/schema.py +38 -16
  87. maxframe-1.0.0/maxframe/io/odpsio/tableio.py +719 -0
  88. maxframe-1.0.0/maxframe/io/odpsio/volumeio.py +63 -0
  89. maxframe-1.0.0/maxframe/learn/contrib/__init__.py +19 -0
  90. maxframe-1.0.0/maxframe/learn/contrib/graph/__init__.py +15 -0
  91. maxframe-1.0.0/maxframe/learn/contrib/graph/connected_components.py +215 -0
  92. maxframe-1.0.0/maxframe/learn/contrib/llm/__init__.py +16 -0
  93. maxframe-1.0.0/maxframe/learn/contrib/llm/core.py +54 -0
  94. maxframe-1.0.0/maxframe/learn/contrib/llm/models/__init__.py +14 -0
  95. maxframe-1.0.0/maxframe/learn/contrib/llm/models/dashscope.py +73 -0
  96. maxframe-1.0.0/maxframe/learn/contrib/llm/multi_modal.py +42 -0
  97. maxframe-1.0.0/maxframe/learn/contrib/llm/text.py +42 -0
  98. maxframe-1.0.0/maxframe/learn/contrib/utils.py +52 -0
  99. maxframe-1.0.0/maxframe/learn/contrib/xgboost/__init__.py +26 -0
  100. maxframe-1.0.0/maxframe/learn/contrib/xgboost/classifier.py +110 -0
  101. maxframe-1.0.0/maxframe/learn/contrib/xgboost/core.py +241 -0
  102. maxframe-1.0.0/maxframe/learn/contrib/xgboost/dmatrix.py +147 -0
  103. maxframe-1.0.0/maxframe/learn/contrib/xgboost/predict.py +121 -0
  104. maxframe-1.0.0/maxframe/learn/contrib/xgboost/regressor.py +71 -0
  105. maxframe-1.0.0/maxframe/learn/contrib/xgboost/train.py +132 -0
  106. maxframe-0.1.0b4/maxframe/errors.py → maxframe-1.0.0/maxframe/learn/core.py +7 -2
  107. {maxframe-0.1.0b4/maxframe/tensor/merge → maxframe-1.0.0/maxframe/learn/utils}/__init__.py +1 -1
  108. maxframe-0.1.0b4/maxframe/dataframe/tseries/tests/test_tseries.py → maxframe-1.0.0/maxframe/learn/utils/core.py +11 -12
  109. maxframe-1.0.0/maxframe/lib/mmh3.pyi +43 -0
  110. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/wrapped_pickle.py +2 -1
  111. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/opcodes.py +11 -0
  112. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/protocol.py +154 -27
  113. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/remote/core.py +4 -8
  114. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/__init__.py +1 -0
  115. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/core.pxd +3 -0
  116. maxframe-1.0.0/maxframe/serialization/core.pyi +64 -0
  117. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/core.pyx +67 -26
  118. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/exception.py +1 -1
  119. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/pandas.py +52 -17
  120. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/serializables/core.py +180 -15
  121. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/serializables/field_type.py +4 -1
  122. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/session.py +37 -2
  123. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/__init__.py +81 -2
  124. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/isclose.py +1 -0
  125. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/core.py +5 -136
  126. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/array.py +7 -2
  127. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/full.py +1 -1
  128. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/scalar.py +1 -1
  129. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/flatnonzero.py +1 -1
  130. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/getitem.py +2 -0
  131. maxframe-1.0.0/maxframe/tensor/merge/__init__.py +17 -0
  132. maxframe-1.0.0/maxframe/tensor/merge/concatenate.py +101 -0
  133. maxframe-1.0.0/maxframe/tensor/merge/vstack.py +74 -0
  134. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/__init__.py +4 -0
  135. maxframe-1.0.0/maxframe/tensor/misc/atleast_1d.py +72 -0
  136. maxframe-1.0.0/maxframe/tensor/misc/atleast_2d.py +70 -0
  137. maxframe-1.0.0/maxframe/tensor/misc/atleast_3d.py +85 -0
  138. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/transpose.py +22 -18
  139. maxframe-1.0.0/maxframe/tensor/misc/unique.py +205 -0
  140. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/operators.py +1 -7
  141. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/core.py +1 -1
  142. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/count_nonzero.py +2 -1
  143. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/mean.py +1 -0
  144. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanmean.py +1 -0
  145. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanvar.py +2 -0
  146. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/var.py +2 -0
  147. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/statistics/quantile.py +2 -2
  148. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/utils.py +2 -22
  149. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/typing_.py +4 -1
  150. maxframe-1.0.0/maxframe/udf.py +133 -0
  151. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/utils.py +112 -86
  152. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe.egg-info/PKG-INFO +1 -1
  153. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe.egg-info/SOURCES.txt +49 -107
  154. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe.egg-info/requires.txt +3 -3
  155. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/__init__.py +0 -1
  156. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/clients/framedriver.py +4 -1
  157. maxframe-1.0.0/maxframe_client/fetcher.py +271 -0
  158. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/session/consts.py +3 -0
  159. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/session/graph.py +8 -2
  160. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/session/odps.py +223 -40
  161. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/session/task.py +108 -80
  162. {maxframe-0.1.0b4 → maxframe-1.0.0}/pyproject.toml +16 -7
  163. {maxframe-0.1.0b4 → maxframe-1.0.0}/setup.py +11 -2
  164. maxframe-0.1.0b4/maxframe/config/tests/test_config.py +0 -103
  165. maxframe-0.1.0b4/maxframe/config/tests/test_validators.py +0 -34
  166. maxframe-0.1.0b4/maxframe/config/validators.py +0 -57
  167. maxframe-0.1.0b4/maxframe/conftest.py +0 -139
  168. maxframe-0.1.0b4/maxframe/core/entity/chunks.py +0 -68
  169. maxframe-0.1.0b4/maxframe/core/entity/fuse.py +0 -73
  170. maxframe-0.1.0b4/maxframe/core/entity/objects.py +0 -100
  171. maxframe-0.1.0b4/maxframe/core/graph/builder/__init__.py +0 -16
  172. maxframe-0.1.0b4/maxframe/core/graph/builder/chunk.py +0 -430
  173. maxframe-0.1.0b4/maxframe/core/graph/tests/test_graph.py +0 -205
  174. maxframe-0.1.0b4/maxframe/core/operator/tests/test_core.py +0 -64
  175. maxframe-0.1.0b4/maxframe/core/tests/test_mode.py +0 -75
  176. maxframe-0.1.0b4/maxframe/dataframe/arithmetic/tests/test_arithmetic.py +0 -695
  177. maxframe-0.1.0b4/maxframe/dataframe/datasource/tests/test_datasource.py +0 -401
  178. maxframe-0.1.0b4/maxframe/dataframe/extensions/tests/__init__.py +0 -13
  179. maxframe-0.1.0b4/maxframe/dataframe/extensions/tests/test_extensions.py +0 -38
  180. maxframe-0.1.0b4/maxframe/dataframe/groupby/tests/__init__.py +0 -13
  181. maxframe-0.1.0b4/maxframe/dataframe/groupby/tests/test_groupby.py +0 -374
  182. maxframe-0.1.0b4/maxframe/dataframe/indexing/set_index.py +0 -61
  183. maxframe-0.1.0b4/maxframe/dataframe/indexing/tests/__init__.py +0 -13
  184. maxframe-0.1.0b4/maxframe/dataframe/indexing/tests/test_indexing.py +0 -488
  185. maxframe-0.1.0b4/maxframe/dataframe/merge/tests/__init__.py +0 -13
  186. maxframe-0.1.0b4/maxframe/dataframe/merge/tests/test_merge.py +0 -215
  187. maxframe-0.1.0b4/maxframe/dataframe/misc/tests/__init__.py +0 -13
  188. maxframe-0.1.0b4/maxframe/dataframe/misc/tests/test_misc.py +0 -407
  189. maxframe-0.1.0b4/maxframe/dataframe/missing/tests/__init__.py +0 -13
  190. maxframe-0.1.0b4/maxframe/dataframe/missing/tests/test_missing.py +0 -89
  191. maxframe-0.1.0b4/maxframe/dataframe/plotting/tests/__init__.py +0 -13
  192. maxframe-0.1.0b4/maxframe/dataframe/plotting/tests/test_plotting.py +0 -136
  193. maxframe-0.1.0b4/maxframe/dataframe/reduction/tests/__init__.py +0 -13
  194. maxframe-0.1.0b4/maxframe/dataframe/reduction/tests/test_reduction.py +0 -486
  195. maxframe-0.1.0b4/maxframe/dataframe/sort/tests/__init__.py +0 -13
  196. maxframe-0.1.0b4/maxframe/dataframe/sort/tests/test_sort.py +0 -81
  197. maxframe-0.1.0b4/maxframe/dataframe/statistics/tests/__init__.py +0 -13
  198. maxframe-0.1.0b4/maxframe/dataframe/statistics/tests/test_statistics.py +0 -82
  199. maxframe-0.1.0b4/maxframe/dataframe/tests/__init__.py +0 -13
  200. maxframe-0.1.0b4/maxframe/dataframe/tests/test_initializer.py +0 -29
  201. maxframe-0.1.0b4/maxframe/dataframe/tseries/__init__.py +0 -13
  202. maxframe-0.1.0b4/maxframe/dataframe/tseries/tests/__init__.py +0 -13
  203. maxframe-0.1.0b4/maxframe/dataframe/window/tests/__init__.py +0 -13
  204. maxframe-0.1.0b4/maxframe/dataframe/window/tests/test_ewm.py +0 -70
  205. maxframe-0.1.0b4/maxframe/dataframe/window/tests/test_expanding.py +0 -66
  206. maxframe-0.1.0b4/maxframe/dataframe/window/tests/test_rolling.py +0 -57
  207. maxframe-0.1.0b4/maxframe/learn/contrib/pytorch/tests/__init__.py +0 -13
  208. maxframe-0.1.0b4/maxframe/learn/contrib/pytorch/tests/test_pytorch.py +0 -42
  209. maxframe-0.1.0b4/maxframe/lib/aio/tests/__init__.py +0 -13
  210. maxframe-0.1.0b4/maxframe/lib/aio/tests/test_aio_file.py +0 -55
  211. maxframe-0.1.0b4/maxframe/lib/cython/__init__.py +0 -13
  212. maxframe-0.1.0b4/maxframe/lib/filesystem/_oss_lib/__init__.py +0 -13
  213. maxframe-0.1.0b4/maxframe/lib/filesystem/tests/__init__.py +0 -13
  214. maxframe-0.1.0b4/maxframe/lib/filesystem/tests/test_filesystem.py +0 -223
  215. maxframe-0.1.0b4/maxframe/lib/filesystem/tests/test_oss.py +0 -182
  216. maxframe-0.1.0b4/maxframe/lib/sparse/tests/__init__.py +0 -15
  217. maxframe-0.1.0b4/maxframe/lib/sparse/tests/test_sparse.py +0 -476
  218. maxframe-0.1.0b4/maxframe/lib/tests/__init__.py +0 -13
  219. maxframe-0.1.0b4/maxframe/lib/tests/test_wrapped_pickle.py +0 -51
  220. maxframe-0.1.0b4/maxframe/odpsio/tableio.py +0 -300
  221. maxframe-0.1.0b4/maxframe/odpsio/tests/__init__.py +0 -13
  222. maxframe-0.1.0b4/maxframe/odpsio/tests/test_arrow.py +0 -88
  223. maxframe-0.1.0b4/maxframe/odpsio/tests/test_schema.py +0 -292
  224. maxframe-0.1.0b4/maxframe/odpsio/tests/test_tableio.py +0 -136
  225. maxframe-0.1.0b4/maxframe/odpsio/tests/test_volumeio.py +0 -90
  226. maxframe-0.1.0b4/maxframe/odpsio/volumeio.py +0 -95
  227. maxframe-0.1.0b4/maxframe/serialization/serializables/tests/__init__.py +0 -13
  228. maxframe-0.1.0b4/maxframe/serialization/serializables/tests/test_field_type.py +0 -121
  229. maxframe-0.1.0b4/maxframe/serialization/serializables/tests/test_serializable.py +0 -250
  230. maxframe-0.1.0b4/maxframe/serialization/tests/__init__.py +0 -13
  231. maxframe-0.1.0b4/maxframe/serialization/tests/test_serial.py +0 -412
  232. maxframe-0.1.0b4/maxframe/tensor/arithmetic/tests/__init__.py +0 -15
  233. maxframe-0.1.0b4/maxframe/tensor/arithmetic/tests/test_arithmetic.py +0 -414
  234. maxframe-0.1.0b4/maxframe/tensor/base/tests/__init__.py +0 -13
  235. maxframe-0.1.0b4/maxframe/tensor/base/tests/test_base.py +0 -114
  236. maxframe-0.1.0b4/maxframe/tensor/datasource/tests/__init__.py +0 -13
  237. maxframe-0.1.0b4/maxframe/tensor/datasource/tests/test_datasource.py +0 -278
  238. maxframe-0.1.0b4/maxframe/tensor/indexing/tests/__init__.py +0 -15
  239. maxframe-0.1.0b4/maxframe/tensor/indexing/tests/test_indexing.py +0 -234
  240. maxframe-0.1.0b4/maxframe/tensor/merge/tests/__init__.py +0 -13
  241. maxframe-0.1.0b4/maxframe/tensor/merge/tests/test_merge.py +0 -52
  242. maxframe-0.1.0b4/maxframe/tensor/random/tests/__init__.py +0 -15
  243. maxframe-0.1.0b4/maxframe/tensor/random/tests/test_random.py +0 -167
  244. maxframe-0.1.0b4/maxframe/tensor/reduction/tests/__init__.py +0 -13
  245. maxframe-0.1.0b4/maxframe/tensor/reduction/tests/test_reduction.py +0 -181
  246. maxframe-0.1.0b4/maxframe/tensor/reshape/tests/__init__.py +0 -15
  247. maxframe-0.1.0b4/maxframe/tensor/reshape/tests/test_reshape.py +0 -37
  248. maxframe-0.1.0b4/maxframe/tensor/statistics/__init__.py +0 -13
  249. maxframe-0.1.0b4/maxframe/tests/__init__.py +0 -13
  250. maxframe-0.1.0b4/maxframe/tests/test_codegen.py +0 -69
  251. maxframe-0.1.0b4/maxframe/tests/test_protocol.py +0 -144
  252. maxframe-0.1.0b4/maxframe/tests/test_utils.py +0 -376
  253. maxframe-0.1.0b4/maxframe/tests/utils.py +0 -164
  254. maxframe-0.1.0b4/maxframe/udf.py +0 -74
  255. maxframe-0.1.0b4/maxframe_client/clients/__init__.py +0 -13
  256. maxframe-0.1.0b4/maxframe_client/clients/spe.py +0 -104
  257. maxframe-0.1.0b4/maxframe_client/conftest.py +0 -15
  258. maxframe-0.1.0b4/maxframe_client/fetcher.py +0 -202
  259. maxframe-0.1.0b4/maxframe_client/session/tests/__init__.py +0 -13
  260. maxframe-0.1.0b4/maxframe_client/session/tests/test_task.py +0 -85
  261. maxframe-0.1.0b4/maxframe_client/tests/__init__.py +0 -13
  262. maxframe-0.1.0b4/maxframe_client/tests/test_fetcher.py +0 -89
  263. maxframe-0.1.0b4/maxframe_client/tests/test_session.py +0 -228
  264. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/_utils.pxd +0 -0
  265. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/_utils.pyx +0 -0
  266. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/config/__init__.py +0 -0
  267. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/base.py +0 -0
  268. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/core.py +0 -0
  269. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/entity/utils.py +0 -0
  270. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/mode.py +0 -0
  271. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/core.py +0 -0
  272. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/fetch.py +0 -0
  273. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/core/operator/shuffle.py +0 -0
  274. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/__init__.py +0 -0
  275. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/abs.py +0 -0
  276. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/add.py +0 -0
  277. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arccos.py +0 -0
  278. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
  279. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
  280. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
  281. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arctan.py +0 -0
  282. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
  283. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
  284. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
  285. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
  286. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/ceil.py +0 -0
  287. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/cos.py +0 -0
  288. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/cosh.py +0 -0
  289. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/degrees.py +0 -0
  290. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/exp.py +0 -0
  291. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/exp2.py +0 -0
  292. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/expm1.py +0 -0
  293. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/floor.py +0 -0
  294. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
  295. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/invert.py +0 -0
  296. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
  297. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/log.py +0 -0
  298. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/log10.py +0 -0
  299. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/log2.py +0 -0
  300. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/mod.py +0 -0
  301. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/multiply.py +0 -0
  302. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/negative.py +0 -0
  303. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/power.py +0 -0
  304. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/radians.py +0 -0
  305. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/sin.py +0 -0
  306. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/sinh.py +0 -0
  307. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
  308. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/subtract.py +0 -0
  309. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/tan.py +0 -0
  310. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/tanh.py +0 -0
  311. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/truediv.py +0 -0
  312. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arithmetic/trunc.py +0 -0
  313. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/arrays.py +0 -0
  314. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/__init__.py +0 -0
  315. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/core.py +0 -0
  316. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/dataframe.py +0 -0
  317. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/from_index.py +0 -0
  318. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/from_records.py +0 -0
  319. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/from_tensor.py +0 -0
  320. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/index.py +0 -0
  321. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/read_csv.py +0 -0
  322. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/read_parquet.py +0 -0
  323. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datasource/series.py +0 -0
  324. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datastore/__init__.py +0 -0
  325. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datastore/core.py +0 -0
  326. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/datastore/to_csv.py +0 -0
  327. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/extensions/accessor.py +0 -0
  328. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/fetch/__init__.py +0 -0
  329. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/fetch/core.py +0 -0
  330. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/__init__.py +0 -0
  331. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/aggregation.py +0 -0
  332. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/apply.py +0 -0
  333. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/head.py +0 -0
  334. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/groupby/sample.py +0 -0
  335. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/__init__.py +0 -0
  336. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/add_prefix_suffix.py +0 -0
  337. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/at.py +0 -0
  338. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/getitem.py +0 -0
  339. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/iat.py +0 -0
  340. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/iloc.py +0 -0
  341. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/insert.py +0 -0
  342. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/reindex.py +0 -0
  343. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/rename_axis.py +0 -0
  344. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/reset_index.py +0 -0
  345. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/set_axis.py +0 -0
  346. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/setitem.py +0 -0
  347. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/indexing/where.py +0 -0
  348. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/merge/append.py +0 -0
  349. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/_duplicate.py +0 -0
  350. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/accessor.py +0 -0
  351. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/astype.py +0 -0
  352. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/check_monotonic.py +0 -0
  353. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/cut.py +0 -0
  354. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/datetimes.py +0 -0
  355. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/diff.py +0 -0
  356. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/drop.py +0 -0
  357. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/duplicated.py +0 -0
  358. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/explode.py +0 -0
  359. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/get_dummies.py +0 -0
  360. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/isin.py +0 -0
  361. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/map.py +0 -0
  362. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/melt.py +0 -0
  363. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/qcut.py +0 -0
  364. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/select_dtypes.py +0 -0
  365. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/shift.py +0 -0
  366. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/stack.py +0 -0
  367. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/string_.py +0 -0
  368. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/to_numeric.py +0 -0
  369. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/misc/transpose.py +0 -0
  370. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/missing/__init__.py +0 -0
  371. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/missing/checkna.py +0 -0
  372. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/missing/replace.py +0 -0
  373. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/plotting/__init__.py +0 -0
  374. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/__init__.py +0 -0
  375. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/aggregation.py +0 -0
  376. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/all.py +0 -0
  377. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/any.py +0 -0
  378. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/count.py +0 -0
  379. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/cummax.py +0 -0
  380. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/cummin.py +0 -0
  381. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/cumprod.py +0 -0
  382. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/cumsum.py +0 -0
  383. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
  384. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/kurtosis.py +0 -0
  385. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/max.py +0 -0
  386. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/mean.py +0 -0
  387. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/min.py +0 -0
  388. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/nunique.py +0 -0
  389. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/prod.py +0 -0
  390. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/reduction_size.py +0 -0
  391. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/sem.py +0 -0
  392. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/skew.py +0 -0
  393. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/std.py +0 -0
  394. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/str_concat.py +0 -0
  395. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/sum.py +0 -0
  396. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/unique.py +0 -0
  397. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/reduction/var.py +0 -0
  398. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/sort/__init__.py +0 -0
  399. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/sort/core.py +0 -0
  400. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/sort/sort_index.py +0 -0
  401. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/statistics/__init__.py +0 -0
  402. {maxframe-0.1.0b4/maxframe/config/tests → maxframe-1.0.0/maxframe/dataframe/tseries}/__init__.py +0 -0
  403. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/tseries/to_datetime.py +0 -0
  404. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/ufunc/__init__.py +0 -0
  405. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/ufunc/tensor.py +0 -0
  406. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/ufunc/ufunc.py +0 -0
  407. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/__init__.py +0 -0
  408. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/aggregation.py +0 -0
  409. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/core.py +0 -0
  410. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/ewm.py +0 -0
  411. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/dataframe/window/rolling.py +0 -0
  412. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/env.py +0 -0
  413. {maxframe-0.1.0b4/maxframe/core/graph/tests → maxframe-1.0.0/maxframe/io}/__init__.py +0 -0
  414. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/learn/__init__.py +0 -0
  415. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
  416. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
  417. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
  418. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/__init__.py +0 -0
  419. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/__init__.py +0 -0
  420. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/_runners.py +0 -0
  421. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/_threads.py +0 -0
  422. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/base.py +0 -0
  423. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/file.py +0 -0
  424. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/isolation.py +0 -0
  425. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/lru.py +0 -0
  426. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/aio/parallelism.py +0 -0
  427. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/compression.py +0 -0
  428. {maxframe-0.1.0b4/maxframe/core/operator/tests → maxframe-1.0.0/maxframe/lib/cython}/__init__.py +0 -0
  429. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/cython/libcpp.pxd +0 -0
  430. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/__init__.py +0 -0
  431. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/_glob.py +0 -0
  432. {maxframe-0.1.0b4/maxframe/core/tests → maxframe-1.0.0/maxframe/lib/filesystem/_oss_lib}/__init__.py +0 -0
  433. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
  434. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
  435. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
  436. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/arrow.py +0 -0
  437. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/base.py +0 -0
  438. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/core.py +0 -0
  439. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/fsmap.py +0 -0
  440. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/hdfs.py +0 -0
  441. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/local.py +0 -0
  442. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/filesystem/oss.py +0 -0
  443. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/functools_compat.py +0 -0
  444. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
  445. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
  446. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
  447. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/sparse/__init__.py +0 -0
  448. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/sparse/array.py +0 -0
  449. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/sparse/core.py +0 -0
  450. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/sparse/matrix.py +0 -0
  451. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/sparse/vector.py +0 -0
  452. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/tblib/LICENSE +0 -0
  453. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/tblib/__init__.py +0 -0
  454. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/tblib/cpython.py +0 -0
  455. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/tblib/decorators.py +0 -0
  456. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/tblib/pickling_support.py +0 -0
  457. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/lib/version.py +0 -0
  458. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/mixin.py +0 -0
  459. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/remote/__init__.py +0 -0
  460. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/remote/run_script.py +0 -0
  461. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/arrow.py +0 -0
  462. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/maxframe_objects.py +0 -0
  463. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/numpy.py +0 -0
  464. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/scipy.py +0 -0
  465. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/serializables/__init__.py +0 -0
  466. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/serialization/serializables/field.py +0 -0
  467. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/__init__.py +0 -0
  468. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/abs.py +0 -0
  469. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/absolute.py +0 -0
  470. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/add.py +0 -0
  471. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/angle.py +0 -0
  472. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arccos.py +0 -0
  473. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arccosh.py +0 -0
  474. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arcsin.py +0 -0
  475. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
  476. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arctan.py +0 -0
  477. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arctan2.py +0 -0
  478. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/arctanh.py +0 -0
  479. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/around.py +0 -0
  480. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/bitand.py +0 -0
  481. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/bitor.py +0 -0
  482. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/bitxor.py +0 -0
  483. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/cbrt.py +0 -0
  484. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/ceil.py +0 -0
  485. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/clip.py +0 -0
  486. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/conj.py +0 -0
  487. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/copysign.py +0 -0
  488. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/core.py +0 -0
  489. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/cos.py +0 -0
  490. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/cosh.py +0 -0
  491. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
  492. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/degrees.py +0 -0
  493. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/divide.py +0 -0
  494. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/equal.py +0 -0
  495. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/exp.py +0 -0
  496. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/exp2.py +0 -0
  497. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/expm1.py +0 -0
  498. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/fabs.py +0 -0
  499. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/fix.py +0 -0
  500. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/float_power.py +0 -0
  501. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/floor.py +0 -0
  502. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/floordiv.py +0 -0
  503. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/fmax.py +0 -0
  504. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/fmin.py +0 -0
  505. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/fmod.py +0 -0
  506. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/frexp.py +0 -0
  507. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/greater.py +0 -0
  508. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
  509. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/hypot.py +0 -0
  510. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/i0.py +0 -0
  511. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/imag.py +0 -0
  512. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/invert.py +0 -0
  513. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
  514. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/isfinite.py +0 -0
  515. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/isinf.py +0 -0
  516. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/isnan.py +0 -0
  517. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/isreal.py +0 -0
  518. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/ldexp.py +0 -0
  519. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/less.py +0 -0
  520. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/less_equal.py +0 -0
  521. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/log.py +0 -0
  522. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/log10.py +0 -0
  523. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/log1p.py +0 -0
  524. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/log2.py +0 -0
  525. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
  526. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
  527. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logical_and.py +0 -0
  528. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logical_not.py +0 -0
  529. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logical_or.py +0 -0
  530. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
  531. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/lshift.py +0 -0
  532. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/maximum.py +0 -0
  533. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/minimum.py +0 -0
  534. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/mod.py +0 -0
  535. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/modf.py +0 -0
  536. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/multiply.py +0 -0
  537. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
  538. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/negative.py +0 -0
  539. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/nextafter.py +0 -0
  540. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/not_equal.py +0 -0
  541. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/positive.py +0 -0
  542. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/power.py +0 -0
  543. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
  544. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/radians.py +0 -0
  545. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/real.py +0 -0
  546. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
  547. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/rint.py +0 -0
  548. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/rshift.py +0 -0
  549. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/setimag.py +0 -0
  550. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/setreal.py +0 -0
  551. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/sign.py +0 -0
  552. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/signbit.py +0 -0
  553. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/sin.py +0 -0
  554. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/sinc.py +0 -0
  555. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/sinh.py +0 -0
  556. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/spacing.py +0 -0
  557. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/sqrt.py +0 -0
  558. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/square.py +0 -0
  559. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/subtract.py +0 -0
  560. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/tan.py +0 -0
  561. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/tanh.py +0 -0
  562. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/truediv.py +0 -0
  563. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/trunc.py +0 -0
  564. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/arithmetic/utils.py +0 -0
  565. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/array_utils.py +0 -0
  566. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/__init__.py +0 -0
  567. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/arange.py +0 -0
  568. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/core.py +0 -0
  569. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/empty.py +0 -0
  570. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/from_dataframe.py +0 -0
  571. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/from_dense.py +0 -0
  572. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/from_sparse.py +0 -0
  573. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/ones.py +0 -0
  574. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/datasource/zeros.py +0 -0
  575. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/fetch/__init__.py +0 -0
  576. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/fetch/core.py +0 -0
  577. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/__init__.py +0 -0
  578. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/choose.py +0 -0
  579. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/compress.py +0 -0
  580. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/core.py +0 -0
  581. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/extract.py +0 -0
  582. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
  583. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/nonzero.py +0 -0
  584. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/setitem.py +0 -0
  585. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/slice.py +0 -0
  586. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/take.py +0 -0
  587. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/indexing/unravel_index.py +0 -0
  588. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/merge/stack.py +0 -0
  589. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/astype.py +0 -0
  590. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/broadcast_to.py +0 -0
  591. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/ravel.py +0 -0
  592. {maxframe-0.1.0b4/maxframe/tensor/base → maxframe-1.0.0/maxframe/tensor/misc}/where.py +0 -0
  593. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/__init__.py +0 -0
  594. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/beta.py +0 -0
  595. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/binomial.py +0 -0
  596. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/bytes.py +0 -0
  597. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/chisquare.py +0 -0
  598. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/choice.py +0 -0
  599. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/dirichlet.py +0 -0
  600. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/exponential.py +0 -0
  601. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/f.py +0 -0
  602. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/gamma.py +0 -0
  603. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/geometric.py +0 -0
  604. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/gumbel.py +0 -0
  605. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/hypergeometric.py +0 -0
  606. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/laplace.py +0 -0
  607. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/logistic.py +0 -0
  608. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/lognormal.py +0 -0
  609. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/logseries.py +0 -0
  610. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/multinomial.py +0 -0
  611. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/multivariate_normal.py +0 -0
  612. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/negative_binomial.py +0 -0
  613. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
  614. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/noncentral_f.py +0 -0
  615. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/normal.py +0 -0
  616. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/pareto.py +0 -0
  617. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/permutation.py +0 -0
  618. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/poisson.py +0 -0
  619. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/power.py +0 -0
  620. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/rand.py +0 -0
  621. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/randint.py +0 -0
  622. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/randn.py +0 -0
  623. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/random_integers.py +0 -0
  624. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/random_sample.py +0 -0
  625. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/rayleigh.py +0 -0
  626. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/shuffle.py +0 -0
  627. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/standard_cauchy.py +0 -0
  628. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/standard_exponential.py +0 -0
  629. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/standard_gamma.py +0 -0
  630. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/standard_normal.py +0 -0
  631. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/standard_t.py +0 -0
  632. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/triangular.py +0 -0
  633. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/uniform.py +0 -0
  634. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/vonmises.py +0 -0
  635. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/wald.py +0 -0
  636. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/weibull.py +0 -0
  637. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/random/zipf.py +0 -0
  638. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/rechunk/__init__.py +0 -0
  639. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/rechunk/rechunk.py +0 -0
  640. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/__init__.py +0 -0
  641. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/all.py +0 -0
  642. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/allclose.py +0 -0
  643. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/any.py +0 -0
  644. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/argmax.py +0 -0
  645. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/argmin.py +0 -0
  646. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/array_equal.py +0 -0
  647. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/core.py +0 -0
  648. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/cumprod.py +0 -0
  649. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/cumsum.py +0 -0
  650. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/max.py +0 -0
  651. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/min.py +0 -0
  652. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanargmax.py +0 -0
  653. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanargmin.py +0 -0
  654. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nancumprod.py +0 -0
  655. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nancumsum.py +0 -0
  656. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanmax.py +0 -0
  657. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanmin.py +0 -0
  658. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanprod.py +0 -0
  659. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nanstd.py +0 -0
  660. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/nansum.py +0 -0
  661. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/prod.py +0 -0
  662. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/std.py +0 -0
  663. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reduction/sum.py +0 -0
  664. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reshape/__init__.py +0 -0
  665. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/reshape/reshape.py +0 -0
  666. {maxframe-0.1.0b4/maxframe/dataframe/arithmetic/tests → maxframe-1.0.0/maxframe/tensor/statistics}/__init__.py +0 -0
  667. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/statistics/percentile.py +0 -0
  668. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/ufunc/__init__.py +0 -0
  669. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe/tensor/ufunc/ufunc.py +0 -0
  670. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe.egg-info/dependency_links.txt +0 -0
  671. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe.egg-info/top_level.txt +0 -0
  672. {maxframe-0.1.0b4/maxframe/dataframe/datasource/tests → maxframe-1.0.0/maxframe_client/clients}/__init__.py +0 -0
  673. {maxframe-0.1.0b4 → maxframe-1.0.0}/maxframe_client/session/__init__.py +0 -0
  674. {maxframe-0.1.0b4 → maxframe-1.0.0}/setup.cfg +0 -0
@@ -4,5 +4,9 @@ global-include *.pxd
4
4
  global-exclude *.c
5
5
  global-exclude *.cpp
6
6
  include pyproject.toml
7
+ include README.rst
7
8
  include maxframe/lib/mmh3_src/*
9
+ exclude **/tests/**/*
10
+ exclude **/tests/*
11
+ global-exclude conftest.py
8
12
  global-exclude .DS_Store
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maxframe
3
- Version: 0.1.0b4
3
+ Version: 1.0.0
4
4
  Summary: MaxFrame operator-based data analyze framework
5
5
  Provides-Extra: dev
6
6
  Provides-Extra: test
@@ -0,0 +1,73 @@
1
+ MaxCompute MaxFrame Client
2
+ ==========================
3
+
4
+ MaxFrame is a computational framework created by Alibaba Cloud to
5
+ provide a way for Python developers to parallelize their code with
6
+ MaxCompute. It creates a runnable computation graph locally, submits it
7
+ to MaxCompute to execute and obtains results from MaxCompute.
8
+
9
+ MaxFrame client is the client of MaxFrame. Currently it provides a
10
+ DataFrame-based SDK with compatible APIs for pandas. In future, other
11
+ common Python libraries like numpy and scikit-learn will be added as
12
+ well. Python 3.7 is recommended for MaxFrame client to enable all
13
+ functionalities while supports for higher Python versions are on the
14
+ way.
15
+
16
+ Installation
17
+ ------------
18
+
19
+ You may install MaxFrame client through PIP:
20
+
21
+ .. code:: bash
22
+
23
+ pip install maxframe
24
+
25
+ Latest beta version can be installed with ``--pre`` argument:
26
+
27
+ .. code:: bash
28
+
29
+ pip install --pre maxframe
30
+
31
+ You can also install MaxFrame client from source code:
32
+
33
+ .. code:: bash
34
+
35
+ pip install git+https://github.com/aliyun/alibabacloud-odps-maxframe-client.git
36
+
37
+ Getting started
38
+ ---------------
39
+
40
+ We show a simple code example of MaxFrame client which read data from a
41
+ MaxCompute table, performs some simple data transform and writes back
42
+ into MaxCompute.
43
+
44
+ .. code:: python
45
+
46
+ import maxframe.dataframe as md
47
+ import os
48
+ from maxframe import new_session
49
+ from odps import ODPS
50
+
51
+ o = ODPS(
52
+ os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
53
+ os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
54
+ project='your-default-project',
55
+ endpoint='your-end-point',
56
+ )
57
+ session = new_session(o)
58
+
59
+ df = md.read_odps_table("source_table")
60
+ df["A"] = "prefix_" + df["A"]
61
+ md.to_odps_table(df, "prefix_source_table")
62
+
63
+ Documentation
64
+ -------------
65
+
66
+ Detailed documentations can be found
67
+ `here <https://maxframe.readthedocs.io>`__.
68
+
69
+ License
70
+ -------
71
+
72
+ Licensed under the `Apache License
73
+ 2.0 <https://www.apache.org/licenses/LICENSE-2.0.html>`__.
@@ -13,6 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  from . import dataframe, learn, remote, tensor
16
+ from .config import options
16
17
  from .session import execute, fetch, new_session, stop_server
17
18
 
18
19
 
@@ -16,6 +16,7 @@ import abc
16
16
  import base64
17
17
  import dataclasses
18
18
  import logging
19
+ from collections import defaultdict
19
20
  from enum import Enum
20
21
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union
21
22
 
@@ -25,14 +26,14 @@ from odps.utils import camel_to_underline
25
26
  from .core import OperatorType, Tileable, TileableGraph
26
27
  from .core.operator import Fetch
27
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
28
31
  from .lib import wrapped_pickle as pickle
29
- from .odpsio import build_dataframe_table_meta
30
- from .odpsio.schema import pandas_to_odps_schema
31
32
  from .protocol import DataFrameTableMeta, ResultInfo
32
33
  from .serialization import PickleContainer
33
34
  from .serialization.serializables import Serializable, StringField
34
35
  from .typing_ import PandasObjectTypes
35
- from .udf import MarkedFunction
36
+ from .udf import MarkedFunction, PythonPackOptions
36
37
 
37
38
  if TYPE_CHECKING:
38
39
  from odpsctx import ODPSSessionContext
@@ -75,8 +76,18 @@ class AbstractUDF(Serializable):
75
76
  def unregister(self, odps: "ODPSSessionContext"):
76
77
  raise NotImplementedError
77
78
 
79
+ @abc.abstractmethod
80
+ def collect_pythonpack(self) -> List[PythonPackOptions]:
81
+ raise NotImplementedError
82
+
83
+ @abc.abstractmethod
84
+ def load_pythonpack_resources(self, odps_ctx: "ODPSSessionContext") -> None:
85
+ raise NotImplementedError
86
+
78
87
 
79
88
  class UserCodeMixin:
89
+ __slots__ = ()
90
+
80
91
  @classmethod
81
92
  def obj_to_python_expr(cls, obj: Any = None) -> str:
82
93
  """
@@ -335,6 +346,9 @@ def register_engine_codegen(type_: Type["BigDagCodeGenerator"]):
335
346
  BUILTIN_ENGINE_SPE = "SPE"
336
347
  BUILTIN_ENGINE_MCSQL = "MCSQL"
337
348
 
349
+ FAST_RANGE_INDEX_ENABLED = "codegen.fast_range_index_enabled"
350
+ ROW_NUMBER_WINDOW_INDEX_ENABLED = "codegen.row_number_window_index_enabled"
351
+
338
352
 
339
353
  class BigDagCodeGenerator(metaclass=abc.ABCMeta):
340
354
  _context: BigDagCodeContext
@@ -469,14 +483,51 @@ class BigDagCodeGenerator(metaclass=abc.ABCMeta):
469
483
  output_key_to_result_infos=self._context.get_tileable_result_infos(),
470
484
  )
471
485
 
486
+ def run_pythonpacks(
487
+ self,
488
+ odps_ctx: "ODPSSessionContext",
489
+ python_tag: str,
490
+ is_production: bool = False,
491
+ schedule_id: Optional[str] = None,
492
+ hints: Optional[dict] = None,
493
+ priority: Optional[int] = None,
494
+ ) -> Dict[str, PythonPackOptions]:
495
+ key_to_packs = defaultdict(list)
496
+ for udf in self._context.get_udfs():
497
+ for pack in udf.collect_pythonpack():
498
+ key_to_packs[pack.key].append(pack)
499
+ distinct_packs = []
500
+ for packs in key_to_packs.values():
501
+ distinct_packs.append(packs[0])
502
+
503
+ inst_id_to_req = {}
504
+ for pack in distinct_packs:
505
+ inst = odps_ctx.run_pythonpack(
506
+ requirements=pack.requirements,
507
+ prefer_binary=pack.prefer_binary,
508
+ pre_release=pack.pre_release,
509
+ force_rebuild=pack.force_rebuild,
510
+ no_audit_wheel=pack.no_audit_wheel,
511
+ python_tag=python_tag,
512
+ is_production=is_production,
513
+ schedule_id=schedule_id,
514
+ hints=hints,
515
+ priority=priority,
516
+ )
517
+ # fulfill instance id of pythonpacks with same keys
518
+ for same_pack in key_to_packs[pack.key]:
519
+ same_pack.pack_instance_id = inst.id
520
+ inst_id_to_req[inst.id] = pack
521
+ return inst_id_to_req
522
+
472
523
  def register_udfs(self, odps_ctx: "ODPSSessionContext"):
473
524
  for udf in self._context.get_udfs():
474
- logger.info("[Session %s] Registering UDF %s", self._session_id, udf.name)
525
+ logger.info("[Session=%s] Registering UDF %s", self._session_id, udf.name)
475
526
  udf.register(odps_ctx, True)
476
527
 
477
528
  def unregister_udfs(self, odps_ctx: "ODPSSessionContext"):
478
529
  for udf in self._context.get_udfs():
479
- logger.info("[Session %s] Unregistering UDF %s", self._session_id, udf.name)
530
+ logger.info("[Session=%s] Unregistering UDF %s", self._session_id, udf.name)
480
531
  udf.unregister(odps_ctx)
481
532
 
482
533
  def get_udfs(self) -> List[AbstractUDF]:
@@ -19,27 +19,40 @@ import warnings
19
19
  from copy import deepcopy
20
20
  from typing import Any, Dict, Optional, Union
21
21
 
22
+ from odps.lib import tzlocal
23
+
24
+ try:
25
+ from zoneinfo import available_timezones
26
+ except ImportError:
27
+ from pytz import all_timezones
28
+
29
+ available_timezones = lambda: all_timezones
30
+
22
31
  from ..utils import get_python_tag
23
32
  from .validators import (
24
33
  ValidatorType,
25
34
  all_validator,
26
- any_validator,
27
35
  is_bool,
28
36
  is_dict,
29
37
  is_in,
30
38
  is_integer,
39
+ is_non_negative_integer,
31
40
  is_null,
32
41
  is_numeric,
33
42
  is_string,
43
+ is_valid_cache_path,
34
44
  )
35
45
 
36
46
  _DEFAULT_REDIRECT_WARN = "Option {source} has been replaced by {target} and might be removed in a future release."
37
47
  _DEFAULT_MAX_ALIVE_SECONDS = 3 * 24 * 3600
38
48
  _DEFAULT_MAX_IDLE_SECONDS = 3600
39
49
  _DEFAULT_SPE_OPERATION_TIMEOUT_SECONDS = 120
50
+ _DEFAULT_SPE_FAILURE_RETRY_TIMES = 5
40
51
  _DEFAULT_UPLOAD_BATCH_SIZE = 4096
41
52
  _DEFAULT_TEMP_LIFECYCLE = 1
42
53
  _DEFAULT_TASK_START_TIMEOUT = 60
54
+ _DEFAULT_TASK_RESTART_TIMEOUT = 300
55
+ _DEFAULT_LOGVIEW_HOURS = 24 * 30
43
56
 
44
57
 
45
58
  class OptionError(Exception):
@@ -295,23 +308,60 @@ class Config:
295
308
  return {k: v for k, v in res.items() if k in self._remote_options}
296
309
 
297
310
 
298
- default_options = Config()
311
+ def _get_legal_local_tz_name() -> Optional[str]:
312
+ """Sometimes we may get illegal tz name from tzlocal.get_localzone()"""
313
+ tz_name = str(tzlocal.get_localzone())
314
+ if tz_name not in available_timezones():
315
+ return None
316
+ return tz_name
317
+
299
318
 
319
+ default_options = Config()
300
320
  default_options.register_option(
301
321
  "execution_mode", "trigger", validator=is_in(["trigger", "eager"])
302
322
  )
323
+ default_options.register_option("use_common_table", False, validator=is_bool)
303
324
  default_options.register_option(
304
325
  "python_tag", get_python_tag(), validator=is_string, remote=True
305
326
  )
327
+ default_options.register_option(
328
+ "local_timezone",
329
+ _get_legal_local_tz_name(),
330
+ validator=is_null | is_in(set(available_timezones())),
331
+ remote=True,
332
+ )
333
+ default_options.register_option(
334
+ "session.logview_hours", _DEFAULT_LOGVIEW_HOURS, validator=is_integer, remote=True
335
+ )
306
336
  default_options.register_option(
307
337
  "client.task_start_timeout", _DEFAULT_TASK_START_TIMEOUT, validator=is_integer
308
338
  )
339
+ default_options.register_option(
340
+ "client.task_restart_timeout", _DEFAULT_TASK_RESTART_TIMEOUT, validator=is_integer
341
+ )
309
342
  default_options.register_option("sql.enable_mcqa", True, validator=is_bool, remote=True)
310
343
  default_options.register_option(
311
344
  "sql.generate_comments", True, validator=is_bool, remote=True
312
345
  )
346
+ default_options.register_option(
347
+ "sql.auto_use_common_image", True, validator=is_bool, remote=True
348
+ )
313
349
  default_options.register_option("sql.settings", {}, validator=is_dict, remote=True)
314
350
 
351
+ default_options.register_option("is_production", False, validator=is_bool, remote=True)
352
+ default_options.register_option("schedule_id", "", validator=is_string, remote=True)
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
+
315
365
  default_options.register_option(
316
366
  "session.max_alive_seconds",
317
367
  _DEFAULT_MAX_ALIVE_SECONDS,
@@ -324,15 +374,25 @@ default_options.register_option(
324
374
  validator=is_numeric,
325
375
  remote=True,
326
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.enable_high_availability", None, validator=is_null | is_bool, remote=True
385
+ )
386
+ default_options.register_option(
387
+ "session.default_schema", None, validator=is_null | is_string, remote=True
388
+ )
327
389
  default_options.register_option(
328
390
  "session.upload_batch_size",
329
391
  _DEFAULT_UPLOAD_BATCH_SIZE,
330
392
  validator=is_integer,
331
393
  )
332
394
  default_options.register_option(
333
- "session.table_lifecycle",
334
- None,
335
- validator=any_validator(is_null, is_integer),
395
+ "session.table_lifecycle", None, validator=is_null | is_integer, remote=True
336
396
  )
337
397
  default_options.register_option(
338
398
  "session.temp_table_lifecycle",
@@ -343,7 +403,7 @@ default_options.register_option(
343
403
  default_options.register_option(
344
404
  "session.subinstance_priority",
345
405
  None,
346
- validator=any_validator(is_null, is_integer),
406
+ validator=is_null | is_integer,
347
407
  remote=True,
348
408
  )
349
409
 
@@ -355,9 +415,7 @@ default_options.register_option(
355
415
  default_options.register_option(
356
416
  "optimize.head_optimize_threshold", 1000, validator=is_integer
357
417
  )
358
- default_options.register_option(
359
- "show_progress", "auto", validator=any_validator(is_bool, is_string)
360
- )
418
+ default_options.register_option("show_progress", "auto", validator=is_bool | is_string)
361
419
  default_options.register_option(
362
420
  "dag.settings", value=dict(), validator=is_dict, remote=True
363
421
  )
@@ -368,7 +426,13 @@ default_options.register_option(
368
426
  default_options.register_option(
369
427
  "spe.operation_timeout_seconds",
370
428
  _DEFAULT_SPE_OPERATION_TIMEOUT_SECONDS,
371
- validator=is_integer,
429
+ validator=is_non_negative_integer,
430
+ remote=True,
431
+ )
432
+ default_options.register_option(
433
+ "spe.failure_retry_times",
434
+ _DEFAULT_SPE_FAILURE_RETRY_TIMES,
435
+ validator=is_non_negative_integer,
372
436
  remote=True,
373
437
  )
374
438
 
@@ -376,6 +440,10 @@ default_options.register_option(
376
440
  "spe.task.settings", dict(), validator=is_dict, remote=True
377
441
  )
378
442
 
443
+ default_options.register_option(
444
+ "pythonpack.task.settings", {}, validator=is_dict, remote=True
445
+ )
446
+
379
447
  _options_ctx_var = contextvars.ContextVar("_options_ctx_var")
380
448
 
381
449
 
@@ -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,27 +14,18 @@
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
- OBJECT_CHUNK_TYPE,
23
20
  OBJECT_TYPE,
24
21
  TILEABLE_TYPE,
25
- Chunk,
26
- ChunkData,
27
22
  Entity,
28
23
  EntityData,
29
24
  ExecutableTuple,
30
- FuseChunk,
31
- FuseChunkData,
32
25
  HasShapeTileable,
33
26
  HasShapeTileableData,
34
27
  NotSupportTile,
35
28
  Object,
36
- ObjectChunk,
37
- ObjectChunkData,
38
29
  ObjectData,
39
30
  OutputType,
40
31
  Tileable,
@@ -43,23 +34,18 @@ from .entity import (
43
34
  get_fetch_class,
44
35
  get_output_types,
45
36
  get_tileable_types,
46
- register,
47
37
  register_fetch_class,
48
38
  register_output_types,
49
- unregister,
50
39
  )
51
40
 
52
41
  # noinspection PyUnresolvedReferences
53
42
  from .graph import (
54
43
  DAG,
55
- ChunkGraph,
56
- ChunkGraphBuilder,
57
44
  DirectedGraph,
58
45
  GraphContainsCycleError,
59
46
  GraphSerializer,
60
47
  TileableGraph,
61
48
  TileableGraphBuilder,
62
- TileContext,
63
- TileStatus,
64
49
  )
65
50
  from .mode import enter_mode, is_build_mode, is_eager_mode, is_kernel_mode
51
+ from .operator import build_fetch
@@ -12,18 +12,9 @@
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
- from .objects import (
20
- OBJECT_CHUNK_TYPE,
21
- OBJECT_TYPE,
22
- Object,
23
- ObjectChunk,
24
- ObjectChunkData,
25
- ObjectData,
26
- )
17
+ from .objects import OBJECT_TYPE, Object, ObjectData
27
18
  from .output_types import (
28
19
  OutputType,
29
20
  get_fetch_class,
@@ -39,6 +30,4 @@ from .tileables import (
39
30
  NotSupportTile,
40
31
  Tileable,
41
32
  TileableData,
42
- register,
43
- unregister,
44
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)))