maxframe 1.0.0rc1__tar.gz → 1.0.0rc2__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 (561) hide show
  1. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/MANIFEST.in +1 -0
  2. maxframe-1.0.0rc2/PKG-INFO +177 -0
  3. maxframe-1.0.0rc1/PKG-INFO → maxframe-1.0.0rc2/README.rst +72 -6
  4. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/codegen.py +0 -4
  5. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/config/config.py +34 -2
  6. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/config/validators.py +1 -0
  7. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/objects.py +1 -1
  8. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/__init__.py +1 -1
  9. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/around.py +5 -17
  10. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/core.py +15 -7
  11. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/docstring.py +5 -55
  12. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/core.py +5 -5
  13. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/date_range.py +2 -2
  14. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_odps_query.py +6 -0
  15. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_odps_table.py +2 -1
  16. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/cum.py +0 -1
  17. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/add_prefix_suffix.py +1 -1
  18. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/rename.py +3 -37
  19. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/sample.py +0 -1
  20. maxframe-1.0.0rc2/maxframe/dataframe/indexing/set_index.py +128 -0
  21. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/merge.py +236 -2
  22. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/apply.py +3 -10
  23. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/case_when.py +1 -1
  24. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/describe.py +2 -2
  25. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/drop_duplicates.py +4 -25
  26. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/eval.py +4 -0
  27. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/pct_change.py +1 -83
  28. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/transform.py +1 -30
  29. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/value_counts.py +4 -17
  30. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/dropna.py +1 -1
  31. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/fillna.py +5 -5
  32. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/sort_values.py +1 -11
  33. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/quantile.py +5 -17
  34. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/utils.py +4 -7
  35. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/dmatrix.py +2 -2
  36. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/predict.py +2 -2
  37. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/train.py +2 -2
  38. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/odpsio/__init__.py +1 -1
  39. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/odpsio/arrow.py +8 -4
  40. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/odpsio/schema.py +10 -7
  41. maxframe-1.0.0rc2/maxframe/odpsio/tableio.py +696 -0
  42. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/protocol.py +40 -2
  43. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/core.py +48 -9
  44. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/__init__.py +59 -0
  45. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/unique.py +2 -2
  46. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/quantile.py +2 -2
  47. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/utils.py +17 -9
  48. maxframe-1.0.0rc2/maxframe.egg-info/PKG-INFO +177 -0
  49. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe.egg-info/SOURCES.txt +1 -0
  50. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/fetcher.py +38 -27
  51. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/session/odps.py +5 -5
  52. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/pyproject.toml +1 -1
  53. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/setup.py +11 -2
  54. maxframe-1.0.0rc1/maxframe/dataframe/indexing/set_index.py +0 -61
  55. maxframe-1.0.0rc1/maxframe/odpsio/tableio.py +0 -322
  56. maxframe-1.0.0rc1/maxframe.egg-info/PKG-INFO +0 -80
  57. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/__init__.py +0 -0
  58. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/_utils.pxd +0 -0
  59. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/_utils.pyx +0 -0
  60. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/config/__init__.py +0 -0
  61. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/__init__.py +0 -0
  62. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/base.py +0 -0
  63. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/__init__.py +0 -0
  64. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/chunks.py +0 -0
  65. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/core.py +0 -0
  66. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/executable.py +0 -0
  67. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/fuse.py +0 -0
  68. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/output_types.py +0 -0
  69. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/tileables.py +0 -0
  70. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/entity/utils.py +0 -0
  71. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/__init__.py +0 -0
  72. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/__init__.py +0 -0
  73. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/base.py +0 -0
  74. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/chunk.py +0 -0
  75. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/tileable.py +0 -0
  76. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/utils.py +0 -0
  77. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/core.pyx +0 -0
  78. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/graph/entity.py +0 -0
  79. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/mode.py +0 -0
  80. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/__init__.py +0 -0
  81. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/base.py +0 -0
  82. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/core.py +0 -0
  83. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/fetch.py +0 -0
  84. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/fuse.py +0 -0
  85. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/objects.py +0 -0
  86. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/core/operator/shuffle.py +0 -0
  87. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/__init__.py +0 -0
  88. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/abs.py +0 -0
  89. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/add.py +0 -0
  90. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arccos.py +0 -0
  91. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
  92. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
  93. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
  94. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arctan.py +0 -0
  95. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
  96. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
  97. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
  98. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
  99. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/ceil.py +0 -0
  100. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/cos.py +0 -0
  101. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/cosh.py +0 -0
  102. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/degrees.py +0 -0
  103. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/equal.py +0 -0
  104. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/exp.py +0 -0
  105. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/exp2.py +0 -0
  106. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/expm1.py +0 -0
  107. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/floor.py +0 -0
  108. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
  109. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/greater.py +0 -0
  110. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/greater_equal.py +0 -0
  111. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/invert.py +0 -0
  112. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
  113. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/less.py +0 -0
  114. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/less_equal.py +0 -0
  115. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log.py +0 -0
  116. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log10.py +0 -0
  117. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log2.py +0 -0
  118. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/mod.py +0 -0
  119. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/multiply.py +0 -0
  120. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/negative.py +0 -0
  121. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/not_equal.py +0 -0
  122. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/power.py +0 -0
  123. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/radians.py +0 -0
  124. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sin.py +0 -0
  125. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sinh.py +0 -0
  126. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
  127. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/subtract.py +0 -0
  128. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/tan.py +0 -0
  129. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/tanh.py +0 -0
  130. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/truediv.py +0 -0
  131. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/trunc.py +0 -0
  132. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/arrays.py +0 -0
  133. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/__init__.py +0 -0
  134. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/core.py +0 -0
  135. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/dataframe.py +0 -0
  136. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_index.py +0 -0
  137. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_records.py +0 -0
  138. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_tensor.py +0 -0
  139. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/index.py +0 -0
  140. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_csv.py +0 -0
  141. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_parquet.py +0 -0
  142. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/series.py +0 -0
  143. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/__init__.py +0 -0
  144. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/core.py +0 -0
  145. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/to_csv.py +0 -0
  146. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/to_odps.py +0 -0
  147. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/__init__.py +0 -0
  148. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/accessor.py +0 -0
  149. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/reshuffle.py +0 -0
  150. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/fetch/__init__.py +0 -0
  151. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/fetch/core.py +0 -0
  152. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/__init__.py +0 -0
  153. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/aggregation.py +0 -0
  154. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/apply.py +0 -0
  155. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/core.py +0 -0
  156. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/fill.py +0 -0
  157. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/getitem.py +0 -0
  158. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/head.py +0 -0
  159. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/sample.py +0 -0
  160. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/transform.py +0 -0
  161. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/__init__.py +0 -0
  162. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/align.py +0 -0
  163. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/at.py +0 -0
  164. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/getitem.py +0 -0
  165. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/iat.py +0 -0
  166. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/iloc.py +0 -0
  167. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/insert.py +0 -0
  168. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/loc.py +0 -0
  169. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/reindex.py +0 -0
  170. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/rename_axis.py +0 -0
  171. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/reset_index.py +0 -0
  172. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/set_axis.py +0 -0
  173. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/setitem.py +0 -0
  174. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/where.py +0 -0
  175. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/initializer.py +0 -0
  176. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/__init__.py +0 -0
  177. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/append.py +0 -0
  178. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/concat.py +0 -0
  179. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/__init__.py +0 -0
  180. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/_duplicate.py +0 -0
  181. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/accessor.py +0 -0
  182. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/astype.py +0 -0
  183. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/check_monotonic.py +0 -0
  184. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/cut.py +0 -0
  185. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/datetimes.py +0 -0
  186. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/diff.py +0 -0
  187. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/drop.py +0 -0
  188. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/duplicated.py +0 -0
  189. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/explode.py +0 -0
  190. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/get_dummies.py +0 -0
  191. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/isin.py +0 -0
  192. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/map.py +0 -0
  193. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/melt.py +0 -0
  194. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/memory_usage.py +0 -0
  195. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/pivot_table.py +0 -0
  196. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/qcut.py +0 -0
  197. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/select_dtypes.py +0 -0
  198. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/shift.py +0 -0
  199. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/stack.py +0 -0
  200. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/string_.py +0 -0
  201. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/to_numeric.py +0 -0
  202. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/transpose.py +0 -0
  203. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/__init__.py +0 -0
  204. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/checkna.py +0 -0
  205. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/replace.py +0 -0
  206. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/operators.py +0 -0
  207. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/plotting/__init__.py +0 -0
  208. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/plotting/core.py +0 -0
  209. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/__init__.py +0 -0
  210. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/aggregation.py +0 -0
  211. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/all.py +0 -0
  212. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/any.py +0 -0
  213. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/core.py +0 -0
  214. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/count.py +0 -0
  215. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cummax.py +0 -0
  216. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cummin.py +0 -0
  217. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cumprod.py +0 -0
  218. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cumsum.py +0 -0
  219. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
  220. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/kurtosis.py +0 -0
  221. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/max.py +0 -0
  222. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/mean.py +0 -0
  223. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/min.py +0 -0
  224. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/nunique.py +0 -0
  225. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/prod.py +0 -0
  226. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/reduction_size.py +0 -0
  227. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/sem.py +0 -0
  228. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/skew.py +0 -0
  229. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/std.py +0 -0
  230. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/str_concat.py +0 -0
  231. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/sum.py +0 -0
  232. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/unique.py +0 -0
  233. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/var.py +0 -0
  234. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/__init__.py +0 -0
  235. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/core.py +0 -0
  236. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/sort_index.py +0 -0
  237. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/__init__.py +0 -0
  238. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/corr.py +0 -0
  239. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/tseries/__init__.py +0 -0
  240. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/tseries/to_datetime.py +0 -0
  241. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/__init__.py +0 -0
  242. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/tensor.py +0 -0
  243. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/ufunc.py +0 -0
  244. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/__init__.py +0 -0
  245. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/aggregation.py +0 -0
  246. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/core.py +0 -0
  247. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/ewm.py +0 -0
  248. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/expanding.py +0 -0
  249. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/dataframe/window/rolling.py +0 -0
  250. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/env.py +0 -0
  251. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/errors.py +0 -0
  252. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/extension.py +0 -0
  253. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/__init__.py +0 -0
  254. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/__init__.py +0 -0
  255. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
  256. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
  257. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
  258. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/utils.py +0 -0
  259. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/__init__.py +0 -0
  260. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/classifier.py +0 -0
  261. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/core.py +0 -0
  262. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/regressor.py +0 -0
  263. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/utils/__init__.py +0 -0
  264. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/learn/utils/core.py +0 -0
  265. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/__init__.py +0 -0
  266. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/__init__.py +0 -0
  267. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/_runners.py +0 -0
  268. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/_threads.py +0 -0
  269. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/base.py +0 -0
  270. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/file.py +0 -0
  271. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/isolation.py +0 -0
  272. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/lru.py +0 -0
  273. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/aio/parallelism.py +0 -0
  274. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/compression.py +0 -0
  275. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/cython/__init__.py +0 -0
  276. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/cython/libcpp.pxd +0 -0
  277. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/__init__.py +0 -0
  278. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_glob.py +0 -0
  279. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/__init__.py +0 -0
  280. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
  281. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
  282. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
  283. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/arrow.py +0 -0
  284. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/base.py +0 -0
  285. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/core.py +0 -0
  286. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/fsmap.py +0 -0
  287. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/hdfs.py +0 -0
  288. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/local.py +0 -0
  289. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/oss.py +0 -0
  290. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/functools_compat.py +0 -0
  291. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/mmh3.pyi +0 -0
  292. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
  293. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
  294. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
  295. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/sparse/__init__.py +0 -0
  296. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/sparse/array.py +0 -0
  297. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/sparse/core.py +0 -0
  298. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/sparse/matrix.py +0 -0
  299. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/sparse/vector.py +0 -0
  300. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/tblib/LICENSE +0 -0
  301. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/tblib/__init__.py +0 -0
  302. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/tblib/cpython.py +0 -0
  303. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/tblib/decorators.py +0 -0
  304. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/tblib/pickling_support.py +0 -0
  305. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/version.py +0 -0
  306. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/lib/wrapped_pickle.py +0 -0
  307. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/mixin.py +0 -0
  308. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/odpsio/volumeio.py +0 -0
  309. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/opcodes.py +0 -0
  310. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/remote/__init__.py +0 -0
  311. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/remote/core.py +0 -0
  312. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/remote/run_script.py +0 -0
  313. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/__init__.py +0 -0
  314. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/arrow.py +0 -0
  315. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/core.pxd +0 -0
  316. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/core.pyi +0 -0
  317. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/core.pyx +0 -0
  318. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/exception.py +0 -0
  319. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/maxframe_objects.py +0 -0
  320. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/numpy.py +0 -0
  321. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/pandas.py +0 -0
  322. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/scipy.py +0 -0
  323. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/__init__.py +0 -0
  324. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/field.py +0 -0
  325. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/field_type.py +0 -0
  326. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/session.py +0 -0
  327. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/__init__.py +0 -0
  328. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/abs.py +0 -0
  329. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/absolute.py +0 -0
  330. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/add.py +0 -0
  331. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/angle.py +0 -0
  332. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arccos.py +0 -0
  333. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arccosh.py +0 -0
  334. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arcsin.py +0 -0
  335. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
  336. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctan.py +0 -0
  337. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctan2.py +0 -0
  338. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctanh.py +0 -0
  339. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/around.py +0 -0
  340. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitand.py +0 -0
  341. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitor.py +0 -0
  342. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitxor.py +0 -0
  343. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cbrt.py +0 -0
  344. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/ceil.py +0 -0
  345. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/clip.py +0 -0
  346. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/conj.py +0 -0
  347. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/copysign.py +0 -0
  348. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/core.py +0 -0
  349. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cos.py +0 -0
  350. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cosh.py +0 -0
  351. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
  352. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/degrees.py +0 -0
  353. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/divide.py +0 -0
  354. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/equal.py +0 -0
  355. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/exp.py +0 -0
  356. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/exp2.py +0 -0
  357. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/expm1.py +0 -0
  358. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fabs.py +0 -0
  359. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fix.py +0 -0
  360. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/float_power.py +0 -0
  361. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/floor.py +0 -0
  362. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/floordiv.py +0 -0
  363. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmax.py +0 -0
  364. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmin.py +0 -0
  365. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmod.py +0 -0
  366. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/frexp.py +0 -0
  367. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/greater.py +0 -0
  368. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
  369. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/hypot.py +0 -0
  370. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/i0.py +0 -0
  371. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/imag.py +0 -0
  372. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/invert.py +0 -0
  373. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isclose.py +0 -0
  374. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
  375. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isfinite.py +0 -0
  376. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isinf.py +0 -0
  377. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isnan.py +0 -0
  378. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isreal.py +0 -0
  379. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/ldexp.py +0 -0
  380. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/less.py +0 -0
  381. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/less_equal.py +0 -0
  382. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log.py +0 -0
  383. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log10.py +0 -0
  384. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log1p.py +0 -0
  385. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log2.py +0 -0
  386. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
  387. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
  388. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_and.py +0 -0
  389. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_not.py +0 -0
  390. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_or.py +0 -0
  391. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
  392. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/lshift.py +0 -0
  393. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/maximum.py +0 -0
  394. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/minimum.py +0 -0
  395. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/mod.py +0 -0
  396. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/modf.py +0 -0
  397. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/multiply.py +0 -0
  398. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
  399. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/negative.py +0 -0
  400. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/nextafter.py +0 -0
  401. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/not_equal.py +0 -0
  402. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/positive.py +0 -0
  403. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/power.py +0 -0
  404. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
  405. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/radians.py +0 -0
  406. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/real.py +0 -0
  407. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
  408. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rint.py +0 -0
  409. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rshift.py +0 -0
  410. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/setimag.py +0 -0
  411. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/setreal.py +0 -0
  412. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sign.py +0 -0
  413. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/signbit.py +0 -0
  414. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sin.py +0 -0
  415. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sinc.py +0 -0
  416. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sinh.py +0 -0
  417. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/spacing.py +0 -0
  418. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sqrt.py +0 -0
  419. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/square.py +0 -0
  420. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/subtract.py +0 -0
  421. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/tan.py +0 -0
  422. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/tanh.py +0 -0
  423. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/truediv.py +0 -0
  424. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/trunc.py +0 -0
  425. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/utils.py +0 -0
  426. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/array_utils.py +0 -0
  427. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/__init__.py +0 -0
  428. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/astype.py +0 -0
  429. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/atleast_1d.py +0 -0
  430. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/broadcast_to.py +0 -0
  431. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/ravel.py +0 -0
  432. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/transpose.py +0 -0
  433. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/base/where.py +0 -0
  434. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/core.py +0 -0
  435. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/__init__.py +0 -0
  436. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/arange.py +0 -0
  437. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/array.py +0 -0
  438. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/core.py +0 -0
  439. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/empty.py +0 -0
  440. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_dataframe.py +0 -0
  441. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_dense.py +0 -0
  442. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_sparse.py +0 -0
  443. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/full.py +0 -0
  444. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/ones.py +0 -0
  445. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/scalar.py +0 -0
  446. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/zeros.py +0 -0
  447. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/fetch/__init__.py +0 -0
  448. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/fetch/core.py +0 -0
  449. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/__init__.py +0 -0
  450. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/choose.py +0 -0
  451. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/compress.py +0 -0
  452. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/core.py +0 -0
  453. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/extract.py +0 -0
  454. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
  455. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/flatnonzero.py +0 -0
  456. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/getitem.py +0 -0
  457. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/nonzero.py +0 -0
  458. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/setitem.py +0 -0
  459. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/slice.py +0 -0
  460. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/take.py +0 -0
  461. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/unravel_index.py +0 -0
  462. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/merge/__init__.py +0 -0
  463. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/merge/stack.py +0 -0
  464. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/operators.py +0 -0
  465. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/__init__.py +0 -0
  466. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/beta.py +0 -0
  467. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/binomial.py +0 -0
  468. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/bytes.py +0 -0
  469. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/chisquare.py +0 -0
  470. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/choice.py +0 -0
  471. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/core.py +0 -0
  472. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/dirichlet.py +0 -0
  473. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/exponential.py +0 -0
  474. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/f.py +0 -0
  475. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/gamma.py +0 -0
  476. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/geometric.py +0 -0
  477. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/gumbel.py +0 -0
  478. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/hypergeometric.py +0 -0
  479. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/laplace.py +0 -0
  480. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/logistic.py +0 -0
  481. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/lognormal.py +0 -0
  482. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/logseries.py +0 -0
  483. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/multinomial.py +0 -0
  484. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/multivariate_normal.py +0 -0
  485. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/negative_binomial.py +0 -0
  486. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
  487. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/noncentral_f.py +0 -0
  488. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/normal.py +0 -0
  489. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/pareto.py +0 -0
  490. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/permutation.py +0 -0
  491. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/poisson.py +0 -0
  492. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/power.py +0 -0
  493. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/rand.py +0 -0
  494. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/randint.py +0 -0
  495. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/randn.py +0 -0
  496. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/random_integers.py +0 -0
  497. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/random_sample.py +0 -0
  498. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/rayleigh.py +0 -0
  499. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/shuffle.py +0 -0
  500. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_cauchy.py +0 -0
  501. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_exponential.py +0 -0
  502. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_gamma.py +0 -0
  503. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_normal.py +0 -0
  504. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_t.py +0 -0
  505. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/triangular.py +0 -0
  506. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/uniform.py +0 -0
  507. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/vonmises.py +0 -0
  508. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/wald.py +0 -0
  509. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/weibull.py +0 -0
  510. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/random/zipf.py +0 -0
  511. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/rechunk/__init__.py +0 -0
  512. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/rechunk/rechunk.py +0 -0
  513. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/__init__.py +0 -0
  514. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/all.py +0 -0
  515. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/allclose.py +0 -0
  516. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/any.py +0 -0
  517. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/argmax.py +0 -0
  518. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/argmin.py +0 -0
  519. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/array_equal.py +0 -0
  520. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/core.py +0 -0
  521. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/count_nonzero.py +0 -0
  522. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/cumprod.py +0 -0
  523. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/cumsum.py +0 -0
  524. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/max.py +0 -0
  525. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/mean.py +0 -0
  526. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/min.py +0 -0
  527. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanargmax.py +0 -0
  528. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanargmin.py +0 -0
  529. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nancumprod.py +0 -0
  530. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nancumsum.py +0 -0
  531. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmax.py +0 -0
  532. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmean.py +0 -0
  533. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmin.py +0 -0
  534. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanprod.py +0 -0
  535. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanstd.py +0 -0
  536. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nansum.py +0 -0
  537. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanvar.py +0 -0
  538. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/prod.py +0 -0
  539. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/std.py +0 -0
  540. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/sum.py +0 -0
  541. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/var.py +0 -0
  542. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reshape/__init__.py +0 -0
  543. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/reshape/reshape.py +0 -0
  544. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/__init__.py +0 -0
  545. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/percentile.py +0 -0
  546. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/ufunc/__init__.py +0 -0
  547. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/ufunc/ufunc.py +0 -0
  548. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/tensor/utils.py +0 -0
  549. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/typing_.py +0 -0
  550. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe/udf.py +0 -0
  551. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe.egg-info/dependency_links.txt +0 -0
  552. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe.egg-info/requires.txt +0 -0
  553. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe.egg-info/top_level.txt +0 -0
  554. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/__init__.py +0 -0
  555. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/clients/__init__.py +0 -0
  556. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/clients/framedriver.py +0 -0
  557. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/session/__init__.py +0 -0
  558. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/session/consts.py +0 -0
  559. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/session/graph.py +0 -0
  560. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/maxframe_client/session/task.py +0 -0
  561. {maxframe-1.0.0rc1 → maxframe-1.0.0rc2}/setup.cfg +0 -0
