maxframe 0.1.0b5__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 (562) hide show
  1. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/MANIFEST.in +1 -0
  2. maxframe-1.0.0rc2/PKG-INFO +177 -0
  3. maxframe-0.1.0b5/PKG-INFO → maxframe-1.0.0rc2/README.rst +72 -6
  4. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/codegen.py +6 -2
  5. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/config/config.py +38 -2
  6. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/config/validators.py +1 -0
  7. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/__init__.py +0 -3
  8. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/__init__.py +1 -8
  9. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/objects.py +3 -45
  10. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/core.pyx +4 -4
  11. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/__init__.py +1 -1
  12. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/around.py +5 -17
  13. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/core.py +15 -7
  14. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/docstring.py +5 -55
  15. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/core.py +5 -5
  16. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/date_range.py +2 -2
  17. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_odps_query.py +6 -0
  18. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_odps_table.py +2 -1
  19. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/to_odps.py +21 -0
  20. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/cum.py +0 -1
  21. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/add_prefix_suffix.py +1 -1
  22. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/align.py +1 -1
  23. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/rename.py +3 -37
  24. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/sample.py +0 -1
  25. maxframe-1.0.0rc2/maxframe/dataframe/indexing/set_index.py +128 -0
  26. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/merge.py +236 -2
  27. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/apply.py +5 -10
  28. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/case_when.py +1 -1
  29. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/describe.py +2 -2
  30. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/drop_duplicates.py +4 -25
  31. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/eval.py +4 -0
  32. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/memory_usage.py +2 -2
  33. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/pct_change.py +1 -83
  34. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/transform.py +1 -30
  35. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/value_counts.py +4 -17
  36. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/dropna.py +1 -1
  37. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/fillna.py +5 -5
  38. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/sort_values.py +1 -11
  39. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/corr.py +3 -3
  40. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/quantile.py +5 -17
  41. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/utils.py +4 -7
  42. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/errors.py +13 -0
  43. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/extension.py +12 -0
  44. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/dmatrix.py +2 -2
  45. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/predict.py +2 -2
  46. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/train.py +2 -2
  47. maxframe-1.0.0rc2/maxframe/lib/mmh3.pyi +43 -0
  48. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/wrapped_pickle.py +2 -1
  49. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/odpsio/__init__.py +1 -1
  50. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/odpsio/arrow.py +8 -4
  51. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/odpsio/schema.py +10 -7
  52. maxframe-1.0.0rc2/maxframe/odpsio/tableio.py +696 -0
  53. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/protocol.py +148 -12
  54. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/core.pxd +3 -0
  55. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/core.pyi +3 -0
  56. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/core.pyx +54 -25
  57. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/exception.py +1 -1
  58. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/pandas.py +7 -2
  59. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/core.py +158 -12
  60. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/__init__.py +59 -0
  61. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/atleast_1d.py +1 -1
  62. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/unique.py +3 -3
  63. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/count_nonzero.py +1 -1
  64. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/quantile.py +2 -2
  65. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/utils.py +24 -13
  66. maxframe-1.0.0rc2/maxframe.egg-info/PKG-INFO +177 -0
  67. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe.egg-info/SOURCES.txt +2 -1
  68. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe.egg-info/requires.txt +1 -1
  69. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/__init__.py +0 -1
  70. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/fetcher.py +38 -27
  71. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/session/odps.py +50 -10
  72. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/session/task.py +41 -20
  73. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/pyproject.toml +8 -4
  74. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/setup.py +11 -2
  75. maxframe-0.1.0b5/maxframe/dataframe/indexing/set_index.py +0 -61
  76. maxframe-0.1.0b5/maxframe/odpsio/tableio.py +0 -322
  77. maxframe-0.1.0b5/maxframe.egg-info/PKG-INFO +0 -80
  78. maxframe-0.1.0b5/maxframe_client/clients/spe.py +0 -104
  79. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/__init__.py +0 -0
  80. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/_utils.pxd +0 -0
  81. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/_utils.pyx +0 -0
  82. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/config/__init__.py +0 -0
  83. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/base.py +0 -0
  84. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/chunks.py +0 -0
  85. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/core.py +0 -0
  86. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/executable.py +0 -0
  87. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/fuse.py +0 -0
  88. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/output_types.py +0 -0
  89. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/tileables.py +0 -0
  90. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/entity/utils.py +0 -0
  91. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/__init__.py +0 -0
  92. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/__init__.py +0 -0
  93. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/base.py +0 -0
  94. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/chunk.py +0 -0
  95. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/tileable.py +0 -0
  96. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/builder/utils.py +0 -0
  97. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/graph/entity.py +0 -0
  98. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/mode.py +0 -0
  99. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/__init__.py +0 -0
  100. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/base.py +0 -0
  101. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/core.py +0 -0
  102. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/fetch.py +0 -0
  103. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/fuse.py +0 -0
  104. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/objects.py +0 -0
  105. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/core/operator/shuffle.py +0 -0
  106. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/__init__.py +0 -0
  107. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/abs.py +0 -0
  108. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/add.py +0 -0
  109. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arccos.py +0 -0
  110. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
  111. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
  112. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
  113. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arctan.py +0 -0
  114. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
  115. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
  116. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
  117. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
  118. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/ceil.py +0 -0
  119. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/cos.py +0 -0
  120. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/cosh.py +0 -0
  121. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/degrees.py +0 -0
  122. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/equal.py +0 -0
  123. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/exp.py +0 -0
  124. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/exp2.py +0 -0
  125. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/expm1.py +0 -0
  126. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/floor.py +0 -0
  127. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
  128. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/greater.py +0 -0
  129. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/greater_equal.py +0 -0
  130. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/invert.py +0 -0
  131. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
  132. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/less.py +0 -0
  133. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/less_equal.py +0 -0
  134. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log.py +0 -0
  135. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log10.py +0 -0
  136. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/log2.py +0 -0
  137. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/mod.py +0 -0
  138. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/multiply.py +0 -0
  139. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/negative.py +0 -0
  140. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/not_equal.py +0 -0
  141. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/power.py +0 -0
  142. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/radians.py +0 -0
  143. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sin.py +0 -0
  144. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sinh.py +0 -0
  145. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
  146. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/subtract.py +0 -0
  147. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/tan.py +0 -0
  148. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/tanh.py +0 -0
  149. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/truediv.py +0 -0
  150. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arithmetic/trunc.py +0 -0
  151. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/arrays.py +0 -0
  152. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/__init__.py +0 -0
  153. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/core.py +0 -0
  154. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/dataframe.py +0 -0
  155. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_index.py +0 -0
  156. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_records.py +0 -0
  157. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/from_tensor.py +0 -0
  158. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/index.py +0 -0
  159. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_csv.py +0 -0
  160. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/read_parquet.py +0 -0
  161. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datasource/series.py +0 -0
  162. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/__init__.py +0 -0
  163. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/core.py +0 -0
  164. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/datastore/to_csv.py +0 -0
  165. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/__init__.py +0 -0
  166. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/accessor.py +0 -0
  167. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/extensions/reshuffle.py +0 -0
  168. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/fetch/__init__.py +0 -0
  169. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/fetch/core.py +0 -0
  170. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/__init__.py +0 -0
  171. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/aggregation.py +0 -0
  172. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/apply.py +0 -0
  173. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/core.py +0 -0
  174. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/fill.py +0 -0
  175. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/getitem.py +0 -0
  176. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/head.py +0 -0
  177. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/sample.py +0 -0
  178. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/groupby/transform.py +0 -0
  179. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/__init__.py +0 -0
  180. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/at.py +0 -0
  181. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/getitem.py +0 -0
  182. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/iat.py +0 -0
  183. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/iloc.py +0 -0
  184. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/insert.py +0 -0
  185. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/loc.py +0 -0
  186. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/reindex.py +0 -0
  187. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/rename_axis.py +0 -0
  188. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/reset_index.py +0 -0
  189. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/set_axis.py +0 -0
  190. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/setitem.py +0 -0
  191. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/indexing/where.py +0 -0
  192. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/initializer.py +0 -0
  193. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/__init__.py +0 -0
  194. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/append.py +0 -0
  195. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/merge/concat.py +0 -0
  196. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/__init__.py +0 -0
  197. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/_duplicate.py +0 -0
  198. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/accessor.py +0 -0
  199. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/astype.py +0 -0
  200. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/check_monotonic.py +0 -0
  201. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/cut.py +0 -0
  202. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/datetimes.py +0 -0
  203. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/diff.py +0 -0
  204. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/drop.py +0 -0
  205. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/duplicated.py +0 -0
  206. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/explode.py +0 -0
  207. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/get_dummies.py +0 -0
  208. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/isin.py +0 -0
  209. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/map.py +0 -0
  210. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/melt.py +0 -0
  211. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/pivot_table.py +0 -0
  212. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/qcut.py +0 -0
  213. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/select_dtypes.py +0 -0
  214. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/shift.py +0 -0
  215. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/stack.py +0 -0
  216. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/string_.py +0 -0
  217. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/to_numeric.py +0 -0
  218. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/misc/transpose.py +0 -0
  219. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/__init__.py +0 -0
  220. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/checkna.py +0 -0
  221. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/missing/replace.py +0 -0
  222. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/operators.py +0 -0
  223. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/plotting/__init__.py +0 -0
  224. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/plotting/core.py +0 -0
  225. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/__init__.py +0 -0
  226. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/aggregation.py +0 -0
  227. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/all.py +0 -0
  228. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/any.py +0 -0
  229. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/core.py +0 -0
  230. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/count.py +0 -0
  231. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cummax.py +0 -0
  232. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cummin.py +0 -0
  233. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cumprod.py +0 -0
  234. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/cumsum.py +0 -0
  235. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
  236. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/kurtosis.py +0 -0
  237. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/max.py +0 -0
  238. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/mean.py +0 -0
  239. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/min.py +0 -0
  240. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/nunique.py +0 -0
  241. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/prod.py +0 -0
  242. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/reduction_size.py +0 -0
  243. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/sem.py +0 -0
  244. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/skew.py +0 -0
  245. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/std.py +0 -0
  246. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/str_concat.py +0 -0
  247. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/sum.py +0 -0
  248. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/unique.py +0 -0
  249. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/reduction/var.py +0 -0
  250. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/__init__.py +0 -0
  251. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/core.py +0 -0
  252. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/sort/sort_index.py +0 -0
  253. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/statistics/__init__.py +0 -0
  254. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/tseries/__init__.py +0 -0
  255. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/tseries/to_datetime.py +0 -0
  256. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/__init__.py +0 -0
  257. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/tensor.py +0 -0
  258. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/ufunc/ufunc.py +0 -0
  259. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/__init__.py +0 -0
  260. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/aggregation.py +0 -0
  261. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/core.py +0 -0
  262. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/ewm.py +0 -0
  263. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/expanding.py +0 -0
  264. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/dataframe/window/rolling.py +0 -0
  265. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/env.py +0 -0
  266. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/__init__.py +0 -0
  267. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/__init__.py +0 -0
  268. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
  269. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
  270. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
  271. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/utils.py +0 -0
  272. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/__init__.py +0 -0
  273. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/classifier.py +0 -0
  274. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/core.py +0 -0
  275. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/contrib/xgboost/regressor.py +0 -0
  276. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/utils/__init__.py +0 -0
  277. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/learn/utils/core.py +0 -0
  278. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/__init__.py +0 -0
  279. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/__init__.py +0 -0
  280. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/_runners.py +0 -0
  281. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/_threads.py +0 -0
  282. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/base.py +0 -0
  283. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/file.py +0 -0
  284. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/isolation.py +0 -0
  285. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/lru.py +0 -0
  286. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/aio/parallelism.py +0 -0
  287. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/compression.py +0 -0
  288. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/cython/__init__.py +0 -0
  289. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/cython/libcpp.pxd +0 -0
  290. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/__init__.py +0 -0
  291. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_glob.py +0 -0
  292. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/__init__.py +0 -0
  293. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
  294. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
  295. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
  296. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/arrow.py +0 -0
  297. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/base.py +0 -0
  298. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/core.py +0 -0
  299. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/fsmap.py +0 -0
  300. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/hdfs.py +0 -0
  301. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/local.py +0 -0
  302. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/filesystem/oss.py +0 -0
  303. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/functools_compat.py +0 -0
  304. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
  305. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
  306. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
  307. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/sparse/__init__.py +0 -0
  308. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/sparse/array.py +0 -0
  309. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/sparse/core.py +0 -0
  310. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/sparse/matrix.py +0 -0
  311. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/sparse/vector.py +0 -0
  312. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/tblib/LICENSE +0 -0
  313. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/tblib/__init__.py +0 -0
  314. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/tblib/cpython.py +0 -0
  315. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/tblib/decorators.py +0 -0
  316. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/tblib/pickling_support.py +0 -0
  317. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/lib/version.py +0 -0
  318. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/mixin.py +0 -0
  319. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/odpsio/volumeio.py +0 -0
  320. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/opcodes.py +0 -0
  321. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/remote/__init__.py +0 -0
  322. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/remote/core.py +0 -0
  323. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/remote/run_script.py +0 -0
  324. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/__init__.py +0 -0
  325. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/arrow.py +0 -0
  326. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/maxframe_objects.py +0 -0
  327. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/numpy.py +0 -0
  328. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/scipy.py +0 -0
  329. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/__init__.py +0 -0
  330. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/field.py +0 -0
  331. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/serialization/serializables/field_type.py +0 -0
  332. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/session.py +0 -0
  333. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/__init__.py +0 -0
  334. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/abs.py +0 -0
  335. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/absolute.py +0 -0
  336. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/add.py +0 -0
  337. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/angle.py +0 -0
  338. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arccos.py +0 -0
  339. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arccosh.py +0 -0
  340. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arcsin.py +0 -0
  341. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
  342. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctan.py +0 -0
  343. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctan2.py +0 -0
  344. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/arctanh.py +0 -0
  345. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/around.py +0 -0
  346. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitand.py +0 -0
  347. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitor.py +0 -0
  348. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/bitxor.py +0 -0
  349. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cbrt.py +0 -0
  350. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/ceil.py +0 -0
  351. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/clip.py +0 -0
  352. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/conj.py +0 -0
  353. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/copysign.py +0 -0
  354. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/core.py +0 -0
  355. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cos.py +0 -0
  356. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/cosh.py +0 -0
  357. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
  358. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/degrees.py +0 -0
  359. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/divide.py +0 -0
  360. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/equal.py +0 -0
  361. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/exp.py +0 -0
  362. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/exp2.py +0 -0
  363. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/expm1.py +0 -0
  364. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fabs.py +0 -0
  365. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fix.py +0 -0
  366. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/float_power.py +0 -0
  367. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/floor.py +0 -0
  368. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/floordiv.py +0 -0
  369. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmax.py +0 -0
  370. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmin.py +0 -0
  371. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/fmod.py +0 -0
  372. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/frexp.py +0 -0
  373. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/greater.py +0 -0
  374. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
  375. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/hypot.py +0 -0
  376. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/i0.py +0 -0
  377. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/imag.py +0 -0
  378. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/invert.py +0 -0
  379. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isclose.py +0 -0
  380. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
  381. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isfinite.py +0 -0
  382. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isinf.py +0 -0
  383. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isnan.py +0 -0
  384. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/isreal.py +0 -0
  385. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/ldexp.py +0 -0
  386. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/less.py +0 -0
  387. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/less_equal.py +0 -0
  388. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log.py +0 -0
  389. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log10.py +0 -0
  390. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log1p.py +0 -0
  391. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/log2.py +0 -0
  392. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
  393. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
  394. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_and.py +0 -0
  395. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_not.py +0 -0
  396. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_or.py +0 -0
  397. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
  398. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/lshift.py +0 -0
  399. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/maximum.py +0 -0
  400. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/minimum.py +0 -0
  401. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/mod.py +0 -0
  402. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/modf.py +0 -0
  403. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/multiply.py +0 -0
  404. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
  405. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/negative.py +0 -0
  406. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/nextafter.py +0 -0
  407. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/not_equal.py +0 -0
  408. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/positive.py +0 -0
  409. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/power.py +0 -0
  410. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
  411. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/radians.py +0 -0
  412. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/real.py +0 -0
  413. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
  414. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rint.py +0 -0
  415. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/rshift.py +0 -0
  416. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/setimag.py +0 -0
  417. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/setreal.py +0 -0
  418. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sign.py +0 -0
  419. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/signbit.py +0 -0
  420. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sin.py +0 -0
  421. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sinc.py +0 -0
  422. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sinh.py +0 -0
  423. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/spacing.py +0 -0
  424. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/sqrt.py +0 -0
  425. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/square.py +0 -0
  426. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/subtract.py +0 -0
  427. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/tan.py +0 -0
  428. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/tanh.py +0 -0
  429. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/truediv.py +0 -0
  430. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/trunc.py +0 -0
  431. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/arithmetic/utils.py +0 -0
  432. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/array_utils.py +0 -0
  433. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/__init__.py +0 -0
  434. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/astype.py +0 -0
  435. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/broadcast_to.py +0 -0
  436. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/ravel.py +0 -0
  437. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/transpose.py +0 -0
  438. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/base/where.py +0 -0
  439. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/core.py +0 -0
  440. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/__init__.py +0 -0
  441. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/arange.py +0 -0
  442. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/array.py +0 -0
  443. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/core.py +0 -0
  444. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/empty.py +0 -0
  445. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_dataframe.py +0 -0
  446. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_dense.py +0 -0
  447. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/from_sparse.py +0 -0
  448. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/full.py +0 -0
  449. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/ones.py +0 -0
  450. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/scalar.py +0 -0
  451. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/datasource/zeros.py +0 -0
  452. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/fetch/__init__.py +0 -0
  453. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/fetch/core.py +0 -0
  454. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/__init__.py +0 -0
  455. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/choose.py +0 -0
  456. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/compress.py +0 -0
  457. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/core.py +0 -0
  458. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/extract.py +0 -0
  459. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
  460. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/flatnonzero.py +0 -0
  461. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/getitem.py +0 -0
  462. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/nonzero.py +0 -0
  463. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/setitem.py +0 -0
  464. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/slice.py +0 -0
  465. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/take.py +0 -0
  466. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/indexing/unravel_index.py +0 -0
  467. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/merge/__init__.py +0 -0
  468. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/merge/stack.py +0 -0
  469. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/operators.py +0 -0
  470. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/__init__.py +0 -0
  471. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/beta.py +0 -0
  472. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/binomial.py +0 -0
  473. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/bytes.py +0 -0
  474. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/chisquare.py +0 -0
  475. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/choice.py +0 -0
  476. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/core.py +0 -0
  477. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/dirichlet.py +0 -0
  478. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/exponential.py +0 -0
  479. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/f.py +0 -0
  480. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/gamma.py +0 -0
  481. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/geometric.py +0 -0
  482. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/gumbel.py +0 -0
  483. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/hypergeometric.py +0 -0
  484. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/laplace.py +0 -0
  485. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/logistic.py +0 -0
  486. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/lognormal.py +0 -0
  487. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/logseries.py +0 -0
  488. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/multinomial.py +0 -0
  489. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/multivariate_normal.py +0 -0
  490. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/negative_binomial.py +0 -0
  491. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
  492. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/noncentral_f.py +0 -0
  493. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/normal.py +0 -0
  494. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/pareto.py +0 -0
  495. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/permutation.py +0 -0
  496. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/poisson.py +0 -0
  497. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/power.py +0 -0
  498. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/rand.py +0 -0
  499. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/randint.py +0 -0
  500. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/randn.py +0 -0
  501. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/random_integers.py +0 -0
  502. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/random_sample.py +0 -0
  503. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/rayleigh.py +0 -0
  504. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/shuffle.py +0 -0
  505. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_cauchy.py +0 -0
  506. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_exponential.py +0 -0
  507. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_gamma.py +0 -0
  508. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_normal.py +0 -0
  509. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/standard_t.py +0 -0
  510. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/triangular.py +0 -0
  511. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/uniform.py +0 -0
  512. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/vonmises.py +0 -0
  513. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/wald.py +0 -0
  514. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/weibull.py +0 -0
  515. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/random/zipf.py +0 -0
  516. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/rechunk/__init__.py +0 -0
  517. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/rechunk/rechunk.py +0 -0
  518. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/__init__.py +0 -0
  519. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/all.py +0 -0
  520. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/allclose.py +0 -0
  521. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/any.py +0 -0
  522. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/argmax.py +0 -0
  523. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/argmin.py +0 -0
  524. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/array_equal.py +0 -0
  525. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/core.py +0 -0
  526. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/cumprod.py +0 -0
  527. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/cumsum.py +0 -0
  528. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/max.py +0 -0
  529. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/mean.py +0 -0
  530. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/min.py +0 -0
  531. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanargmax.py +0 -0
  532. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanargmin.py +0 -0
  533. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nancumprod.py +0 -0
  534. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nancumsum.py +0 -0
  535. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmax.py +0 -0
  536. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmean.py +0 -0
  537. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanmin.py +0 -0
  538. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanprod.py +0 -0
  539. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanstd.py +0 -0
  540. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nansum.py +0 -0
  541. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/nanvar.py +0 -0
  542. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/prod.py +0 -0
  543. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/std.py +0 -0
  544. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/sum.py +0 -0
  545. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reduction/var.py +0 -0
  546. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reshape/__init__.py +0 -0
  547. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/reshape/reshape.py +0 -0
  548. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/__init__.py +0 -0
  549. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/statistics/percentile.py +0 -0
  550. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/ufunc/__init__.py +0 -0
  551. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/ufunc/ufunc.py +0 -0
  552. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/tensor/utils.py +0 -0
  553. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/typing_.py +0 -0
  554. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe/udf.py +0 -0
  555. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe.egg-info/dependency_links.txt +0 -0
  556. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe.egg-info/top_level.txt +0 -0
  557. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/clients/__init__.py +0 -0
  558. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/clients/framedriver.py +0 -0
  559. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/session/__init__.py +0 -0
  560. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/session/consts.py +0 -0
  561. {maxframe-0.1.0b5 → maxframe-1.0.0rc2}/maxframe_client/session/graph.py +0 -0
  562. {maxframe-0.1.0b5 → 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: 0.1.0b5
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
 
@@ -86,6 +86,8 @@ class AbstractUDF(Serializable):
86
86
 
87
87
 
88
88
  class UserCodeMixin:
89
+ __slots__ = ()
90
+
89
91
  @classmethod
90
92
  def obj_to_python_expr(cls, obj: Any = None) -> str:
91
93
  """
@@ -344,6 +346,8 @@ def register_engine_codegen(type_: Type["BigDagCodeGenerator"]):
344
346
  BUILTIN_ENGINE_SPE = "SPE"
345
347
  BUILTIN_ENGINE_MCSQL = "MCSQL"
346
348
 
349
+ FAST_RANGE_INDEX_ENABLED = "codegen.fast_range_index_enabled"
350
+
347
351
 
348
352
  class BigDagCodeGenerator(metaclass=abc.ABCMeta):
349
353
  _context: BigDagCodeContext
@@ -516,12 +520,12 @@ class BigDagCodeGenerator(metaclass=abc.ABCMeta):
516
520
 
517
521
  def register_udfs(self, odps_ctx: "ODPSSessionContext"):
518
522
  for udf in self._context.get_udfs():
519
- logger.info("[Session %s] Registering UDF %s", self._session_id, udf.name)
523
+ logger.info("[Session=%s] Registering UDF %s", self._session_id, udf.name)
520
524
  udf.register(odps_ctx, True)
521
525
 
522
526
  def unregister_udfs(self, odps_ctx: "ODPSSessionContext"):
523
527
  for udf in self._context.get_udfs():
524
- logger.info("[Session %s] Unregistering UDF %s", self._session_id, udf.name)
528
+ logger.info("[Session=%s] Unregistering UDF %s", self._session_id, udf.name)
525
529
  udf.unregister(odps_ctx)
526
530
 
527
531
  def get_udfs(self) -> List[AbstractUDF]:
@@ -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,10 +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
- _DEFAULT_LOGVIEW_HOURS = 24 * 60
54
+ _DEFAULT_TASK_RESTART_TIMEOUT = 300
55
+ _DEFAULT_LOGVIEW_HOURS = 24 * 30
44
56
 
45
57
 
46
58
  class OptionError(Exception):
@@ -296,19 +308,37 @@ class Config:
296
308
  return {k: v for k, v in res.items() if k in self._remote_options}
297
309
 
298
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
+
299
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=any_validator(is_null, is_in(set(available_timezones()))),
331
+ remote=True,
332
+ )
306
333
  default_options.register_option(
307
334
  "session.logview_hours", _DEFAULT_LOGVIEW_HOURS, validator=is_integer, remote=True
308
335
  )
309
336
  default_options.register_option(
310
337
  "client.task_start_timeout", _DEFAULT_TASK_START_TIMEOUT, validator=is_integer
311
338
  )
339
+ default_options.register_option(
340
+ "client.task_restart_timeout", _DEFAULT_TASK_RESTART_TIMEOUT, validator=is_integer
341
+ )
312
342
  default_options.register_option("sql.enable_mcqa", True, validator=is_bool, remote=True)
313
343
  default_options.register_option(
314
344
  "sql.generate_comments", True, validator=is_bool, remote=True
@@ -374,7 +404,13 @@ default_options.register_option(
374
404
  default_options.register_option(
375
405
  "spe.operation_timeout_seconds",
376
406
  _DEFAULT_SPE_OPERATION_TIMEOUT_SECONDS,
377
- 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,
378
414
  remote=True,
379
415
  )
380
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):
@@ -19,7 +19,6 @@ from .entity import (
19
19
  CHUNK_TYPE,
20
20
  ENTITY_TYPE,
21
21
  FUSE_CHUNK_TYPE,
22
- OBJECT_CHUNK_TYPE,
23
22
  OBJECT_TYPE,
24
23
  TILEABLE_TYPE,
25
24
  Chunk,
@@ -33,8 +32,6 @@ from .entity import (
33
32
  HasShapeTileableData,
34
33
  NotSupportTile,
35
34
  Object,
36
- ObjectChunk,
37
- ObjectChunkData,
38
35
  ObjectData,
39
36
  OutputType,
40
37
  Tileable,
@@ -16,14 +16,7 @@ from .chunks import CHUNK_TYPE, Chunk, ChunkData
16
16
  from .core import ENTITY_TYPE, Entity, EntityData
17
17
  from .executable import ExecutableTuple, _ExecuteAndFetchMixin
18
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
- )
19
+ from .objects import OBJECT_TYPE, Object, ObjectData
27
20
  from .output_types import (
28
21
  OutputType,
29
22
  get_fetch_class,
@@ -14,58 +14,17 @@
14
14
 
15
15
  from typing import Any, Dict
16
16
 
17
- from ...serialization.serializables import FieldTypes, ListField
18
- from ...utils import skip_na_call
19
- from .chunks import Chunk, ChunkData
20
17
  from .core import Entity
21
18
  from .executable import _ToObjectMixin
22
19
  from .tileables import TileableData
23
20
 
24
21
 
25
- class ObjectChunkData(ChunkData):
26
- # chunk whose data could be any serializable
27
- __slots__ = ()
28
- type_name = "Object"
29
-
30
- def __init__(self, op=None, index=None, **kw):
31
- super().__init__(_op=op, _index=index, **kw)
32
-
33
- @property
34
- def params(self) -> Dict[str, Any]:
35
- # params return the properties which useful to rebuild a new chunk
36
- return {
37
- "index": self.index,
38
- }
39
-
40
- @params.setter
41
- def params(self, new_params: Dict[str, Any]):
42
- params = new_params.copy()
43
- params.pop("index", None) # index not needed to update
44
- if params: # pragma: no cover
45
- raise TypeError(f"Unknown params: {list(params)}")
46
-
47
- @classmethod
48
- def get_params_from_data(cls, data: Any) -> Dict[str, Any]:
49
- return dict()
50
-
51
-
52
- class ObjectChunk(Chunk):
53
- __slots__ = ()
54
- _allow_data_type_ = (ObjectChunkData,)
55
- type_name = "Object"
56
-
57
-
58
22
  class ObjectData(TileableData, _ToObjectMixin):
59
23
  __slots__ = ()
60
24
  type_name = "Object"
61
-
62
- # optional fields
63
- _chunks = ListField(
64
- "chunks",
65
- FieldTypes.reference(ObjectChunkData),
66
- on_serialize=skip_na_call(lambda x: [it.data for it in x]),
67
- on_deserialize=skip_na_call(lambda x: [ObjectChunk(it) for it in x]),
68
- )
25
+ # workaround for removed field since v0.1.0b5
26
+ # todo remove this when all versions below v1.0.0rc1 is eliminated
27
+ _legacy_deprecated_non_primitives = ["_chunks"]
69
28
 
70
29
  def __init__(self, op=None, nsplits=None, **kw):
71
30
  super().__init__(_op=op, _nsplits=nsplits, **kw)
@@ -97,4 +56,3 @@ class Object(Entity, _ToObjectMixin):
97
56
 
98
57
 
99
58
  OBJECT_TYPE = (Object, ObjectData)
100
- OBJECT_CHUNK_TYPE = (ObjectChunk, ObjectChunkData)
@@ -354,10 +354,10 @@ cdef class DirectedGraph:
354
354
  sio.write(f'"Chunk:{self._gen_chunk_key(input_chunk, trunc_key)}" {chunk_style}\n')
355
355
  visited.add(input_chunk.key)
356
356
  if op.key not in visited:
357
- sio.write(f'"{op_name}:{op.key[:trunc_key]}" {operator_style}\n')
357
+ sio.write(f'"{op_name}:{op.key[:trunc_key]}_{id(op)}" {operator_style}\n')
358
358
  visited.add(op.key)
359
359
  sio.write(f'"Chunk:{self._gen_chunk_key(input_chunk, trunc_key)}" -> '
360
- f'"{op_name}:{op.key[:trunc_key]}"\n')
360
+ f'"{op_name}:{op.key[:trunc_key]}_{id(op)}"\n')
361
361
 
362
362
  for output_chunk in (op.outputs or []):
363
363
  if output_chunk.key not in visited:
@@ -367,9 +367,9 @@ cdef class DirectedGraph:
367
367
  sio.write(f'"Chunk:{self._gen_chunk_key(output_chunk, trunc_key)}" {tmp_chunk_style}\n')
368
368
  visited.add(output_chunk.key)
369
369
  if op.key not in visited:
370
- sio.write(f'"{op_name}:{op.key[:trunc_key]}" {operator_style}\n')
370
+ sio.write(f'"{op_name}:{op.key[:trunc_key]}_{id(op)}" {operator_style}\n')
371
371
  visited.add(op.key)
372
- sio.write(f'"{op_name}:{op.key[:trunc_key]}" -> '
372
+ sio.write(f'"{op_name}:{op.key[:trunc_key]}_{id(op)}" -> '
373
373
  f'"Chunk:{self._gen_chunk_key(output_chunk, trunc_key)}"')
374
374
  if show_columns:
375
375
  sio.write(f' [ label={get_col_names(output_chunk)} ]')
@@ -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: