maxframe 0.1.0b5__tar.gz → 1.0.0rc1__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 (558) hide show
  1. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/PKG-INFO +1 -1
  2. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/codegen.py +10 -2
  3. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/config/config.py +4 -0
  4. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/__init__.py +0 -3
  5. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/__init__.py +1 -8
  6. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/objects.py +3 -45
  7. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/core.pyx +4 -4
  8. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datastore/to_odps.py +21 -0
  9. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/align.py +1 -1
  10. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/apply.py +2 -0
  11. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/memory_usage.py +2 -2
  12. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/statistics/corr.py +3 -3
  13. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/errors.py +13 -0
  14. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/extension.py +12 -0
  15. maxframe-1.0.0rc1/maxframe/lib/mmh3.pyi +43 -0
  16. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/wrapped_pickle.py +2 -1
  17. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/protocol.py +108 -10
  18. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/core.pxd +3 -0
  19. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/core.pyi +3 -0
  20. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/core.pyx +54 -25
  21. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/exception.py +1 -1
  22. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/pandas.py +7 -2
  23. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/serializables/core.py +119 -12
  24. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/atleast_1d.py +1 -1
  25. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/unique.py +1 -1
  26. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/count_nonzero.py +1 -1
  27. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/utils.py +16 -13
  28. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe.egg-info/PKG-INFO +1 -1
  29. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe.egg-info/SOURCES.txt +1 -1
  30. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe.egg-info/requires.txt +1 -1
  31. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/__init__.py +0 -1
  32. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/session/odps.py +45 -5
  33. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/session/task.py +41 -20
  34. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/pyproject.toml +7 -3
  35. maxframe-0.1.0b5/maxframe_client/clients/spe.py +0 -104
  36. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/MANIFEST.in +0 -0
  37. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/__init__.py +0 -0
  38. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/_utils.pxd +0 -0
  39. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/_utils.pyx +0 -0
  40. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/config/__init__.py +0 -0
  41. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/config/validators.py +0 -0
  42. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/base.py +0 -0
  43. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/chunks.py +0 -0
  44. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/core.py +0 -0
  45. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/executable.py +0 -0
  46. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/fuse.py +0 -0
  47. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/output_types.py +0 -0
  48. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/tileables.py +0 -0
  49. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/entity/utils.py +0 -0
  50. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/__init__.py +0 -0
  51. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/builder/__init__.py +0 -0
  52. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/builder/base.py +0 -0
  53. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/builder/chunk.py +0 -0
  54. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/builder/tileable.py +0 -0
  55. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/builder/utils.py +0 -0
  56. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/graph/entity.py +0 -0
  57. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/mode.py +0 -0
  58. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/__init__.py +0 -0
  59. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/base.py +0 -0
  60. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/core.py +0 -0
  61. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/fetch.py +0 -0
  62. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/fuse.py +0 -0
  63. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/objects.py +0 -0
  64. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/core/operator/shuffle.py +0 -0
  65. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/__init__.py +0 -0
  66. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/__init__.py +0 -0
  67. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/abs.py +0 -0
  68. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/add.py +0 -0
  69. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arccos.py +0 -0
  70. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arccosh.py +0 -0
  71. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arcsin.py +0 -0
  72. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arcsinh.py +0 -0
  73. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arctan.py +0 -0
  74. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/arctanh.py +0 -0
  75. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/around.py +0 -0
  76. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/bitwise_and.py +0 -0
  77. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/bitwise_or.py +0 -0
  78. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/bitwise_xor.py +0 -0
  79. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/ceil.py +0 -0
  80. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/core.py +0 -0
  81. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/cos.py +0 -0
  82. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/cosh.py +0 -0
  83. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/degrees.py +0 -0
  84. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/docstring.py +0 -0
  85. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/equal.py +0 -0
  86. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/exp.py +0 -0
  87. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/exp2.py +0 -0
  88. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/expm1.py +0 -0
  89. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/floor.py +0 -0
  90. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/floordiv.py +0 -0
  91. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/greater.py +0 -0
  92. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/greater_equal.py +0 -0
  93. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/invert.py +0 -0
  94. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/is_ufuncs.py +0 -0
  95. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/less.py +0 -0
  96. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/less_equal.py +0 -0
  97. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/log.py +0 -0
  98. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/log10.py +0 -0
  99. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/log2.py +0 -0
  100. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/mod.py +0 -0
  101. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/multiply.py +0 -0
  102. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/negative.py +0 -0
  103. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/not_equal.py +0 -0
  104. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/power.py +0 -0
  105. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/radians.py +0 -0
  106. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/sin.py +0 -0
  107. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/sinh.py +0 -0
  108. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/sqrt.py +0 -0
  109. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/subtract.py +0 -0
  110. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/tan.py +0 -0
  111. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/tanh.py +0 -0
  112. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/truediv.py +0 -0
  113. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arithmetic/trunc.py +0 -0
  114. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/arrays.py +0 -0
  115. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/core.py +0 -0
  116. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/__init__.py +0 -0
  117. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/core.py +0 -0
  118. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/dataframe.py +0 -0
  119. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/date_range.py +0 -0
  120. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/from_index.py +0 -0
  121. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/from_records.py +0 -0
  122. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/from_tensor.py +0 -0
  123. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/index.py +0 -0
  124. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/read_csv.py +0 -0
  125. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/read_odps_query.py +0 -0
  126. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/read_odps_table.py +0 -0
  127. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/read_parquet.py +0 -0
  128. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datasource/series.py +0 -0
  129. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datastore/__init__.py +0 -0
  130. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datastore/core.py +0 -0
  131. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/datastore/to_csv.py +0 -0
  132. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/extensions/__init__.py +0 -0
  133. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/extensions/accessor.py +0 -0
  134. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/extensions/reshuffle.py +0 -0
  135. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/fetch/__init__.py +0 -0
  136. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/fetch/core.py +0 -0
  137. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/__init__.py +0 -0
  138. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/aggregation.py +0 -0
  139. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/apply.py +0 -0
  140. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/core.py +0 -0
  141. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/cum.py +0 -0
  142. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/fill.py +0 -0
  143. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/getitem.py +0 -0
  144. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/head.py +0 -0
  145. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/sample.py +0 -0
  146. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/groupby/transform.py +0 -0
  147. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/__init__.py +0 -0
  148. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/add_prefix_suffix.py +0 -0
  149. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/at.py +0 -0
  150. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/getitem.py +0 -0
  151. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/iat.py +0 -0
  152. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/iloc.py +0 -0
  153. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/insert.py +0 -0
  154. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/loc.py +0 -0
  155. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/reindex.py +0 -0
  156. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/rename.py +0 -0
  157. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/rename_axis.py +0 -0
  158. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/reset_index.py +0 -0
  159. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/sample.py +0 -0
  160. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/set_axis.py +0 -0
  161. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/set_index.py +0 -0
  162. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/setitem.py +0 -0
  163. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/indexing/where.py +0 -0
  164. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/initializer.py +0 -0
  165. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/merge/__init__.py +0 -0
  166. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/merge/append.py +0 -0
  167. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/merge/concat.py +0 -0
  168. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/merge/merge.py +0 -0
  169. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/__init__.py +0 -0
  170. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/_duplicate.py +0 -0
  171. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/accessor.py +0 -0
  172. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/astype.py +0 -0
  173. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/case_when.py +0 -0
  174. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/check_monotonic.py +0 -0
  175. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/cut.py +0 -0
  176. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/datetimes.py +0 -0
  177. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/describe.py +0 -0
  178. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/diff.py +0 -0
  179. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/drop.py +0 -0
  180. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/drop_duplicates.py +0 -0
  181. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/duplicated.py +0 -0
  182. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/eval.py +0 -0
  183. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/explode.py +0 -0
  184. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/get_dummies.py +0 -0
  185. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/isin.py +0 -0
  186. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/map.py +0 -0
  187. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/melt.py +0 -0
  188. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/pct_change.py +0 -0
  189. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/pivot_table.py +0 -0
  190. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/qcut.py +0 -0
  191. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/select_dtypes.py +0 -0
  192. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/shift.py +0 -0
  193. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/stack.py +0 -0
  194. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/string_.py +0 -0
  195. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/to_numeric.py +0 -0
  196. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/transform.py +0 -0
  197. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/transpose.py +0 -0
  198. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/misc/value_counts.py +0 -0
  199. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/missing/__init__.py +0 -0
  200. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/missing/checkna.py +0 -0
  201. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/missing/dropna.py +0 -0
  202. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/missing/fillna.py +0 -0
  203. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/missing/replace.py +0 -0
  204. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/operators.py +0 -0
  205. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/plotting/__init__.py +0 -0
  206. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/plotting/core.py +0 -0
  207. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/__init__.py +0 -0
  208. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/aggregation.py +0 -0
  209. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/all.py +0 -0
  210. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/any.py +0 -0
  211. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/core.py +0 -0
  212. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/count.py +0 -0
  213. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/cummax.py +0 -0
  214. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/cummin.py +0 -0
  215. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/cumprod.py +0 -0
  216. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/cumsum.py +0 -0
  217. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/custom_reduction.py +0 -0
  218. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/kurtosis.py +0 -0
  219. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/max.py +0 -0
  220. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/mean.py +0 -0
  221. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/min.py +0 -0
  222. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/nunique.py +0 -0
  223. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/prod.py +0 -0
  224. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/reduction_size.py +0 -0
  225. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/sem.py +0 -0
  226. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/skew.py +0 -0
  227. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/std.py +0 -0
  228. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/str_concat.py +0 -0
  229. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/sum.py +0 -0
  230. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/unique.py +0 -0
  231. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/reduction/var.py +0 -0
  232. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/sort/__init__.py +0 -0
  233. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/sort/core.py +0 -0
  234. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/sort/sort_index.py +0 -0
  235. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/sort/sort_values.py +0 -0
  236. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/statistics/__init__.py +0 -0
  237. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/statistics/quantile.py +0 -0
  238. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/tseries/__init__.py +0 -0
  239. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/tseries/to_datetime.py +0 -0
  240. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/ufunc/__init__.py +0 -0
  241. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/ufunc/tensor.py +0 -0
  242. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/ufunc/ufunc.py +0 -0
  243. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/utils.py +0 -0
  244. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/__init__.py +0 -0
  245. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/aggregation.py +0 -0
  246. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/core.py +0 -0
  247. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/ewm.py +0 -0
  248. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/expanding.py +0 -0
  249. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/dataframe/window/rolling.py +0 -0
  250. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/env.py +0 -0
  251. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/__init__.py +0 -0
  252. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/__init__.py +0 -0
  253. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/pytorch/__init__.py +0 -0
  254. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/pytorch/run_function.py +0 -0
  255. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/pytorch/run_script.py +0 -0
  256. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/utils.py +0 -0
  257. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/__init__.py +0 -0
  258. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/classifier.py +0 -0
  259. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/core.py +0 -0
  260. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/dmatrix.py +0 -0
  261. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/predict.py +0 -0
  262. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/regressor.py +0 -0
  263. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/contrib/xgboost/train.py +0 -0
  264. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/utils/__init__.py +0 -0
  265. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/learn/utils/core.py +0 -0
  266. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/__init__.py +0 -0
  267. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/__init__.py +0 -0
  268. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/_runners.py +0 -0
  269. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/_threads.py +0 -0
  270. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/base.py +0 -0
  271. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/file.py +0 -0
  272. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/isolation.py +0 -0
  273. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/lru.py +0 -0
  274. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/aio/parallelism.py +0 -0
  275. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/compression.py +0 -0
  276. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/cython/__init__.py +0 -0
  277. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/cython/libcpp.pxd +0 -0
  278. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/__init__.py +0 -0
  279. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/_glob.py +0 -0
  280. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/_oss_lib/__init__.py +0 -0
  281. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/_oss_lib/common.py +0 -0
  282. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/_oss_lib/glob.py +0 -0
  283. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/_oss_lib/handle.py +0 -0
  284. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/arrow.py +0 -0
  285. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/base.py +0 -0
  286. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/core.py +0 -0
  287. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/fsmap.py +0 -0
  288. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/hdfs.py +0 -0
  289. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/local.py +0 -0
  290. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/filesystem/oss.py +0 -0
  291. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/functools_compat.py +0 -0
  292. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/mmh3_src/MurmurHash3.cpp +0 -0
  293. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/mmh3_src/MurmurHash3.h +0 -0
  294. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/mmh3_src/mmh3module.cpp +0 -0
  295. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/sparse/__init__.py +0 -0
  296. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/sparse/array.py +0 -0
  297. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/sparse/core.py +0 -0
  298. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/sparse/matrix.py +0 -0
  299. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/sparse/vector.py +0 -0
  300. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/tblib/LICENSE +0 -0
  301. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/tblib/__init__.py +0 -0
  302. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/tblib/cpython.py +0 -0
  303. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/tblib/decorators.py +0 -0
  304. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/tblib/pickling_support.py +0 -0
  305. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/lib/version.py +0 -0
  306. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/mixin.py +0 -0
  307. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/odpsio/__init__.py +0 -0
  308. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/odpsio/arrow.py +0 -0
  309. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/odpsio/schema.py +0 -0
  310. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/odpsio/tableio.py +0 -0
  311. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/odpsio/volumeio.py +0 -0
  312. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/opcodes.py +0 -0
  313. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/remote/__init__.py +0 -0
  314. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/remote/core.py +0 -0
  315. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/remote/run_script.py +0 -0
  316. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/__init__.py +0 -0
  317. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/arrow.py +0 -0
  318. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/maxframe_objects.py +0 -0
  319. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/numpy.py +0 -0
  320. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/scipy.py +0 -0
  321. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/serializables/__init__.py +0 -0
  322. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/serializables/field.py +0 -0
  323. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/serialization/serializables/field_type.py +0 -0
  324. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/session.py +0 -0
  325. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/__init__.py +0 -0
  326. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/__init__.py +0 -0
  327. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/abs.py +0 -0
  328. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/absolute.py +0 -0
  329. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/add.py +0 -0
  330. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/angle.py +0 -0
  331. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arccos.py +0 -0
  332. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arccosh.py +0 -0
  333. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arcsin.py +0 -0
  334. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arcsinh.py +0 -0
  335. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arctan.py +0 -0
  336. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arctan2.py +0 -0
  337. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/arctanh.py +0 -0
  338. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/around.py +0 -0
  339. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/bitand.py +0 -0
  340. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/bitor.py +0 -0
  341. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/bitxor.py +0 -0
  342. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/cbrt.py +0 -0
  343. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/ceil.py +0 -0
  344. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/clip.py +0 -0
  345. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/conj.py +0 -0
  346. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/copysign.py +0 -0
  347. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/core.py +0 -0
  348. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/cos.py +0 -0
  349. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/cosh.py +0 -0
  350. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/deg2rad.py +0 -0
  351. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/degrees.py +0 -0
  352. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/divide.py +0 -0
  353. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/equal.py +0 -0
  354. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/exp.py +0 -0
  355. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/exp2.py +0 -0
  356. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/expm1.py +0 -0
  357. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/fabs.py +0 -0
  358. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/fix.py +0 -0
  359. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/float_power.py +0 -0
  360. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/floor.py +0 -0
  361. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/floordiv.py +0 -0
  362. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/fmax.py +0 -0
  363. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/fmin.py +0 -0
  364. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/fmod.py +0 -0
  365. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/frexp.py +0 -0
  366. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/greater.py +0 -0
  367. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/greater_equal.py +0 -0
  368. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/hypot.py +0 -0
  369. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/i0.py +0 -0
  370. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/imag.py +0 -0
  371. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/invert.py +0 -0
  372. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/isclose.py +0 -0
  373. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/iscomplex.py +0 -0
  374. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/isfinite.py +0 -0
  375. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/isinf.py +0 -0
  376. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/isnan.py +0 -0
  377. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/isreal.py +0 -0
  378. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/ldexp.py +0 -0
  379. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/less.py +0 -0
  380. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/less_equal.py +0 -0
  381. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/log.py +0 -0
  382. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/log10.py +0 -0
  383. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/log1p.py +0 -0
  384. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/log2.py +0 -0
  385. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logaddexp.py +0 -0
  386. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logaddexp2.py +0 -0
  387. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logical_and.py +0 -0
  388. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logical_not.py +0 -0
  389. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logical_or.py +0 -0
  390. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/logical_xor.py +0 -0
  391. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/lshift.py +0 -0
  392. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/maximum.py +0 -0
  393. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/minimum.py +0 -0
  394. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/mod.py +0 -0
  395. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/modf.py +0 -0
  396. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/multiply.py +0 -0
  397. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/nan_to_num.py +0 -0
  398. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/negative.py +0 -0
  399. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/nextafter.py +0 -0
  400. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/not_equal.py +0 -0
  401. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/positive.py +0 -0
  402. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/power.py +0 -0
  403. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/rad2deg.py +0 -0
  404. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/radians.py +0 -0
  405. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/real.py +0 -0
  406. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/reciprocal.py +0 -0
  407. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/rint.py +0 -0
  408. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/rshift.py +0 -0
  409. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/setimag.py +0 -0
  410. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/setreal.py +0 -0
  411. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/sign.py +0 -0
  412. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/signbit.py +0 -0
  413. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/sin.py +0 -0
  414. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/sinc.py +0 -0
  415. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/sinh.py +0 -0
  416. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/spacing.py +0 -0
  417. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/sqrt.py +0 -0
  418. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/square.py +0 -0
  419. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/subtract.py +0 -0
  420. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/tan.py +0 -0
  421. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/tanh.py +0 -0
  422. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/truediv.py +0 -0
  423. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/trunc.py +0 -0
  424. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/arithmetic/utils.py +0 -0
  425. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/array_utils.py +0 -0
  426. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/__init__.py +0 -0
  427. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/astype.py +0 -0
  428. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/broadcast_to.py +0 -0
  429. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/ravel.py +0 -0
  430. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/transpose.py +0 -0
  431. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/base/where.py +0 -0
  432. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/core.py +0 -0
  433. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/__init__.py +0 -0
  434. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/arange.py +0 -0
  435. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/array.py +0 -0
  436. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/core.py +0 -0
  437. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/empty.py +0 -0
  438. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/from_dataframe.py +0 -0
  439. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/from_dense.py +0 -0
  440. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/from_sparse.py +0 -0
  441. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/full.py +0 -0
  442. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/ones.py +0 -0
  443. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/scalar.py +0 -0
  444. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/datasource/zeros.py +0 -0
  445. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/fetch/__init__.py +0 -0
  446. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/fetch/core.py +0 -0
  447. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/__init__.py +0 -0
  448. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/choose.py +0 -0
  449. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/compress.py +0 -0
  450. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/core.py +0 -0
  451. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/extract.py +0 -0
  452. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/fill_diagonal.py +0 -0
  453. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/flatnonzero.py +0 -0
  454. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/getitem.py +0 -0
  455. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/nonzero.py +0 -0
  456. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/setitem.py +0 -0
  457. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/slice.py +0 -0
  458. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/take.py +0 -0
  459. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/indexing/unravel_index.py +0 -0
  460. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/merge/__init__.py +0 -0
  461. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/merge/stack.py +0 -0
  462. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/operators.py +0 -0
  463. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/__init__.py +0 -0
  464. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/beta.py +0 -0
  465. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/binomial.py +0 -0
  466. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/bytes.py +0 -0
  467. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/chisquare.py +0 -0
  468. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/choice.py +0 -0
  469. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/core.py +0 -0
  470. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/dirichlet.py +0 -0
  471. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/exponential.py +0 -0
  472. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/f.py +0 -0
  473. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/gamma.py +0 -0
  474. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/geometric.py +0 -0
  475. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/gumbel.py +0 -0
  476. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/hypergeometric.py +0 -0
  477. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/laplace.py +0 -0
  478. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/logistic.py +0 -0
  479. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/lognormal.py +0 -0
  480. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/logseries.py +0 -0
  481. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/multinomial.py +0 -0
  482. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/multivariate_normal.py +0 -0
  483. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/negative_binomial.py +0 -0
  484. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/noncentral_chisquare.py +0 -0
  485. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/noncentral_f.py +0 -0
  486. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/normal.py +0 -0
  487. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/pareto.py +0 -0
  488. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/permutation.py +0 -0
  489. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/poisson.py +0 -0
  490. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/power.py +0 -0
  491. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/rand.py +0 -0
  492. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/randint.py +0 -0
  493. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/randn.py +0 -0
  494. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/random_integers.py +0 -0
  495. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/random_sample.py +0 -0
  496. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/rayleigh.py +0 -0
  497. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/shuffle.py +0 -0
  498. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/standard_cauchy.py +0 -0
  499. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/standard_exponential.py +0 -0
  500. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/standard_gamma.py +0 -0
  501. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/standard_normal.py +0 -0
  502. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/standard_t.py +0 -0
  503. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/triangular.py +0 -0
  504. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/uniform.py +0 -0
  505. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/vonmises.py +0 -0
  506. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/wald.py +0 -0
  507. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/weibull.py +0 -0
  508. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/random/zipf.py +0 -0
  509. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/rechunk/__init__.py +0 -0
  510. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/rechunk/rechunk.py +0 -0
  511. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/__init__.py +0 -0
  512. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/all.py +0 -0
  513. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/allclose.py +0 -0
  514. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/any.py +0 -0
  515. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/argmax.py +0 -0
  516. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/argmin.py +0 -0
  517. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/array_equal.py +0 -0
  518. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/core.py +0 -0
  519. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/cumprod.py +0 -0
  520. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/cumsum.py +0 -0
  521. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/max.py +0 -0
  522. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/mean.py +0 -0
  523. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/min.py +0 -0
  524. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanargmax.py +0 -0
  525. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanargmin.py +0 -0
  526. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nancumprod.py +0 -0
  527. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nancumsum.py +0 -0
  528. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanmax.py +0 -0
  529. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanmean.py +0 -0
  530. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanmin.py +0 -0
  531. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanprod.py +0 -0
  532. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanstd.py +0 -0
  533. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nansum.py +0 -0
  534. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/nanvar.py +0 -0
  535. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/prod.py +0 -0
  536. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/std.py +0 -0
  537. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/sum.py +0 -0
  538. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reduction/var.py +0 -0
  539. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reshape/__init__.py +0 -0
  540. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/reshape/reshape.py +0 -0
  541. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/statistics/__init__.py +0 -0
  542. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/statistics/percentile.py +0 -0
  543. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/statistics/quantile.py +0 -0
  544. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/ufunc/__init__.py +0 -0
  545. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/ufunc/ufunc.py +0 -0
  546. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/tensor/utils.py +0 -0
  547. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/typing_.py +0 -0
  548. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe/udf.py +0 -0
  549. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe.egg-info/dependency_links.txt +0 -0
  550. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe.egg-info/top_level.txt +0 -0
  551. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/clients/__init__.py +0 -0
  552. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/clients/framedriver.py +0 -0
  553. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/fetcher.py +0 -0
  554. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/session/__init__.py +0 -0
  555. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/session/consts.py +0 -0
  556. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/maxframe_client/session/graph.py +0 -0
  557. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/setup.cfg +0 -0
  558. {maxframe-0.1.0b5 → maxframe-1.0.0rc1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: maxframe
3
- Version: 0.1.0b5
3
+ Version: 1.0.0rc1
4
4
  Summary: MaxFrame operator-based data analyze framework
5
5
  Provides-Extra: dev
6
6
  Provides-Extra: test
@@ -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
  """
@@ -203,8 +205,12 @@ class BigDagCodeContext(metaclass=abc.ABCMeta):
203
205
  return self._session_id
204
206
 
205
207
  def register_udf(self, udf: AbstractUDF):
208
+ from maxframe_framedriver.services.session import SessionManager
209
+
206
210
  udf.session_id = self._session_id
207
211
  self._udfs[udf.name] = udf
212
+ if self._session_id and SessionManager.initialized():
213
+ SessionManager.instance().register_udf(self._session_id, udf)
208
214
 
209
215
  def get_udfs(self) -> List[AbstractUDF]:
210
216
  return list(self._udfs.values())
@@ -344,6 +350,8 @@ def register_engine_codegen(type_: Type["BigDagCodeGenerator"]):
344
350
  BUILTIN_ENGINE_SPE = "SPE"
345
351
  BUILTIN_ENGINE_MCSQL = "MCSQL"
346
352
 
353
+ FAST_RANGE_INDEX_ENABLED = "codegen.fast_range_index_enabled"
354
+
347
355
 
348
356
  class BigDagCodeGenerator(metaclass=abc.ABCMeta):
349
357
  _context: BigDagCodeContext
@@ -516,12 +524,12 @@ class BigDagCodeGenerator(metaclass=abc.ABCMeta):
516
524
 
517
525
  def register_udfs(self, odps_ctx: "ODPSSessionContext"):
518
526
  for udf in self._context.get_udfs():
519
- logger.info("[Session %s] Registering UDF %s", self._session_id, udf.name)
527
+ logger.info("[Session=%s] Registering UDF %s", self._session_id, udf.name)
520
528
  udf.register(odps_ctx, True)
521
529
 
522
530
  def unregister_udfs(self, odps_ctx: "ODPSSessionContext"):
523
531
  for udf in self._context.get_udfs():
524
- logger.info("[Session %s] Unregistering UDF %s", self._session_id, udf.name)
532
+ logger.info("[Session=%s] Unregistering UDF %s", self._session_id, udf.name)
525
533
  udf.unregister(odps_ctx)
526
534
 
527
535
  def get_udfs(self) -> List[AbstractUDF]:
@@ -40,6 +40,7 @@ _DEFAULT_SPE_OPERATION_TIMEOUT_SECONDS = 120
40
40
  _DEFAULT_UPLOAD_BATCH_SIZE = 4096
41
41
  _DEFAULT_TEMP_LIFECYCLE = 1
42
42
  _DEFAULT_TASK_START_TIMEOUT = 60
43
+ _DEFAULT_TASK_RESTART_TIMEOUT = 300
43
44
  _DEFAULT_LOGVIEW_HOURS = 24 * 60
44
45
 
45
46
 
@@ -309,6 +310,9 @@ default_options.register_option(
309
310
  default_options.register_option(
310
311
  "client.task_start_timeout", _DEFAULT_TASK_START_TIMEOUT, validator=is_integer
311
312
  )
313
+ default_options.register_option(
314
+ "client.task_restart_timeout", _DEFAULT_TASK_RESTART_TIMEOUT, validator=is_integer
315
+ )
312
316
  default_options.register_option("sql.enable_mcqa", True, validator=is_bool, remote=True)
313
317
  default_options.register_option(
314
318
  "sql.generate_comments", True, validator=is_bool, remote=True
@@ -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 v0.1.0b5 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)} ]')
@@ -18,10 +18,12 @@ import logging
18
18
  from typing import List, Optional, Union
19
19
 
20
20
  from odps.models import Table as ODPSTable
21
+ from odps.types import PartitionSpec
21
22
 
22
23
  from ... import opcodes
23
24
  from ...config import options
24
25
  from ...core import OutputType
26
+ from ...odpsio import build_dataframe_table_meta
25
27
  from ...serialization.serializables import (
26
28
  BoolField,
27
29
  FieldTypes,
@@ -147,6 +149,25 @@ def to_odps_table(
147
149
  f"index_label needs {len(df.index.nlevels)} labels "
148
150
  f"but it only have {len(index_label)}"
149
151
  )
152
+ table_cols = set(build_dataframe_table_meta(df).table_column_names)
153
+ if partition:
154
+ partition_intersect = (
155
+ set(x.lower() for x in PartitionSpec(partition).keys()) & table_cols
156
+ )
157
+ if partition_intersect:
158
+ raise ValueError(
159
+ f"Data column(s) {partition_intersect} in the dataframe"
160
+ " cannot be used in parameter 'partition'."
161
+ " Use 'partition_col' instead."
162
+ )
163
+
164
+ if partition_col:
165
+ partition_diff = set(x.lower() for x in partition_col) - table_cols
166
+ if partition_diff:
167
+ raise ValueError(
168
+ f"Partition column(s) {partition_diff}"
169
+ " is not the data column(s) of the input dataframe."
170
+ )
150
171
 
151
172
  op = DataFrameToODPSTable(
152
173
  dtypes=df.dtypes,
@@ -138,7 +138,7 @@ class DataFrameAlign(DataFrameOperator, DataFrameOperatorMixin):
138
138
  series_index = rhs.index_value.to_pandas()
139
139
  dtypes = lhs.dtypes.reindex(
140
140
  lhs.dtypes.index.join(series_index, how=self.join)
141
- ).fillna(np.dtype(np.float_))
141
+ ).fillna(np.dtype(float))
142
142
  l_shape[1] = r_size = len(dtypes)
143
143
  col_val = r_idx_val = parse_index(dtypes.index, store_data=True)
144
144
 
@@ -170,6 +170,8 @@ class ApplyOperator(
170
170
  elif self.output_types[0] == OutputType.dataframe:
171
171
  shape = [np.nan, np.nan]
172
172
  shape[1 - self.axis] = df.shape[1 - self.axis]
173
+ if self.axis == 1:
174
+ shape[1] = len(dtypes)
173
175
  shape = tuple(shape)
174
176
  else:
175
177
  shape = (df.shape[1 - self.axis],)
@@ -58,7 +58,7 @@ class DataFrameMemoryUsage(DataFrameOperator, DataFrameOperatorMixin):
58
58
  """
59
59
  if df_or_series.ndim == 1:
60
60
  # the input data is a series, a Scalar will be returned
61
- return self.new_scalar([df_or_series], dtype=np.dtype(np.int_))
61
+ return self.new_scalar([df_or_series], dtype=np.dtype(int))
62
62
  else:
63
63
  # the input data is a DataFrame, a Scalar will be returned
64
64
  # calculate shape of returning series given ``op.index``
@@ -71,7 +71,7 @@ class DataFrameMemoryUsage(DataFrameOperator, DataFrameOperatorMixin):
71
71
  [df_or_series],
72
72
  index_value=self._adapt_index(df_or_series.columns_value),
73
73
  shape=new_shape,
74
- dtype=np.dtype(np.int_),
74
+ dtype=np.dtype(int),
75
75
  )
76
76
 
77
77
 
@@ -43,7 +43,7 @@ class DataFrameCorr(DataFrameOperator, DataFrameOperatorMixin):
43
43
  def __call__(self, df_or_series):
44
44
  if isinstance(df_or_series, SERIES_TYPE):
45
45
  inputs = filter_inputs([df_or_series, self.other])
46
- return self.new_scalar(inputs, dtype=np.dtype(np.float_))
46
+ return self.new_scalar(inputs, dtype=np.dtype(float))
47
47
  else:
48
48
 
49
49
  def _filter_numeric(obj):
@@ -60,7 +60,7 @@ class DataFrameCorr(DataFrameOperator, DataFrameOperatorMixin):
60
60
  inputs = filter_inputs([df_or_series, self.other])
61
61
  if self.axis is None:
62
62
  dtypes = pd.Series(
63
- [np.dtype(np.float_)] * len(df_or_series.dtypes),
63
+ [np.dtype(float)] * len(df_or_series.dtypes),
64
64
  index=df_or_series.dtypes.index,
65
65
  )
66
66
  return self.new_dataframe(
@@ -85,7 +85,7 @@ class DataFrameCorr(DataFrameOperator, DataFrameOperatorMixin):
85
85
  return self.new_series(
86
86
  inputs,
87
87
  shape=shape,
88
- dtype=np.dtype(np.float_),
88
+ dtype=np.dtype(float),
89
89
  index_value=new_index_value,
90
90
  )
91
91
 
@@ -17,5 +17,18 @@ class MaxFrameError(Exception):
17
17
  pass
18
18
 
19
19
 
20
+ class MaxFrameIntentionalError(MaxFrameError):
21
+ pass
22
+
23
+
20
24
  class MaxFrameUserError(MaxFrameError):
21
25
  pass
26
+
27
+
28
+ class NoTaskServerResponseError(MaxFrameError):
29
+ pass
30
+
31
+
32
+ class SessionAlreadyClosedError(MaxFrameError):
33
+ def __init__(self, session_id: str):
34
+ super().__init__(f"Session {session_id} is already closed")
@@ -48,6 +48,18 @@ class MaxFrameExtension(metaclass=abc.ABCMeta):
48
48
  """
49
49
  pass
50
50
 
51
+ @classmethod
52
+ async def reload_session(cls, session_id: str) -> None:
53
+ """
54
+ Reload the session state when the session is recovered from failover.
55
+
56
+ Parameters
57
+ ----------
58
+ session_id : str
59
+ The session id.
60
+ """
61
+ pass
62
+
51
63
  @classmethod
52
64
  def init_service_extension(cls) -> None:
53
65
  """
@@ -0,0 +1,43 @@
1
+ # Copyright 1999-2024 Alibaba Group Holding Ltd.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ from typing import Tuple
16
+
17
+ def hash(key, seed=0, signed=True) -> int:
18
+ """
19
+ Return a 32 bit integer.
20
+ """
21
+
22
+ def hash_from_buffer(key, seed=0, signed=True) -> int:
23
+ """
24
+ Return a 32 bit integer. Designed for large memory-views such as numpy arrays.
25
+ """
26
+
27
+ def hash64(key, seed=0, x64arch=True, signed=True) -> Tuple[int, int]:
28
+ """
29
+ Return a tuple of two 64 bit integers for a string. Optimized for
30
+ the x64 bit architecture when x64arch=True, otherwise for x86.
31
+ """
32
+
33
+ def hash128(key, seed=0, x64arch=True, signed=False) -> int:
34
+ """
35
+ Return a 128 bit long integer. Optimized for the x64 bit architecture
36
+ when x64arch=True, otherwise for x86.
37
+ """
38
+
39
+ def hash_bytes(key, seed=0, x64arch=True) -> bytes:
40
+ """
41
+ Return a 128 bit hash value as bytes for a string. Optimized for the
42
+ x64 bit architecture when x64arch=True, otherwise for the x86.
43
+ """
@@ -120,7 +120,8 @@ class _UnpickleSwitch:
120
120
  @functools.wraps(func)
121
121
  async def wrapped(*args, **kwargs):
122
122
  with _UnpickleSwitch(forbidden=self._forbidden):
123
- return await func(*args, **kwargs)
123
+ ret = await func(*args, **kwargs)
124
+ return ret
124
125
 
125
126
  else:
126
127
 
@@ -32,6 +32,7 @@ from .serialization.serializables import (
32
32
  EnumField,
33
33
  FieldTypes,
34
34
  Float64Field,
35
+ Int32Field,
35
36
  ListField,
36
37
  ReferenceField,
37
38
  Serializable,
@@ -71,6 +72,9 @@ class DagStatus(enum.Enum):
71
72
  CANCELLING = 4
72
73
  CANCELLED = 5
73
74
 
75
+ def is_terminated(self):
76
+ return self in (DagStatus.CANCELLED, DagStatus.SUCCEEDED, DagStatus.FAILED)
77
+
74
78
 
75
79
  class DimensionIndex(Serializable):
76
80
  is_slice: bool = BoolField("is_slice", default=None)
@@ -190,9 +194,9 @@ class ErrorInfo(JsonSerializable):
190
194
  "error_tracebacks", FieldTypes.list
191
195
  )
192
196
  raw_error_source: ErrorSource = EnumField(
193
- "raw_error_source", ErrorSource, FieldTypes.int8
197
+ "raw_error_source", ErrorSource, FieldTypes.int8, default=None
194
198
  )
195
- raw_error_data: Optional[Exception] = AnyField("raw_error_data")
199
+ raw_error_data: Optional[Exception] = AnyField("raw_error_data", default=None)
196
200
 
197
201
  @classmethod
198
202
  def from_exception(cls, exc: Exception):
@@ -201,20 +205,29 @@ class ErrorInfo(JsonSerializable):
201
205
  return cls(messages, tracebacks, ErrorSource.PYTHON, exc)
202
206
 
203
207
  def reraise(self):
204
- if self.raw_error_source == ErrorSource.PYTHON:
208
+ if (
209
+ self.raw_error_source == ErrorSource.PYTHON
210
+ and self.raw_error_data is not None
211
+ ):
205
212
  raise self.raw_error_data
206
213
  raise RemoteException(self.error_messages, self.error_tracebacks, [])
207
214
 
208
215
  @classmethod
209
216
  def from_json(cls, serialized: dict) -> "ErrorInfo":
210
217
  kw = serialized.copy()
211
- kw["raw_error_source"] = ErrorSource(serialized["raw_error_source"])
218
+ if kw.get("raw_error_source") is not None:
219
+ kw["raw_error_source"] = ErrorSource(serialized["raw_error_source"])
220
+ else:
221
+ kw["raw_error_source"] = None
222
+
212
223
  if kw.get("raw_error_data"):
213
224
  bufs = [base64.b64decode(s) for s in kw["raw_error_data"]]
214
225
  try:
215
226
  kw["raw_error_data"] = pickle.loads(bufs[0], buffers=bufs[1:])
216
227
  except:
217
- kw["raw_error_data"] = None
228
+ # both error source and data shall be None to make sure
229
+ # RemoteException is raised.
230
+ kw["raw_error_source"] = kw["raw_error_data"] = None
218
231
  return cls(**kw)
219
232
 
220
233
  def to_json(self) -> dict:
@@ -227,7 +240,12 @@ class ErrorInfo(JsonSerializable):
227
240
  if isinstance(self.raw_error_data, (PickleContainer, RemoteException)):
228
241
  err_data_bufs = self.raw_error_data.get_buffers()
229
242
  elif isinstance(self.raw_error_data, BaseException):
230
- err_data_bufs = pickle_buffers(self.raw_error_data)
243
+ try:
244
+ err_data_bufs = pickle_buffers(self.raw_error_data)
245
+ except:
246
+ err_data_bufs = None
247
+ ret["raw_error_source"] = None
248
+
231
249
  if err_data_bufs:
232
250
  ret["raw_error_data"] = [
233
251
  base64.b64encode(s).decode() for s in err_data_bufs
@@ -249,9 +267,17 @@ class DagInfo(JsonSerializable):
249
267
  error_info: Optional[ErrorInfo] = ReferenceField("error_info", default=None)
250
268
  start_timestamp: Optional[float] = Float64Field("start_timestamp", default=None)
251
269
  end_timestamp: Optional[float] = Float64Field("end_timestamp", default=None)
270
+ subdag_infos: Dict[str, "SubDagInfo"] = DictField(
271
+ "subdag_infos",
272
+ key_type=FieldTypes.string,
273
+ value_type=FieldTypes.reference,
274
+ default_factory=dict,
275
+ )
252
276
 
253
277
  @classmethod
254
- def from_json(cls, serialized: dict) -> "DagInfo":
278
+ def from_json(cls, serialized: dict) -> Optional["DagInfo"]:
279
+ if serialized is None:
280
+ return None
255
281
  kw = serialized.copy()
256
282
  kw["status"] = DagStatus(kw["status"])
257
283
  if kw.get("tileable_to_result_infos"):
@@ -261,6 +287,10 @@ class DagInfo(JsonSerializable):
261
287
  }
262
288
  if kw.get("error_info"):
263
289
  kw["error_info"] = ErrorInfo.from_json(kw["error_info"])
290
+ if kw.get("subdag_infos"):
291
+ kw["subdag_infos"] = {
292
+ k: SubDagInfo.from_json(v) for k, v in kw["subdag_infos"].items()
293
+ }
264
294
  return DagInfo(**kw)
265
295
 
266
296
  def to_json(self) -> dict:
@@ -279,6 +309,8 @@ class DagInfo(JsonSerializable):
279
309
  }
280
310
  if self.error_info:
281
311
  ret["error_info"] = self.error_info.to_json()
312
+ if self.subdag_infos:
313
+ ret["subdag_infos"] = {k: v.to_json() for k, v in self.subdag_infos.items()}
282
314
  return ret
283
315
 
284
316
 
@@ -302,7 +334,9 @@ class SessionInfo(JsonSerializable):
302
334
  error_info: Optional[ErrorInfo] = ReferenceField("error_info", default=None)
303
335
 
304
336
  @classmethod
305
- def from_json(cls, serialized: dict) -> "SessionInfo":
337
+ def from_json(cls, serialized: dict) -> Optional["SessionInfo"]:
338
+ if serialized is None:
339
+ return None
306
340
  kw = serialized.copy()
307
341
  if kw.get("dag_infos"):
308
342
  kw["dag_infos"] = {
@@ -320,7 +354,10 @@ class SessionInfo(JsonSerializable):
320
354
  "idle_timestamp": self.idle_timestamp,
321
355
  }
322
356
  if self.dag_infos:
323
- ret["dag_infos"] = {k: v.to_json() for k, v in self.dag_infos.items()}
357
+ ret["dag_infos"] = {
358
+ k: v.to_json() if v is not None else None
359
+ for k, v in self.dag_infos.items()
360
+ }
324
361
  if self.error_info:
325
362
  ret["error_info"] = self.error_info.to_json()
326
363
  return ret
@@ -342,7 +379,25 @@ class ExecuteDagRequest(Serializable):
342
379
  )
343
380
 
344
381
 
345
- class SubDagInfo(Serializable):
382
+ class SubDagSubmitInstanceInfo(JsonSerializable):
383
+ submit_reason: str = StringField("submit_reason")
384
+ instance_id: str = StringField("instance_id")
385
+ subquery_id: Optional[int] = Int32Field("subquery_id", default=None)
386
+
387
+ @classmethod
388
+ def from_json(cls, serialized: dict) -> "SubDagSubmitInstanceInfo":
389
+ return SubDagSubmitInstanceInfo(**serialized)
390
+
391
+ def to_json(self) -> dict:
392
+ ret = {
393
+ "submit_reason": self.submit_reason,
394
+ "instance_id": self.instance_id,
395
+ "subquery_id": self.subquery_id,
396
+ }
397
+ return ret
398
+
399
+
400
+ class SubDagInfo(JsonSerializable):
346
401
  subdag_id: str = StringField("subdag_id")
347
402
  status: DagStatus = EnumField("status", DagStatus, FieldTypes.int8, default=None)
348
403
  progress: float = Float64Field("progress", default=None)
@@ -355,9 +410,52 @@ class SubDagInfo(Serializable):
355
410
  FieldTypes.reference,
356
411
  default_factory=dict,
357
412
  )
413
+ start_timestamp: Optional[float] = Float64Field("start_timestamp", default=None)
414
+ end_timestamp: Optional[float] = Float64Field("end_timestamp", default=None)
415
+ submit_instances: List[SubDagSubmitInstanceInfo] = ListField(
416
+ "submit_instances",
417
+ FieldTypes.reference,
418
+ default_factory=list,
419
+ )
420
+
421
+ @classmethod
422
+ def from_json(cls, serialized: dict) -> "SubDagInfo":
423
+ kw = serialized.copy()
424
+ kw["status"] = DagStatus(kw["status"])
425
+ if kw.get("tileable_to_result_infos"):
426
+ kw["tileable_to_result_infos"] = {
427
+ k: ResultInfo.from_json(s)
428
+ for k, s in kw["tileable_to_result_infos"].items()
429
+ }
430
+ if kw.get("error_info"):
431
+ kw["error_info"] = ErrorInfo.from_json(kw["error_info"])
432
+ if kw.get("submit_instances"):
433
+ kw["submit_instances"] = [
434
+ SubDagSubmitInstanceInfo.from_json(s) for s in kw["submit_instances"]
435
+ ]
436
+ return SubDagInfo(**kw)
437
+
438
+ def to_json(self) -> dict:
439
+ ret = {
440
+ "subdag_id": self.subdag_id,
441
+ "status": self.status.value,
442
+ "progress": self.progress,
443
+ "start_timestamp": self.start_timestamp,
444
+ "end_timestamp": self.end_timestamp,
445
+ }
446
+ if self.error_info:
447
+ ret["error_info"] = self.error_info.to_json()
448
+ if self.tileable_to_result_infos:
449
+ ret["tileable_to_result_infos"] = {
450
+ k: v.to_json() for k, v in self.tileable_to_result_infos.items()
451
+ }
452
+ if self.submit_instances:
453
+ ret["submit_instances"] = [i.to_json() for i in self.submit_instances]
454
+ return ret
358
455
 
359
456
 
360
457
  class ExecuteSubDagRequest(Serializable):
458
+ subdag_id: str = StringField("subdag_id")
361
459
  dag: TileableGraph = ReferenceField(
362
460
  "dag",
363
461
  on_serialize=SerializableGraph.from_graph,
@@ -18,6 +18,9 @@ from libc.stdint cimport int32_t, uint64_t
18
18
  cdef class Serializer:
19
19
  cdef int _serializer_id
20
20
 
21
+ cpdef bint is_public_data_exist(self, dict context, object key)
22
+ cpdef put_public_data(self, dict context, object key, object value)
23
+ cpdef get_public_data(self, dict context, object key)
21
24
  cpdef serial(self, object obj, dict context)
22
25
  cpdef deserial(self, list serialized, dict context, list subs)
23
26
  cpdef on_deserial_error(
@@ -29,6 +29,9 @@ class PickleContainer:
29
29
 
30
30
  class Serializer:
31
31
  serializer_id: int
32
+ def is_public_data_exist(self, context: Dict, key: Any) -> bool: ...
33
+ def put_public_data(self, context: Dict, key: Any, value: Any) -> None: ...
34
+ def get_public_data(self, context: Dict, key: Any) -> Any: ...
32
35
  def serial(self, obj: Any, context: Dict): ...
33
36
  def deserial(self, serialized: List, context: Dict, subs: List[Any]): ...
34
37
  def on_deserial_error(