@@ -4,6 +4,7 @@ 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/*
8
9
  exclude **/tests/**/*
9
10
  exclude **/tests/*
@@ -0,0 +1,177 @@
1
+ Metadata-Version: 2.1
2
+ Name: maxframe
3
+ Version: 1.0.0rc2
4
+ Summary: MaxFrame operator-based data analyze framework
5
+ Requires-Dist: numpy<2.0.0,>=1.19.0
6
+ Requires-Dist: pandas>=1.0.0
7
+ Requires-Dist: pyodps>=0.11.6.1
8
+ Requires-Dist: scipy>=1.0
9
+ Requires-Dist: pyarrow>=1.0.0
10
+ Requires-Dist: msgpack>=1.0.0
11
+ Requires-Dist: traitlets>=5.0
12
+ Requires-Dist: cloudpickle>=1.5.0
13
+ Requires-Dist: pyyaml>=5.1
14
+ Requires-Dist: pickle5; python_version < "3.8"
15
+ Requires-Dist: tornado>=6.0
16
+ Requires-Dist: defusedxml>=0.5.0
17
+ Requires-Dist: tqdm>=4.1.0
18
+ Requires-Dist: importlib_metadata>=1.4
19
+ Provides-Extra: dev
20
+ Requires-Dist: black>=22.3.0; extra == "dev"
21
+ Requires-Dist: flake8>=5.0.4; extra == "dev"
22
+ Requires-Dist: pre-commit>=2.15.0; extra == "dev"
23
+ Requires-Dist: graphviz>=0.20.1; extra == "dev"
24
+ Provides-Extra: test
25
+ Requires-Dist: mock; extra == "test"
26
+ Requires-Dist: pytest>=7.3.1; extra == "test"
27
+ Requires-Dist: pytest-cov>=4.1.0; extra == "test"
28
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
29
+ Requires-Dist: pytest-timeout>=2.1.0; extra == "test"
30
+ Requires-Dist: matplotlib>=2.0.0; extra == "test"
31
+
32
+ MaxCompute MaxFrame Client
33
+ ==========================
34
+
35
+ MaxFrame is a computational framework created by Alibaba Cloud to
36
+ provide a way for Python developers to parallelize their code with
37
+ MaxCompute. It creates a runnable computation graph locally, submits it
38
+ to MaxCompute to execute and obtains results from MaxCompute.
39
+
40
+ MaxFrame client is the client of MaxFrame. Currently it provides a
41
+ DataFrame-based SDK with compatible APIs for pandas. In future, other
42
+ common Python libraries like numpy and scikit-learn will be added as
43
+ well. Python 3.7 is recommended for MaxFrame client to enable all
44
+ functionalities while supports for higher Python versions are on the
45
+ way.
46
+
47
+ Installation
48
+ ------------
49
+
50
+ You may install MaxFrame client through PIP:
51
+
52
+ .. code:: bash
53
+
54
+ pip install maxframe
55
+
56
+ Latest beta version can be installed with ``--pre`` argument:
57
+
58
+ .. code:: bash
59
+
60
+ pip install --pre maxframe
61
+
62
+ You can also install MaxFrame client from source code:
63
+
64
+ .. code:: bash
65
+
66
+ pip install git+https://github.com/aliyun/alibabacloud-odps-maxframe-client.git
67
+
68
+ Getting started
69
+ ---------------
70
+
71
+ We show a simple code example of MaxFrame client which read data from a
72
+ MaxCompute table, performs some simple data transform and writes back
73
+ into MaxCompute.
74
+
75
+ .. code:: python
76
+
77
+ import maxframe.dataframe as md
78
+ import os
79
+ from maxframe import new_session
80
+ from odps import ODPS
81
+
82
+ o = ODPS(
83
+ os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
84
+ os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
85
+ project='your-default-project',
86
+ endpoint='your-end-point',
87
+ )
88
+ session = new_session(o)
89
+
90
+ df = md.read_odps_table("source_table")
91
+ df["A"] = "prefix_" + df["A"]
92
+ md.to_odps_table(df, "prefix_source_table")
93
+
94
+ Documentation
95
+ -------------
96
+
97
+ Detailed documentations can be found
98
+ `here <https://maxframe.readthedocs.io>`__.
99
+
100
+ License
101
+ -------
102
+
103
+ Licensed under the `Apache License
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>`__.
@@ -1,10 +1,76 @@
1
- Metadata-Version: 2.1
2
- Name: maxframe
3
- Version: 1.0.0rc1
4
- Summary: MaxFrame operator-based data analyze framework
5
- Provides-Extra: dev
6
- Provides-Extra: test
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
+ -------------
7
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>`__.
8
74
  MaxCompute MaxFrame Client
9
75
  ==========================
10
76
 
@@ -205,12 +205,8 @@ class BigDagCodeContext(metaclass=abc.ABCMeta):
205
205
  return self._session_id
206
206
 
207
207
  def register_udf(self, udf: AbstractUDF):
208
- from maxframe_framedriver.services.session import SessionManager
209
-
210
208
  udf.session_id = self._session_id
211
209
  self._udfs[udf.name] = udf
212
- if self._session_id and SessionManager.initialized():
213
- SessionManager.instance().register_udf(self._session_id, udf)
214
210
 
215
211
  def get_udfs(self) -> List[AbstractUDF]:
216
212
  return list(self._udfs.values())
@@ -19,6 +19,15 @@ 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,
@@ -28,6 +37,7 @@ from .validators import (
28
37
  is_dict,
29
38
  is_in,
30
39
  is_integer,
40
+ is_non_negative_integer,
31
41
  is_null,
32
42
  is_numeric,
33
43
  is_string,
@@ -37,11 +47,12 @@ _DEFAULT_REDIRECT_WARN = "Option {source} has been replaced by {target} and migh
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
43
54
  _DEFAULT_TASK_RESTART_TIMEOUT = 300
44
- _DEFAULT_LOGVIEW_HOURS = 24 * 60
55
+ _DEFAULT_LOGVIEW_HOURS = 24 * 30
45
56
 
46
57
 
47
58
  class OptionError(Exception):
@@ -297,13 +308,28 @@ class Config:
297
308
  return {k: v for k, v in res.items() if k in self._remote_options}
298
309
 
299
310
 
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
+
318
+
300
319
  default_options = Config()
301
320
  default_options.register_option(
302
321
  "execution_mode", "trigger", validator=is_in(["trigger", "eager"])
303
322
  )
323
+ default_options.register_option("use_common_table", False, validator=is_bool)
304
324
  default_options.register_option(
305
325
  "python_tag", get_python_tag(), validator=is_string, remote=True
306
326
  )
327
+ default_options.register_option(
328
+ "local_timezone",
329
+ _get_legal_local_tz_name(),
330
+ validator=any_validator(is_null, is_in(set(available_timezones()))),
331
+ remote=True,
332
+ )
307
333
  default_options.register_option(
308
334
  "session.logview_hours", _DEFAULT_LOGVIEW_HOURS, validator=is_integer, remote=True
309
335
  )
@@ -378,7 +404,13 @@ default_options.register_option(
378
404
  default_options.register_option(
379
405
  "spe.operation_timeout_seconds",
380
406
  _DEFAULT_SPE_OPERATION_TIMEOUT_SECONDS,
381
- validator=is_integer,
407
+ validator=is_non_negative_integer,
408
+ remote=True,
409
+ )
410
+ default_options.register_option(
411
+ "spe.failure_retry_times",
412
+ _DEFAULT_SPE_FAILURE_RETRY_TIMES,
413
+ validator=is_non_negative_integer,
382
414
  remote=True,
383
415
  )
384
416
 
@@ -40,6 +40,7 @@ is_numeric = lambda x: isinstance(x, (int, float))
40
40
  is_string = lambda x: isinstance(x, str)
41
41
  is_dict = lambda x: isinstance(x, dict)
42
42
  is_positive_integer = lambda x: is_integer(x) and x > 0
43
+ is_non_negative_integer = lambda x: is_integer(x) and x >= 0
43
44
 
44
45
 
45
46
  def is_in(vals):
@@ -23,7 +23,7 @@ class ObjectData(TileableData, _ToObjectMixin):
23
23
  __slots__ = ()
24
24
  type_name = "Object"
25
25
  # workaround for removed field since v0.1.0b5
26
- # todo remove this when all versions below v0.1.0b5 is eliminated
26
+ # todo remove this when all versions below v1.0.0rc1 is eliminated
27
27
  _legacy_deprecated_non_primitives = ["_chunks"]
28
28
 
29
29
  def __init__(self, op=None, nsplits=None, **kw):
@@ -54,7 +54,7 @@ from .reduction import CustomReduction, unique
54
54
  from .tseries.to_datetime import to_datetime
55
55
 
56
56
  try:
57
- from pandas import NA, Timestamp
57
+ from pandas import NA, NaT, Timestamp
58
58
  except ImportError: # pragma: no cover
59
59
  pass
60
60
 
@@ -43,20 +43,20 @@ def around(df, decimals=0, *args, **kwargs):
43
43
  return op(df)
44
44
 
45
45
 
46
+ # FIXME Series input of decimals not supported yet
46
47
  around.__frame_doc__ = """
47
48
  Round a DataFrame to a variable number of decimal places.
48
49
 
49
50
  Parameters
50
51
  ----------
51
- decimals : int, dict, Series
52
+ decimals : int, dict
52
53
  Number of decimal places to round each column to. If an int is
53
54
  given, round each column to the same number of places.
54
55
  Otherwise dict and Series round to variable numbers of places.
55
56
  Column names should be in the keys if `decimals` is a
56
- dict-like, or in the index if `decimals` is a Series. Any
57
- columns not included in `decimals` will be left as is. Elements
58
- of `decimals` which are not columns of the input will be
59
- ignored.
57
+ dict-like. Any columns not included in `decimals` will be left
58
+ as is. Elements of `decimals` which are not columns of the
59
+ input will be ignored.
60
60
  *args
61
61
  Additional keywords have no effect but might be accepted for
62
62
  compatibility with numpy.
@@ -107,18 +107,6 @@ places as value
107
107
  1 0.0 1.0
108
108
  2 0.7 0.0
109
109
  3 0.2 0.0
110
-
111
- Using a Series, the number of places for specific columns can be
112
- specified with the column names as index and the number of
113
- decimal places as value
114
-
115
- >>> decimals = md.Series([0, 1], index=['cats', 'dogs'])
116
- >>> df.round(decimals).execute()
117
- dogs cats
118
- 0 0.2 0.0
119
- 1 0.0 1.0
120
- 2 0.7 0.0
121
- 3 0.2 0.0
122
110
  """
123
111
  around.__series_doc__ = """
124
112
  Round each value in a Series to the given number of decimals.
@@ -39,7 +39,7 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
39
39
  raise NotImplementedError
40
40
 
41
41
  @classmethod
42
- def _calc_properties(cls, x1, x2=None, axis="columns"):
42
+ def _calc_properties(cls, x1, x2=None, axis="columns", level=None):
43
43
  if isinstance(x1, DATAFRAME_TYPE) and (
44
44
  x2 is None or pd.api.types.is_scalar(x2) or isinstance(x2, TENSOR_TYPE)
45
45
  ):
@@ -108,7 +108,9 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
108
108
  index = copy.copy(x1.index_value)
109
109
  index_shape = x1.shape[0]
110
110
  else:
111
- index = infer_index_value(x1.index_value, x2.index_value)
111
+ index = infer_index_value(
112
+ x1.index_value, x2.index_value, level=level
113
+ )
112
114
  if index.key == x1.index_value.key == x2.index_value.key and (
113
115
  not np.isnan(x1.shape[0]) or not np.isnan(x2.shape[0])
114
116
  ):
@@ -141,7 +143,9 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
141
143
  column_shape = len(dtypes)
142
144
  else: # pragma: no cover
143
145
  dtypes = x1.dtypes # FIXME
144
- columns = infer_index_value(x1.columns_value, x2.index_value)
146
+ columns = infer_index_value(
147
+ x1.columns_value, x2.index_value, level=level
148
+ )
145
149
  column_shape = np.nan
146
150
  else:
147
151
  assert axis == "index" or axis == 0
@@ -169,7 +173,9 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
169
173
  ],
170
174
  index=x1.dtypes.index,
171
175
  )
172
- index = infer_index_value(x1.index_value, x2.index_value)
176
+ index = infer_index_value(
177
+ x1.index_value, x2.index_value, level=level
178
+ )
173
179
  index_shape = np.nan
174
180
  return {
175
181
  "shape": (index_shape, column_shape),
@@ -187,7 +193,9 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
187
193
  index = copy.copy(x1.index_value)
188
194
  index_shape = x1.shape[0]
189
195
  else:
190
- index = infer_index_value(x1.index_value, x2.index_value)
196
+ index = infer_index_value(
197
+ x1.index_value, x2.index_value, level=level
198
+ )
191
199
  if index.key == x1.index_value.key == x2.index_value.key and (
192
200
  not np.isnan(x1.shape[0]) or not np.isnan(x2.shape[0])
193
201
  ):
@@ -237,14 +245,14 @@ class DataFrameBinOpMixin(DataFrameOperatorMixin):
237
245
  self._check_inputs(x1, x2)
238
246
  if isinstance(x1, DATAFRAME_TYPE) or isinstance(x2, DATAFRAME_TYPE):
239
247
  df1, df2 = (x1, x2) if isinstance(x1, DATAFRAME_TYPE) else (x2, x1)
240
- kw = self._calc_properties(df1, df2, axis=self.axis)
248
+ kw = self._calc_properties(df1, df2, axis=self.axis, level=self.level)
241
249
  if not pd.api.types.is_scalar(df2):
242
250
  return self.new_dataframe([x1, x2], **kw)
243
251
  else:
244
252
  return self.new_dataframe([df1], **kw)
245
253
  if isinstance(x1, SERIES_TYPE) or isinstance(x2, SERIES_TYPE):
246
254
  s1, s2 = (x1, x2) if isinstance(x1, SERIES_TYPE) else (x2, x1)
247
- kw = self._calc_properties(s1, s2)
255
+ kw = self._calc_properties(s1, s2, level=self.level)
248
256
  if not pd.api.types.is_scalar(s2):
249
257
  return self.new_series([x1, x2], **kw)
250
258
  else:
@@ -12,6 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
+ # FIXME:https://github.com/aliyun/alibabacloud-odps-maxframe-client/issues/17
15
16
  _flex_doc_FRAME = """
16
17
  Get {desc} of dataframe and other, element-wise (binary operator `{op_name}`).
17
18
  Equivalent to ``{equiv}``, but with support to substitute a fill_value
@@ -127,44 +128,15 @@ circle 0
127
128
  triangle 3
128
129
  rectangle 4
129
130
 
130
- >>> (df * other).execute()
131
- angles degrees
132
- circle 0 NaN
133
- triangle 9 NaN
134
- rectangle 16 NaN
135
-
136
131
  >>> df.mul(other, fill_value=0).execute()
137
132
  angles degrees
138
133
  circle 0 0.0
139
134
  triangle 9 0.0
140
135
  rectangle 16 0.0
141
136
 
142
- Divide by a MultiIndex by level.
143
-
144
- >>> df_multindex = md.DataFrame({{'angles': [0, 3, 4, 4, 5, 6],
145
- ... 'degrees': [360, 180, 360, 360, 540, 720]}},
146
- ... index=[['A', 'A', 'A', 'B', 'B', 'B'],
147
- ... ['circle', 'triangle', 'rectangle',
148
- ... 'square', 'pentagon', 'hexagon']])
149
- >>> df_multindex.execute()
150
- angles degrees
151
- A circle 0 360
152
- triangle 3 180
153
- rectangle 4 360
154
- B square 4 360
155
- pentagon 5 540
156
- hexagon 6 720
157
-
158
- >>> df.div(df_multindex, level=1, fill_value=0).execute()
159
- angles degrees
160
- A circle NaN 1.0
161
- triangle 1.0 1.0
162
- rectangle 1.0 1.0
163
- B square 0.0 0.0
164
- pentagon 0.0 0.0
165
- hexagon 0.0 0.0
166
137
  """
167
138
 
139
+ # FIXME:https://github.com/aliyun/alibabacloud-odps-maxframe-client/issues/28
168
140
  _flex_doc_SERIES = """
169
141
  Return {desc} of series and other, element-wise (binary operator `{op_name}`).
170
142
 
@@ -213,6 +185,7 @@ e NaN
213
185
  dtype: float64
214
186
  """
215
187
 
188
+ # FIXME: https://github.com/aliyun/alibabacloud-odps-maxframe-client/issues/48
216
189
  _flex_comp_doc_FRAME = """
217
190
  Get {desc} of dataframe and other, element-wise (binary operator `{op_name}`).
218
191
  Among flexible wrappers (`eq`, `ne`, `le`, `lt`, `ge`, `gt`) to comparison
@@ -257,7 +230,8 @@ Mismatched indices will be unioned together.
257
230
 
258
231
  Examples
259
232
  --------
260
- >>> df = pd.DataFrame({{'cost': [250, 150, 100],
233
+ >>> import maxframe.dataframe as md
234
+ >>> df = md.DataFrame({{'cost': [250, 150, 100],
261
235
  ... 'revenue': [100, 250, 300]}},
262
236
  ... index=['A', 'B', 'C'])
263
237
  >>> df.execute()
@@ -332,30 +306,6 @@ A False False
332
306
  B False False
333
307
  C False True
334
308
  D False False
335
-
336
- Compare to a MultiIndex by level.
337
-
338
- >>> df_multindex = pd.DataFrame({{'cost': [250, 150, 100, 150, 300, 220],
339
- ... 'revenue': [100, 250, 300, 200, 175, 225]}},
340
- ... index=[['Q1', 'Q1', 'Q1', 'Q2', 'Q2', 'Q2'],
341
- ... ['A', 'B', 'C', 'A', 'B', 'C']])
342
- >>> df_multindex.execute()
343
- cost revenue
344
- Q1 A 250 100
345
- B 150 250
346
- C 100 300
347
- Q2 A 150 200
348
- B 300 175
349
- C 220 225
350
-
351
- >>> df.le(df_multindex, level=1).execute()
352
- cost revenue
353
- Q1 A True True
354
- B True True
355
- C True True
356
- Q2 A False True
357
- B True False
358
- C True False
359
309
  """
360
310
 
361
311
 
@@ -1086,11 +1086,11 @@ class Series(HasShapeTileable, _ToPandasMixin):
1086
1086
  --------
1087
1087
  >>> import maxframe.dataframe as md
1088
1088
  >>> s = md.Series({'a': 1, 'b': 2, 'c': 3})
1089
- >>> s.ndim.execute()
1089
+ >>> s.ndim
1090
1090
  1
1091
1091
 
1092
1092
  >>> df = md.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
1093
- >>> df.ndim.execute()
1093
+ >>> df.ndim
1094
1094
  2
1095
1095
  """
1096
1096
  return super().ndim
@@ -1520,7 +1520,7 @@ class BaseDataFrameData(HasShapeTileableData, _ToPandasMixin):
1520
1520
  self._columns_value = parse_index(dtypes.index, store_data=True)
1521
1521
  self._dtypes_value = DtypesValue(key=tokenize(dtypes), value=dtypes)
1522
1522
  new_shape = list(self._shape)
1523
- new_shape[0] = len(dtypes)
1523
+ new_shape[-1] = len(dtypes)
1524
1524
  self._shape = tuple(new_shape)
1525
1525
 
1526
1526
  @property
@@ -1761,11 +1761,11 @@ class DataFrame(HasShapeTileable, _ToPandasMixin):
1761
1761
  --------
1762
1762
  >>> import maxframe.dataframe as md
1763
1763
  >>> s = md.Series({'a': 1, 'b': 2, 'c': 3})
1764
- >>> s.ndim.execute()
1764
+ >>> s.ndim
1765
1765
  1
1766
1766
 
1767
1767
  >>> df = md.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
1768
- >>> df.ndim.execute()
1768
+ >>> df.ndim
1769
1769
  2
1770
1770
  """
1771
1771
  return super().ndim
@@ -22,7 +22,7 @@ from pandas._libs.tslibs import timezones
22
22
  from pandas.tseries.frequencies import to_offset
23
23
  from pandas.tseries.offsets import Tick
24
24
 
25
- from ... import opcodes as OperandDef
25
+ from ... import opcodes
26
26
  from ...core import OutputType
27
27
  from ...serialization.serializables import AnyField, BoolField, Int64Field, StringField
28
28
  from ...utils import no_default, pd_release_version
@@ -117,7 +117,7 @@ def generate_range_count(
117
117
 
118
118
 
119
119
  class DataFrameDateRange(DataFrameOperator, DataFrameOperatorMixin):
120
- _op_type_ = OperandDef.DATE_RANGE
120
+ _op_type_ = opcodes.DATE_RANGE
121
121
 
122
122
  start = AnyField("start")
123
123
  end = AnyField("end")
@@ -47,6 +47,7 @@ _EXPLAIN_TASK_SCHEMA_REGEX = re.compile(
47
47
  re.MULTILINE,
48
48
  )
49
49
  _EXPLAIN_COLUMN_REGEX = re.compile(r"([^\(]+) \(([^)]+)\)(?:| AS ([^ ]+))(?:\n|$)")
50
+ _ANONYMOUS_COL_REGEX = re.compile(r"^_c\d+$")
50
51
 
51
52
 
52
53
  @dataclasses.dataclass
@@ -272,6 +273,11 @@ def read_odps_query(
272
273
  explain_str = list(inst.get_task_results().values())[0]
273
274
 
274
275
  odps_schema = _parse_explained_schema(explain_str)
276
+
277
+ for col in odps_schema.columns:
278
+ if _ANONYMOUS_COL_REGEX.match(col.name) and col.name not in query:
279
+ raise ValueError("Need to specify names for all columns in SELECT clause.")
280
+
275
281
  dtypes = odps_schema_to_pandas_dtypes(odps_schema)
276
282
 
277
283
  if not index_col: