maxframe 1.0.0rc4__cp37-cp37m-win32.whl → 1.1.1__cp37-cp37m-win32.whl

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 (88) hide show
  1. maxframe/_utils.cp37-win32.pyd +0 -0
  2. maxframe/config/__init__.py +1 -1
  3. maxframe/config/config.py +26 -0
  4. maxframe/config/tests/test_config.py +20 -1
  5. maxframe/conftest.py +17 -4
  6. maxframe/core/graph/core.cp37-win32.pyd +0 -0
  7. maxframe/core/operator/base.py +2 -0
  8. maxframe/dataframe/arithmetic/tests/test_arithmetic.py +17 -16
  9. maxframe/dataframe/core.py +24 -2
  10. maxframe/dataframe/datasource/read_odps_query.py +65 -35
  11. maxframe/dataframe/datasource/read_odps_table.py +4 -2
  12. maxframe/dataframe/datasource/tests/test_datasource.py +59 -7
  13. maxframe/dataframe/extensions/__init__.py +5 -0
  14. maxframe/dataframe/extensions/apply_chunk.py +649 -0
  15. maxframe/dataframe/extensions/flatjson.py +131 -0
  16. maxframe/dataframe/extensions/flatmap.py +28 -40
  17. maxframe/dataframe/extensions/reshuffle.py +1 -1
  18. maxframe/dataframe/extensions/tests/test_apply_chunk.py +186 -0
  19. maxframe/dataframe/extensions/tests/test_extensions.py +46 -2
  20. maxframe/dataframe/groupby/__init__.py +1 -0
  21. maxframe/dataframe/groupby/aggregation.py +1 -0
  22. maxframe/dataframe/groupby/apply.py +9 -1
  23. maxframe/dataframe/groupby/core.py +1 -1
  24. maxframe/dataframe/groupby/fill.py +4 -1
  25. maxframe/dataframe/groupby/getitem.py +6 -0
  26. maxframe/dataframe/groupby/tests/test_groupby.py +1 -1
  27. maxframe/dataframe/groupby/transform.py +8 -2
  28. maxframe/dataframe/indexing/loc.py +6 -4
  29. maxframe/dataframe/merge/__init__.py +9 -1
  30. maxframe/dataframe/merge/concat.py +41 -31
  31. maxframe/dataframe/merge/merge.py +1 -1
  32. maxframe/dataframe/merge/tests/test_merge.py +3 -1
  33. maxframe/dataframe/misc/apply.py +3 -0
  34. maxframe/dataframe/misc/drop_duplicates.py +5 -1
  35. maxframe/dataframe/misc/map.py +3 -1
  36. maxframe/dataframe/misc/tests/test_misc.py +24 -2
  37. maxframe/dataframe/misc/transform.py +22 -13
  38. maxframe/dataframe/reduction/__init__.py +3 -0
  39. maxframe/dataframe/reduction/aggregation.py +1 -0
  40. maxframe/dataframe/reduction/median.py +56 -0
  41. maxframe/dataframe/reduction/tests/test_reduction.py +17 -7
  42. maxframe/dataframe/statistics/quantile.py +8 -2
  43. maxframe/dataframe/statistics/tests/test_statistics.py +4 -4
  44. maxframe/dataframe/tests/test_utils.py +60 -0
  45. maxframe/dataframe/utils.py +110 -7
  46. maxframe/dataframe/window/expanding.py +5 -3
  47. maxframe/dataframe/window/tests/test_expanding.py +2 -2
  48. maxframe/io/objects/tests/test_object_io.py +39 -12
  49. maxframe/io/odpsio/__init__.py +1 -1
  50. maxframe/io/odpsio/arrow.py +51 -2
  51. maxframe/io/odpsio/schema.py +23 -5
  52. maxframe/io/odpsio/tableio.py +80 -124
  53. maxframe/io/odpsio/tests/test_schema.py +40 -0
  54. maxframe/io/odpsio/tests/test_tableio.py +5 -5
  55. maxframe/io/odpsio/tests/test_volumeio.py +35 -11
  56. maxframe/io/odpsio/volumeio.py +27 -3
  57. maxframe/learn/contrib/__init__.py +3 -2
  58. maxframe/learn/contrib/llm/__init__.py +16 -0
  59. maxframe/learn/contrib/llm/core.py +54 -0
  60. maxframe/learn/contrib/llm/models/__init__.py +14 -0
  61. maxframe/learn/contrib/llm/models/dashscope.py +73 -0
  62. maxframe/learn/contrib/llm/multi_modal.py +42 -0
  63. maxframe/learn/contrib/llm/text.py +42 -0
  64. maxframe/lib/mmh3.cp37-win32.pyd +0 -0
  65. maxframe/lib/sparse/tests/test_sparse.py +15 -15
  66. maxframe/opcodes.py +7 -1
  67. maxframe/serialization/core.cp37-win32.pyd +0 -0
  68. maxframe/serialization/core.pyx +13 -1
  69. maxframe/serialization/pandas.py +50 -20
  70. maxframe/serialization/serializables/core.py +70 -15
  71. maxframe/serialization/serializables/field_type.py +4 -1
  72. maxframe/serialization/serializables/tests/test_serializable.py +12 -2
  73. maxframe/serialization/tests/test_serial.py +2 -1
  74. maxframe/tensor/__init__.py +19 -7
  75. maxframe/tensor/merge/vstack.py +1 -1
  76. maxframe/tests/utils.py +16 -0
  77. maxframe/udf.py +27 -0
  78. maxframe/utils.py +42 -8
  79. {maxframe-1.0.0rc4.dist-info → maxframe-1.1.1.dist-info}/METADATA +2 -2
  80. {maxframe-1.0.0rc4.dist-info → maxframe-1.1.1.dist-info}/RECORD +88 -77
  81. maxframe_client/clients/framedriver.py +4 -1
  82. maxframe_client/fetcher.py +23 -8
  83. maxframe_client/session/odps.py +40 -11
  84. maxframe_client/session/task.py +6 -25
  85. maxframe_client/session/tests/test_task.py +35 -6
  86. maxframe_client/tests/test_session.py +30 -10
  87. {maxframe-1.0.0rc4.dist-info → maxframe-1.1.1.dist-info}/WHEEL +0 -0
  88. {maxframe-1.0.0rc4.dist-info → maxframe-1.1.1.dist-info}/top_level.txt +0 -0
@@ -1,24 +1,24 @@
1
1
  maxframe/__init__.py,sha256=RujkARDvD6mhFpR330UQ0UfogvIdae5EjR1euFpTiYA,1036
2
- maxframe/_utils.cp37-win32.pyd,sha256=CBpE7c3je2pYheFWRUhtc-yWbi5yKydkGYb-IMUJz24,275456
2
+ maxframe/_utils.cp37-win32.pyd,sha256=PSUwmNbdOP1sQC-exB9tVaRTlYZ_FBavQ3U5Ee681ec,274944
3
3
  maxframe/_utils.pxd,sha256=_qHN-lCY1FQgDFIrrqA79Ys0SBdonp9kXRMS93xKSYk,1187
4
4
  maxframe/_utils.pyx,sha256=_3p6aJEJ6WZYLcNZ6o4DxoxsxqadTlJXFlgDeFPxqUQ,17564
5
5
  maxframe/codegen.py,sha256=8CvmD-1elhT9hK5O3jadhq7G-3AVf7Tb1MNOJcGJWVA,18267
6
- maxframe/conftest.py,sha256=oCHdhSgzITSm-7vee2Icwwhxq3dyyHg__KUkQnesjug,5955
6
+ maxframe/conftest.py,sha256=YDTh7eJqk19UhZE73-18oKPUxlT9ke7S-kUui4rfeJc,6489
7
7
  maxframe/env.py,sha256=xY4wjMWIJ4qLsFAQ5F-X5CrVR7dDSWiryPXni0YSK5c,1435
8
8
  maxframe/errors.py,sha256=nhQVjRbH5EsyLZhyAufvHpMhfDN6eR8vcrv4sjaI7p8,1000
9
9
  maxframe/extension.py,sha256=XKgK2b42i-jfnLc0lBPiBMsGA6HMQ4a12mJc09tMAFc,2752
10
10
  maxframe/mixin.py,sha256=QfX0KqVIWDlVDSFs0lwdzLexw7lS7W_IUuK7aY1Ib8c,3624
11
- maxframe/opcodes.py,sha256=GERZf2zLTygG3nLQc3MX91vy6tJcAC0t6vf2ymw201o,10829
11
+ maxframe/opcodes.py,sha256=Drb7P_b6VLglt-6BHsEYHOsZONtxJgp2E9U9Ko7IQQQ,10947
12
12
  maxframe/protocol.py,sha256=TM6jnUsNy634YaI-Ed-alX48ebtGSyFJwM8XvmlGPbg,19526
13
13
  maxframe/session.py,sha256=wftB7_3CHU9ljdgS9b-Gz6PNiUToVSScwSG-x3dlu3I,37710
14
14
  maxframe/typing_.py,sha256=EsgH2QO4VF0TRdjshKyL0Tmgiy3Ow8doTwEuam5nStE,1220
15
- maxframe/udf.py,sha256=Xrx3wrZCVX6zDggS1QGmHpuJhLgTG9HqLziId_NFnic,4471
16
- maxframe/utils.py,sha256=qOplo4pJBaz0vbWNkS2ichMHN4BvACO2TpFpHjzx4YI,34974
17
- maxframe/config/__init__.py,sha256=AHo3deaCm1JnbbRX_udboJEDYrYytdvivp9RFxJcumI,671
18
- maxframe/config/config.py,sha256=bGDuHdF95IHPOwP7biUVV0NFRiQn0WIbhjqnKcTCkMQ,15886
15
+ maxframe/udf.py,sha256=bzzpmXVz7BioiNW2RxmKEad2E4X5mJpEfKYmLjGlLGA,5317
16
+ maxframe/utils.py,sha256=jCZkpT6OtjIlTYArmRiT-WDsh7sGQb_cxbyVGXBiK94,35817
17
+ maxframe/config/__init__.py,sha256=2VB189TzomdYUKOdSvyb5trVPOXVYX6bS1DzDv5U5YA,698
18
+ maxframe/config/config.py,sha256=2rqp6JPNrUW6FJAwmAxZal3512e8T3uKLupAldxWaMg,16804
19
19
  maxframe/config/validators.py,sha256=vs82UJa4xdY7tvbM7U4vOtXDJHrfdAOTvDkbrFtuGLU,2599
20
20
  maxframe/config/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
21
- maxframe/config/tests/test_config.py,sha256=FWQZ6KBUG_jY1-KaR-GKXl7khhlTbuLlk3uaEV8koM8,2839
21
+ maxframe/config/tests/test_config.py,sha256=oi_7HOVIEDARpNnflDFAC5tkoP3Kk188VXU5Or-ewpI,3405
22
22
  maxframe/config/tests/test_validators.py,sha256=kz9Yxiqvl_BJq2CT61JTzfpRyrjm6lFrjqIfqeld_yo,1274
23
23
  maxframe/core/__init__.py,sha256=uNccOOfZ1aCxvUsz8ic5kObQkrBgfUv8ExU7OScyW1w,1508
24
24
  maxframe/core/base.py,sha256=43qZ_sJFgW857qhT1jqgsjdAsBy9tzCeqeX62CPm4vM,4691
@@ -33,7 +33,7 @@ maxframe/core/entity/utils.py,sha256=454RYVbTMVW_8KnfDqUPec4kz1p98izVTC2OrzhOkao
33
33
  maxframe/core/entity/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
34
34
  maxframe/core/entity/tests/test_objects.py,sha256=8OAMgphXRVri3UewnCYoXfS3lJ_53yxFmR3rv2pWiMY,1392
35
35
  maxframe/core/graph/__init__.py,sha256=IRTkHcVzI57tPXZ3agJJb-atpoD-9Jk4vtcRj3XQXzg,782
36
- maxframe/core/graph/core.cp37-win32.pyd,sha256=hvSOo2hub0SBcXE0n6eAnLNu4XZMJ8SQ7IIxz8amGzM,223232
36
+ maxframe/core/graph/core.cp37-win32.pyd,sha256=_TS9fecASjRNkbaxqUwQbz4MuV8cXVVRcbglV69cEsk,222720
37
37
  maxframe/core/graph/core.pyx,sha256=J619C6xfVCF8NQ8oeinhICYSg-w5ecX-dnBI7NB-6n0,16390
38
38
  maxframe/core/graph/entity.py,sha256=7DJtHi7Xum_Yp16caiQd2AMZd34PWDPy7kocjWhgl3o,5010
39
39
  maxframe/core/graph/builder/__init__.py,sha256=fL_blRc623cJ5CQTiFG1d4OK8M97FcFqGbX9chwbUQs,655
@@ -43,7 +43,7 @@ maxframe/core/graph/builder/utils.py,sha256=656KxKPwE8Il8S8OefItfqkhHQ8kyfSjfqDa
43
43
  maxframe/core/graph/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
44
44
  maxframe/core/graph/tests/test_graph.py,sha256=nkVn_dLk0oT42HWJxnSjniC5ElXjsHxC1Jzlg1CKHcQ,7667
45
45
  maxframe/core/operator/__init__.py,sha256=s2r2k2-5iP57gByVSg8K_fTj6iQPXOgSto0kW6bvOoM,1098
46
- maxframe/core/operator/base.py,sha256=owRYDDMvnL_4bOdlQXLTq6NFeE6RiZYKSrFrDglkBqc,15635
46
+ maxframe/core/operator/base.py,sha256=fRtCL6HsfbHPYrQCOnovt9oBYcS339VkRdFFaR7d2Xs,15786
47
47
  maxframe/core/operator/core.py,sha256=cDzq0_9k7pfUiyAkaIq2eLaP6fAw7uRS-7bacon0Acg,9539
48
48
  maxframe/core/operator/fetch.py,sha256=4g9kyJbIco7cDgbdUJOJNtC3NCploUU45jnateGYG8c,1563
49
49
  maxframe/core/operator/objects.py,sha256=OylWHC78AIpxM4M3ns4MzqGF7HzTJaWU9QJv-B3zKzQ,2028
@@ -55,10 +55,10 @@ maxframe/core/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLW
55
55
  maxframe/core/tests/test_mode.py,sha256=fyRH-ksa6MogEs6kNhtXhCZyvhYqflgaXJYI3nSo-ps,2507
56
56
  maxframe/dataframe/__init__.py,sha256=FqEhQAdEx5W8-P8mG3Wwzx-gJcScVpcqkaDAp6ejWgU,2323
57
57
  maxframe/dataframe/arrays.py,sha256=rOvhxMQars9E3SOYSu0ygBuuRVY0QV6xzengnMqKs4s,29616
58
- maxframe/dataframe/core.py,sha256=p4x5QkNGiP0M8flIviFzLiRZ1fmnL55yvpiIzEqRqEA,76844
58
+ maxframe/dataframe/core.py,sha256=z96cEmBsCMalavN0GMzEU1iTF2zDiWomnNGq0y0BHA8,77441
59
59
  maxframe/dataframe/initializer.py,sha256=f_gYxuwrTQL_-0FKMWUnX84jBsuRwv4Z7y-1Vf15ZA0,11150
60
60
  maxframe/dataframe/operators.py,sha256=7u2v-yRl2wcTg8BmIXh-IFrj4TcKoegqf06gm-t0wGQ,7834
61
- maxframe/dataframe/utils.py,sha256=sonPqTu6vwXg5lxYFsZg3ZjUsQhTokpdngH_R0-3Kjg,45477
61
+ maxframe/dataframe/utils.py,sha256=WMw9j0yYq4Gh0o2dPQGWfZ5FfcvYTzZYyKRFfjvSWSM,48674
62
62
  maxframe/dataframe/arithmetic/__init__.py,sha256=MPnITPuO7DDjAMTBawpennv6D0V9AnT6oF0nz2KUIqc,12837
63
63
  maxframe/dataframe/arithmetic/abs.py,sha256=EgyzciSwjE_I3ZBuzeVJFVzBHsxn9MWzCtvHgyEl6ek,1016
64
64
  maxframe/dataframe/arithmetic/add.py,sha256=wbmfAZgxjuP02ZUV4-VEsNhJlyo9tytXwkEx65ahuxI,1766
@@ -108,7 +108,7 @@ maxframe/dataframe/arithmetic/tanh.py,sha256=mbGIJLCLPypcwbZhGdqfboFKVQ7RSy-B0lA
108
108
  maxframe/dataframe/arithmetic/truediv.py,sha256=MpvDwQ4SZ6ugXF04oFv0kheMcx-EcgkXeIBiPjh6MQQ,1872
109
109
  maxframe/dataframe/arithmetic/trunc.py,sha256=ji9K9VRxvDPfODJmZ_yKBY885YKTWwdGK99kx4ZEZ5U,953
110
110
  maxframe/dataframe/arithmetic/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
111
- maxframe/dataframe/arithmetic/tests/test_arithmetic.py,sha256=VGoBadh4ahFXR5TJEVE3BK-dRqYCf5jo1yus5ekyjBM,25974
111
+ maxframe/dataframe/arithmetic/tests/test_arithmetic.py,sha256=BLCpyMNnWo2LHHqtGWyLZTG2ThlRWkbzlrg7BeiqDF0,25881
112
112
  maxframe/dataframe/datasource/__init__.py,sha256=SX8ZXJsvQYntLZiEk-X1LmbF6v6k-Kaueh0R04N2eCQ,655
113
113
  maxframe/dataframe/datasource/core.py,sha256=1X32MxCU3Y5vxTVEIkNNXx29eIARyRCvnkVe7ThT0wI,2768
114
114
  maxframe/dataframe/datasource/dataframe.py,sha256=P3kvDS_Jh6EGgJRVfh_rHVkVfMaHeGQ2U7rZT5Gr2Tk,2082
@@ -118,38 +118,41 @@ maxframe/dataframe/datasource/from_records.py,sha256=ygpKOMXZnDdWzGxMxQ4KdGv-tJF
118
118
  maxframe/dataframe/datasource/from_tensor.py,sha256=mShHYi0fZcG7ZShFVgIezaphh8tSFqR9-nQMm5YKIhw,15146
119
119
  maxframe/dataframe/datasource/index.py,sha256=X_NShW67nYJGxaWp3qOrvyInNkz9L-XHjbApU4fHoes,4518
120
120
  maxframe/dataframe/datasource/read_csv.py,sha256=IvQihmpcZIdzSD7ziX92aTAHNyP5WnTgd2cZz_h43sQ,24668
121
- maxframe/dataframe/datasource/read_odps_query.py,sha256=V4OT4yKmlk2hdXbxFdaDdRnHRnXeeMiZrqUZSlPGIY8,12699
122
- maxframe/dataframe/datasource/read_odps_table.py,sha256=9cMQZ3pdJbL54xHJE2o884iTrwv6VDRkjfehdOa6SOI,9594
121
+ maxframe/dataframe/datasource/read_odps_query.py,sha256=KRk2dAw_8XbrkYzB8AynVUP1PXTartRSOwfg2zgm1QY,13898
122
+ maxframe/dataframe/datasource/read_odps_table.py,sha256=fcH-ZkaO-Ln8QyvjZQNWCoUiKXk-hhTzaai-uQpHgE8,9667
123
123
  maxframe/dataframe/datasource/read_parquet.py,sha256=SZPrWoax2mwMBNvRk_3lkS72pZLe-_X_GwQ1JROBMs4,14952
124
124
  maxframe/dataframe/datasource/series.py,sha256=elQVupKETh-hUHI2fTu8TRxBE729Vyrmpjx17XlRV-8,1964
125
125
  maxframe/dataframe/datasource/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
126
- maxframe/dataframe/datasource/tests/test_datasource.py,sha256=91Vml3MmtiASE9KqjU5FIC4XpHj2t3EqcdLoEdtuvNA,16485
126
+ maxframe/dataframe/datasource/tests/test_datasource.py,sha256=D5OMUx2ZOKoFXcb-PWJ0cVx4M2gVhcfeDwMzmoBTYgg,17659
127
127
  maxframe/dataframe/datastore/__init__.py,sha256=MmlHYvFacMReOHDQMXF-z2bCsLyrSHYBVwIlCsZGOK4,810
128
128
  maxframe/dataframe/datastore/core.py,sha256=HCqrZN47RP-IC6zDqLX_RErDUAWkcTB58FHNU70V2b4,762
129
129
  maxframe/dataframe/datastore/to_csv.py,sha256=sns4bBgNpq7Ihb-goNqaBRdiEtrG-V6jqhNkWGZ1YaE,7974
130
130
  maxframe/dataframe/datastore/to_odps.py,sha256=HzIAYRRLJBtsUCHD3vcfXWBE4jAEsCzrGt3Nx34B-d8,6912
131
131
  maxframe/dataframe/datastore/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
132
132
  maxframe/dataframe/datastore/tests/test_to_odps.py,sha256=385SCJK_XkddV9dJrRqSOuaXurpGjWd_QwRSeGTOTNU,1344
133
- maxframe/dataframe/extensions/__init__.py,sha256=sHoXEEzfa6yB5-feY0EmcWWdwKtoDf0be3GVzgiuSUo,1617
133
+ maxframe/dataframe/extensions/__init__.py,sha256=E3W6k_foaFR-1J154fIbNP4lMGL__4PL__KMawlfjak,1929
134
134
  maxframe/dataframe/extensions/accessor.py,sha256=0OA8YPL3rofSvdU0z_1kMLImahrvow_vhxdQDYODki0,1497
135
- maxframe/dataframe/extensions/flatmap.py,sha256=drmtjzftFB_tnbj9aRDkuh2VXFquJTeDbIWqtU4Ymt4,10864
136
- maxframe/dataframe/extensions/reshuffle.py,sha256=yOlJ-3R4v9CoiEKFA1zgCOvbocy00MxpFBbQuTn-uDw,2720
135
+ maxframe/dataframe/extensions/apply_chunk.py,sha256=TIy0S4Jnis819OsHnQQH6gwPtxpxjRgV9u8JAv7Gfjs,23141
136
+ maxframe/dataframe/extensions/flatjson.py,sha256=_tpPzvG4H2-yoL8ms6uI1RdlYOsoaJ0w-9Dciz0isuQ,4499
137
+ maxframe/dataframe/extensions/flatmap.py,sha256=nZDwn31zSswATS5F57-Ix5kUst2-Z2uJ4-cS93Xhas4,10240
138
+ maxframe/dataframe/extensions/reshuffle.py,sha256=3pQEg0xu6d_OA0Rl-9UCHwLEggnqfhQw-pqz3dSIPJs,2718
137
139
  maxframe/dataframe/extensions/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
138
- maxframe/dataframe/extensions/tests/test_extensions.py,sha256=K7CyT17eH8vy2MkZgjKiSRUnr6pyQ7NcsqmSIBLSclM,3110
140
+ maxframe/dataframe/extensions/tests/test_apply_chunk.py,sha256=tl1g12hIax4iMqPgHa6VSBiur9Y0X6-6KkOb-O_TrVk,6037
141
+ maxframe/dataframe/extensions/tests/test_extensions.py,sha256=P7iX7jwru7ZOnLDNCYdWcwR8A5aHytDlCLrmWNrcqVA,4921
139
142
  maxframe/dataframe/fetch/__init__.py,sha256=W1arTCAjD0v_bdVeIzpJMnil3h0Ucsn29zFWmgZcYck,668
140
143
  maxframe/dataframe/fetch/core.py,sha256=27VANjpMm2rdCg1KPZxWZrKWNuNgSMzZrordI05mqWc,3424
141
- maxframe/dataframe/groupby/__init__.py,sha256=wMjmvk4ced1uCm7bw0oodIKvaep61KhupriL9JRRq5w,3443
142
- maxframe/dataframe/groupby/aggregation.py,sha256=cUnu-Bj6YD1TVkaafwL2aGIIqixLEq7s9-7BQ_1T2DI,12303
143
- maxframe/dataframe/groupby/apply.py,sha256=DQHyEfqj-3tfK-CxwpdVgya0_YC9dImeWYPZJDw7ckk,9735
144
- maxframe/dataframe/groupby/core.py,sha256=NG6e3sqIu5dnBw9_DCQEDtsnxM5e4Yl1oD7Z_qjdtWA,6254
144
+ maxframe/dataframe/groupby/__init__.py,sha256=SZ7cZmmb4UrkQFFlWFRVEhQQ6wuyOv6Yz2LMHTp6FM8,3527
145
+ maxframe/dataframe/groupby/aggregation.py,sha256=E83_VqKLdlGB9IY7SXCAh-KL9AYV9mX54g2yymPknqM,12340
146
+ maxframe/dataframe/groupby/apply.py,sha256=QtS95LW1Q1i0QINjHGTj1dxyDEmSRB-_Eet8bqOsBkU,9886
147
+ maxframe/dataframe/groupby/core.py,sha256=3I2_Sg336hdrBmJLJdagmQKT4rIn3wjahbPTqld5p7o,6255
145
148
  maxframe/dataframe/groupby/cum.py,sha256=T5fVdcy8XzLjrTE7NNqkwVgydg_aKM8xhlcWCsjsHwM,3806
146
- maxframe/dataframe/groupby/fill.py,sha256=AXRmA_j-m7ig0udLCJ02FwIce2GLQ2U8KlnuCe-NY3U,4862
147
- maxframe/dataframe/groupby/getitem.py,sha256=owNzoE8UEfM41dfuntKkRBjjYYbY8O8CMJchIhCEyds,3344
149
+ maxframe/dataframe/groupby/fill.py,sha256=twmIAWZx5xGmXVfikaASTqwreGjevbLxake1wUkRdls,4952
150
+ maxframe/dataframe/groupby/getitem.py,sha256=vPorFrW2C7c1rJNSMmwmODd5B67IN0o5wOTW5e2GRrs,3513
148
151
  maxframe/dataframe/groupby/head.py,sha256=idlO3MCVKgHYmLsBrPMsUpxt3Zbha07r_ZJXJZy5P3k,3371
149
152
  maxframe/dataframe/groupby/sample.py,sha256=bM7xrF4dzAM8lA0gtkglEfmys1og27dwCm9UiFayJTU,7149
150
- maxframe/dataframe/groupby/transform.py,sha256=1Gn4uOydtRMwFo-CUXrSTyOwlbuJyeWNIzcf6VAIN2w,8841
153
+ maxframe/dataframe/groupby/transform.py,sha256=DL7S0NBYj8LgKAstoDKacVMdLmZhFFGWtCZv5W0Vbi8,9085
151
154
  maxframe/dataframe/groupby/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
152
- maxframe/dataframe/groupby/tests/test_groupby.py,sha256=oidpLtSA3fhZldVRQ5-3PnfXKnyclqR-ApiNgzh-yzk,12740
155
+ maxframe/dataframe/groupby/tests/test_groupby.py,sha256=y-UowOVTtZWx_iusKDiIWNzuMM-SFTOCbOyvujytWys,12754
153
156
  maxframe/dataframe/indexing/__init__.py,sha256=AkjowbPJu6kM4fJF5baU6g6FA7n2ux5__f4_2budLSs,3297
154
157
  maxframe/dataframe/indexing/add_prefix_suffix.py,sha256=YMHFXnVcFsRJfVIOHlTWkOGCqzxWAJam3SXmIRjKGKk,3076
155
158
  maxframe/dataframe/indexing/align.py,sha256=-kV91o_-pq7rFsv0zgnGZuEyn8HqyUK_Ejv4VWF5fps,12434
@@ -158,7 +161,7 @@ maxframe/dataframe/indexing/getitem.py,sha256=eS8dnlMEP2zaYvzYZFlBNfwjD89UqT0MRI
158
161
  maxframe/dataframe/indexing/iat.py,sha256=gc9V2Ps8fvBFIgJbYTY3ZJmH54rv-dunZzJsY3Lns1s,1164
159
162
  maxframe/dataframe/indexing/iloc.py,sha256=O4lCMV2Q0GtSM3_FbKY6rl_1WUGcae-H2wHvCVUGUG8,17987
160
163
  maxframe/dataframe/indexing/insert.py,sha256=bvKdAswI688hOIaL9EvU7LnbjpELUdv5QS7rogSn_5U,2997
161
- maxframe/dataframe/indexing/loc.py,sha256=senwgO_ijLJtbzaeqS_CMefV8nlf3guEQXKdSQcwYy0,15256
164
+ maxframe/dataframe/indexing/loc.py,sha256=cCl5SfGEOdl_im6F50w1JS4aPqqz-SQwlqvdy_Wez78,15388
162
165
  maxframe/dataframe/indexing/reindex.py,sha256=v4Rd85aNfh3onzcFqOhdUjiLrDv9QuNtGh-OaWpnG-4,19699
163
166
  maxframe/dataframe/indexing/rename.py,sha256=eXPW-a16JWhSUheN_KE3kqV3W4CMBqEoVHCyJauHaa4,13331
164
167
  maxframe/dataframe/indexing/rename_axis.py,sha256=ugKcve4Kp8EuSmokQFUL-mVhGQ1cd6IDZ3UauHPiFeQ,6511
@@ -170,16 +173,16 @@ maxframe/dataframe/indexing/setitem.py,sha256=N82AVPJ6iENXNJx7m662jPp2HH-Sb5QZvu
170
173
  maxframe/dataframe/indexing/where.py,sha256=puKc4XR45KmJxCar8AwWbjJouEqYxW5-SdAWLuwCZ44,8875
171
174
  maxframe/dataframe/indexing/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
172
175
  maxframe/dataframe/indexing/tests/test_indexing.py,sha256=F0tHjhVTZyGrE2khpxGIAvFagLCqy_3mf8psIrRwAYc,16099
173
- maxframe/dataframe/merge/__init__.py,sha256=QpaBvmmhCpnHqvJ35nX4FZ-MpPxkTrQod4UxnJWt_II,1069
176
+ maxframe/dataframe/merge/__init__.py,sha256=PpWljZpJd6NxW8dOBcyp2taaWyTfdW426y3UNg_B0Fo,1161
174
177
  maxframe/dataframe/merge/append.py,sha256=9CgzHZEdnJjDwzuzdTMhodJAeOJJuUVjYT4RMFOW4nI,4973
175
- maxframe/dataframe/merge/concat.py,sha256=cIlwVguZTWFx6GX5fTZ3YctKNkn9wP72TpbxKR-F6ng,11807
176
- maxframe/dataframe/merge/merge.py,sha256=_HZTybk_XKaSiBG_WLVYyQf1Z9FZVSpAyDK53h1giOI,31250
178
+ maxframe/dataframe/merge/concat.py,sha256=btiTTO-9j1cieS5dDwaccaY4MlfR0GMVzaBj78Xjqpo,12127
179
+ maxframe/dataframe/merge/merge.py,sha256=Vz0lgj9qRdqNyNrw-pPBEXgyobzWx4zvjQZmzOqgdcE,31268
177
180
  maxframe/dataframe/merge/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
178
- maxframe/dataframe/merge/tests/test_merge.py,sha256=qRreRSpPIq3Yp1ARKhYgrNmwAIcWfF014imrlL3qJqk,11488
181
+ maxframe/dataframe/merge/tests/test_merge.py,sha256=e2H0c6LGGExZRJUNSWnvb0fapoUIW-pRoeVjqrL8dcQ,11599
179
182
  maxframe/dataframe/misc/__init__.py,sha256=Lq82VMR4qWhYD1lYTbj8Wr7ndOh0CNATdOtlOikuZRQ,5401
180
183
  maxframe/dataframe/misc/_duplicate.py,sha256=EYNv1_sKm14d91Gm4_Buxo7b5Tuy93MOvaq1TTAUkis,1516
181
184
  maxframe/dataframe/misc/accessor.py,sha256=XtbMV6QrYb2m9oAd8swkFoKAq5mxj_QO0LVLVw5uJB4,10303
182
- maxframe/dataframe/misc/apply.py,sha256=BIaBSjx-KxkdubPc_N_C_F5uuaV4aIdRdiPsZhN-7Qg,24057
185
+ maxframe/dataframe/misc/apply.py,sha256=HAoIgCDn2RlDSj7WWN4SEjhVDfQ6mO_oJGktrwZSpxg,24182
183
186
  maxframe/dataframe/misc/astype.py,sha256=9CO4BEW98Flqk7HHWScjxRK8EdeTRgQDYcyRwEnyIB0,8033
184
187
  maxframe/dataframe/misc/case_when.py,sha256=ApjsHykW53a61Rfe034S0wT1X6lzWk5zYJ7vIsaiQIc,5002
185
188
  maxframe/dataframe/misc/check_monotonic.py,sha256=LDltdmPq90fZn8A0ucqpNy0uswKo2hJx59Y4EHSN9l4,2506
@@ -188,13 +191,13 @@ maxframe/dataframe/misc/datetimes.py,sha256=zR99O-8EKKWt4UtNdPI22K8N9mP9XSs9lDQL
188
191
  maxframe/dataframe/misc/describe.py,sha256=PaddhvhKVZDkG6WuWGWi3LL7Vg8uny_3WzlVbdKZseQ,4478
189
192
  maxframe/dataframe/misc/diff.py,sha256=j6C0PNb4eufB7ZU-mAXNNIC8y1wzHd6MHS-IWTz606E,5701
190
193
  maxframe/dataframe/misc/drop.py,sha256=UDP1EWpHPa0tkpjvNPIcstAiWoMainCMcvV7wefH7RA,13469
191
- maxframe/dataframe/misc/drop_duplicates.py,sha256=z_2TXufnZ1MYyetGckKRthRsmYuTCqVYu6QhA_j_Sro,8619
194
+ maxframe/dataframe/misc/drop_duplicates.py,sha256=Y6D7_xqOCMq9r5BGJIaVVAeXlhbniO6GqGTq_3LTYdM,8716
192
195
  maxframe/dataframe/misc/duplicated.py,sha256=w5aXwtDn5_ZbvnB0oCOoTE7EJQ6cdSnhTjL8SMci0Tw,8826
193
196
  maxframe/dataframe/misc/eval.py,sha256=3UuqaMW0Pe6CRh82XtKiNNuWeJOyz_hzhzRZ2zqpBLQ,25091
194
197
  maxframe/dataframe/misc/explode.py,sha256=aWQObjpxgPCCm87Lc1cavqotETz6xVLm8HSsPhM3n5k,5182
195
198
  maxframe/dataframe/misc/get_dummies.py,sha256=fkoGya2HUVMlJviEfCy1toedfa_gOro_E0xrl-azGDg,7295
196
199
  maxframe/dataframe/misc/isin.py,sha256=mqce_GgIkT390glXJ4jq4JEcRYhpbJNkN6tqP-8x078,7148
197
- maxframe/dataframe/misc/map.py,sha256=NSsQvOFrRvULVHPOfJk3B_tIh2IRU4IE0oOF2qkL4mE,8385
200
+ maxframe/dataframe/misc/map.py,sha256=v1kfqFgAb9bzKeim00MRGsm11awgUT97oDerbFbJGc4,8503
198
201
  maxframe/dataframe/misc/melt.py,sha256=LoqZ45-J8WvXixtFEbEF1UCtZy4-E6loFtVdFghgt0A,5282
199
202
  maxframe/dataframe/misc/memory_usage.py,sha256=3d6g2lAW7R4BV_vpUpn2-BFs9cwbEW03UH-6AEhmue0,8137
200
203
  maxframe/dataframe/misc/pct_change.py,sha256=-T22ebhiTy7psZS9xE1087xKDuznasaNwoGXs5yYZPc,2584
@@ -205,11 +208,11 @@ maxframe/dataframe/misc/shift.py,sha256=HCGKBuToksgu5LZR_k5eaQrdyrXCeqRZYbZs0J5-
205
208
  maxframe/dataframe/misc/stack.py,sha256=a3eWRUnFQ4okGUEirsdIq9taLfcRTCKnLfcXHg-sce8,8200
206
209
  maxframe/dataframe/misc/string_.py,sha256=AaEfHcPAJWZ8Ug-zbD0gjaBfuFXWfHDXbrHQ1Kaqes4,8322
207
210
  maxframe/dataframe/misc/to_numeric.py,sha256=VxYijzFTiUD9Jc62fE24tZ3iB8EVb9cBqZwvQFt2bHA,6440
208
- maxframe/dataframe/misc/transform.py,sha256=NabM88Ix5fFaH_waStAdjylj3BGT_Uel0c0pH1t8o90,11252
211
+ maxframe/dataframe/misc/transform.py,sha256=8ZWuyPc2zVR47vmlux8ULeqMlJM6S9sMmAM4K9cEQX8,11549
209
212
  maxframe/dataframe/misc/transpose.py,sha256=SsKRuN9Pj36D6kntnsLfzBsFHjSCiV1cZuPJuKHgbGU,3772
210
213
  maxframe/dataframe/misc/value_counts.py,sha256=EpgfnbPbndrTKgTE_xgZGW-uHZDw1MIWQUF40oGGWUI,5384
211
214
  maxframe/dataframe/misc/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
212
- maxframe/dataframe/misc/tests/test_misc.py,sha256=7P3-dJwsMVhD6ft5HNXorUp-SnO8o9eTTAoFGXzhiNg,16121
215
+ maxframe/dataframe/misc/tests/test_misc.py,sha256=FoQc5iaMQZfytgGlE0pV0O5pmI424ugY7bYKVvCqDVo,16979
213
216
  maxframe/dataframe/missing/__init__.py,sha256=DQDpYqjvXN6o6TF76wJIpf1fZICOEJskljzwDNjN80k,1866
214
217
  maxframe/dataframe/missing/checkna.py,sha256=_Rd-HRX7lTzMV3myu745tzoTB8WIqDIJu2TcT1SfdB0,7113
215
218
  maxframe/dataframe/missing/dropna.py,sha256=at89SeMZxHZdmSFOInwtz7ap4g9Vy_4W4OK_Bj6DWpc,8520
@@ -221,8 +224,8 @@ maxframe/dataframe/plotting/__init__.py,sha256=FlSQds0Rdv7CXo_PJFWErMO5KccKrxdLJ
221
224
  maxframe/dataframe/plotting/core.py,sha256=fgMSAJldKXGjRzj_qfN9QK1kaThqnv8wybJHSu8Y4qg,2311
222
225
  maxframe/dataframe/plotting/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
223
226
  maxframe/dataframe/plotting/tests/test_plotting.py,sha256=AZ4-C_ASyt3mD29ytsYa0Ut6gA2028ugCKfP9aLK448,4254
224
- maxframe/dataframe/reduction/__init__.py,sha256=ejIK5G6ylU0q37XVs_2DkmsnHTtYbE44ffhExNl5Usk,4297
225
- maxframe/dataframe/reduction/aggregation.py,sha256=-v_jzKAiLGHOmv3MTDgqovfEYLgeJobU3CqaMWKqkRo,12948
227
+ maxframe/dataframe/reduction/__init__.py,sha256=lJjZ9-YUgk57jEJXLY4-qk9-RWUbDXydBFMD75rJQTY,4445
228
+ maxframe/dataframe/reduction/aggregation.py,sha256=lml0t38fQs6Eh8zhhz_UGJf-WCl9_P-JgeeBF3Ujb1g,13011
226
229
  maxframe/dataframe/reduction/all.py,sha256=enpOWffBNXAEgFSaiZm0KPwU3izMvWd7M8smLwZjaeE,2044
227
230
  maxframe/dataframe/reduction/any.py,sha256=PensVOfgCcxu7u7-1OuMcD6gov2c2kN01B57O3eoHw8,2048
228
231
  maxframe/dataframe/reduction/core.py,sha256=Ys8mP0-p0zRzND8LtsZLeyBkTDeteJFoSqJCbS330BQ,31232
@@ -235,6 +238,7 @@ maxframe/dataframe/reduction/custom_reduction.py,sha256=poT0UAoySRNKDOxMBZjwIIp5
235
238
  maxframe/dataframe/reduction/kurtosis.py,sha256=50aClQAc6LJeSVF9P79T7clRhW1UdsqFU4M6e6x2mnc,2944
236
239
  maxframe/dataframe/reduction/max.py,sha256=5psQPVpG8svyQ5Up7DJd5-yVPN11z4esa96ZWUTImYM,1725
237
240
  maxframe/dataframe/reduction/mean.py,sha256=AzbTXfFInxaS7SIgthHcSgB-23uzM98NgLQm7NMVsg0,1673
241
+ maxframe/dataframe/reduction/median.py,sha256=LhXp75W-qv3YJ-soflC4XePwR6hUa_fSTZJaF6G1Aj8,1649
238
242
  maxframe/dataframe/reduction/min.py,sha256=-F_ud2r3dVUUHVb0tv-haqkbeOW9ZVocC3CpRHfpuZo,1725
239
243
  maxframe/dataframe/reduction/nunique.py,sha256=zbPh31s9BrSrMZetbzjpqsBDrhHQRfjUZCFmeUUKDCA,3608
240
244
  maxframe/dataframe/reduction/prod.py,sha256=vtQKxInxcvli9bAktbWSQ5WPMqxxh2DZw4mG7quwXck,2125
@@ -247,7 +251,7 @@ maxframe/dataframe/reduction/sum.py,sha256=IYWEg-lKO6yYHEkUkMOJehCPcXrcvhaJ36ScI
247
251
  maxframe/dataframe/reduction/unique.py,sha256=sQts0dpyES_AmWk7CPJeDW7RnGXQ88HpS-gBpRL7Uzw,3045
248
252
  maxframe/dataframe/reduction/var.py,sha256=WMBKa3r4fc4CmzjpG7w4JEZDUueMIwt9INa5AuoIyAI,2080
249
253
  maxframe/dataframe/reduction/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
250
- maxframe/dataframe/reduction/tests/test_reduction.py,sha256=yXQNP838jNuDjev3JuLjV-l75Px4WR9qVoMAIbnPd1Q,17713
254
+ maxframe/dataframe/reduction/tests/test_reduction.py,sha256=DG0LfdtEhKtJCs1Q9ROrTp-jy-wBQT9BPNlP9E09ONU,18119
251
255
  maxframe/dataframe/sort/__init__.py,sha256=57j5S4NVcmcgI5pKlEWEio3qbtxdUCFA3B9sP1QJafU,1194
252
256
  maxframe/dataframe/sort/core.py,sha256=FxwuboZE5yuAtCCj7EWntuk_ueaMdM25JZKrArHY_yQ,1260
253
257
  maxframe/dataframe/sort/sort_index.py,sha256=R7PiCuI7kmoWX4EsmyJyqciettWi4CJl6_RMKZdxrmI,5565
@@ -256,11 +260,12 @@ maxframe/dataframe/sort/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3Ve
256
260
  maxframe/dataframe/sort/tests/test_sort.py,sha256=2KwQP4eyAL7rflYrbei9ocU5oum3NjiGurWirR2GzHg,2685
257
261
  maxframe/dataframe/statistics/__init__.py,sha256=gC4z9SHj8mG1EECYiMNeGPNF3aie1AOw8UATmiLG-bo,1117
258
262
  maxframe/dataframe/statistics/corr.py,sha256=ufSCKpITCR8HnKc7osxnxDwg8hvptrcKOjIeKsF4eB4,9763
259
- maxframe/dataframe/statistics/quantile.py,sha256=v_Ff05C8eE9Suq3k_G_KWMHcfGvduS0Oap0PyOfknUY,11632
263
+ maxframe/dataframe/statistics/quantile.py,sha256=8tX0kGx5ql1PRQp4KNdoIro9O67EQ3lgTS-fzOww-g8,11855
260
264
  maxframe/dataframe/statistics/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
261
- maxframe/dataframe/statistics/tests/test_statistics.py,sha256=tvk_kTcOuzRLFspidSPVoZrBVtVsbHhGb16LU-Vr3lU,2812
265
+ maxframe/dataframe/statistics/tests/test_statistics.py,sha256=rgPAFBWnE8d1CLVXR2odkEdUpTlabZQO433eVRr48RM,2888
262
266
  maxframe/dataframe/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
263
267
  maxframe/dataframe/tests/test_initializer.py,sha256=qvlKFDcS9jvuT-l2_v64VcAGWTYoPIpP72HQo8bMf3E,2060
268
+ maxframe/dataframe/tests/test_utils.py,sha256=WGHrVuRxxCAZz-SS5ifVky7zDO8oEzx8IOrISa3YAFg,1878
264
269
  maxframe/dataframe/tseries/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
265
270
  maxframe/dataframe/tseries/to_datetime.py,sha256=PAtSgFLpes87BwC9zdyj-caJEIeqMFREwyTMWZ9pJEI,11625
266
271
  maxframe/dataframe/tseries/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
@@ -272,36 +277,42 @@ maxframe/dataframe/window/__init__.py,sha256=bQsgFdk801ezvU3Z4i-V-JGIOX-JzwsQk2J
272
277
  maxframe/dataframe/window/aggregation.py,sha256=gTkI4ysG3Qd-pHiTI-aUWnsaGMZuk_gUhD8pZ-tZYko,3890
273
278
  maxframe/dataframe/window/core.py,sha256=NKWQIao5dOI_3jL2Rzkgo_wdi36VCBIMWG4eRe1237M,2274
274
279
  maxframe/dataframe/window/ewm.py,sha256=csPVRhHOTk2VP_I7WOuQMG6vlZtPXSij6A3Pe7H-who,8038
275
- maxframe/dataframe/window/expanding.py,sha256=Y0RLJdV4lnVGDD2VdOVCuYoXVr5PO-WqaMx3AAiNKWc,3941
280
+ maxframe/dataframe/window/expanding.py,sha256=aYcylGOQHo67CnavmA_s9I4ZCw8gM7MOso0AW-jKfn4,4067
276
281
  maxframe/dataframe/window/rolling.py,sha256=czrpdXbenldL-9tYc8ndRBf7KlzIIfP4jwmM5V-fwO8,12418
277
282
  maxframe/dataframe/window/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
278
283
  maxframe/dataframe/window/tests/test_ewm.py,sha256=v1hM2ucFH_8aRn8AJqWEpvvVtSK9QQUCs911N0trbX8,2130
279
- maxframe/dataframe/window/tests/test_expanding.py,sha256=PsFYI6YXxNHYlsyaesy9yIAUSixp4IOrChmQtRGBpKc,2010
284
+ maxframe/dataframe/window/tests/test_expanding.py,sha256=LMZjcLQug84Nai47WWl7jF-tTHcM5uYfNomQOHvU-nI,1982
280
285
  maxframe/dataframe/window/tests/test_rolling.py,sha256=eJYHh4MhKm_e9h4bCnK_d_aAYlKGQtFAbZTTEILe6gU,1771
281
286
  maxframe/io/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
282
287
  maxframe/io/objects/__init__.py,sha256=QswbXcyRmPgMPdYyRFcm4maLAMDbOK0i-OUdHyyAn4Y,778
283
288
  maxframe/io/objects/core.py,sha256=rhEYmS8Ty_cqJfjvTiPU-KaUVnr9DwPSIZEaPMZDH2U,4717
284
289
  maxframe/io/objects/tensor.py,sha256=NQaYIItNYaeM0EcJ6TFejNWSSpXKSJjb6eI_ZKzXf6w,2749
285
290
  maxframe/io/objects/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
286
- maxframe/io/objects/tests/test_object_io.py,sha256=ElYAUf7jJtUMciZzzuEjPajSNEeqkMuWReHDDklo5Es,3189
287
- maxframe/io/odpsio/__init__.py,sha256=xJbh1eHNI0D3xJG22VM3AHwwiwMIPldtGEJjildPsxc,925
288
- maxframe/io/odpsio/arrow.py,sha256=yBdrld-Bh1eyLY_vcj6E0oA2WS9jiKlL93PNJASN7kk,4021
289
- maxframe/io/odpsio/schema.py,sha256=SXZe8vc-YIJ92hIuYyCgyvqyZyiBN-58xFeCfKfcq0s,12768
290
- maxframe/io/odpsio/tableio.py,sha256=OkYlZ13CTM8nrsIO9seR9oINWMNr4f-Wr9PlQ0qfPnk,25161
291
- maxframe/io/odpsio/volumeio.py,sha256=yiZytTg3adJuYGwnwmAfMDshtomGd4cxqsyzCc40FhU,2230
291
+ maxframe/io/objects/tests/test_object_io.py,sha256=9SSR8XCDoFIuAj6kafRQ9fKW68pvg8pT2gmqFY8BIfk,3899
292
+ maxframe/io/odpsio/__init__.py,sha256=7n5ZtsGR4f7B8yA7YPQodd1g6ecvjg5P4baomogUgsA,940
293
+ maxframe/io/odpsio/arrow.py,sha256=PRZb1hMDcN1yRT8WmZNFI-YCwkj3kxyNryTwLgNsUyE,6073
294
+ maxframe/io/odpsio/schema.py,sha256=HRlz_RqiN86pW6kV2jh-fcrrwRPLfkZtWmUHTTVLVrs,13367
295
+ maxframe/io/odpsio/tableio.py,sha256=vDRJW5rELwSC2aB3L4LbCNMFtBE27ZG7SxpK97m6V5U,23116
296
+ maxframe/io/odpsio/volumeio.py,sha256=L-lp6vVGSASmpnsVtA1IC-j5iEOLXEUzXnr82bByveE,3035
292
297
  maxframe/io/odpsio/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
293
298
  maxframe/io/odpsio/tests/test_arrow.py,sha256=yeDWFzsm2IMS-k6jimlQ7uim5T6WW1Anuy8didaf4cs,3194
294
- maxframe/io/odpsio/tests/test_schema.py,sha256=7zJv8ndaAaCgyHzRzHW-JhzsVSQpxP1vQ-5mRTwNyEY,12109
295
- maxframe/io/odpsio/tests/test_tableio.py,sha256=XPgbCJj_hxscynqYO4L3_g67LckYLJznqzcJyRLCm_M,5769
296
- maxframe/io/odpsio/tests/test_volumeio.py,sha256=gZga0IWoEkpu6DL3qpemPzo_zHxou-F-nj0g2zeUGa4,2956
299
+ maxframe/io/odpsio/tests/test_schema.py,sha256=1eXjkUvzpNBcyaPhBbbTiIH-3LVi_ghYoVR25Fk8xqM,13622
300
+ maxframe/io/odpsio/tests/test_tableio.py,sha256=UYgK1uLLvtMLL1MquwMRnk02k5QlHyG3m0vACZ4msl8,5909
301
+ maxframe/io/odpsio/tests/test_volumeio.py,sha256=pqi3TFBW_bb66cp2aAcpgj8I2Iq7c6V-vQP1zxHzHiY,3684
297
302
  maxframe/learn/__init__.py,sha256=1QzrFCJmdZFy0Nh1Ng3V6yY_NVvoSUdTIqcU-HIa1wk,649
298
303
  maxframe/learn/core.py,sha256=jQVOXTFond0ia9IdvObCV5MBpIgjPuxFSzyeg5AB11A,782
299
- maxframe/learn/contrib/__init__.py,sha256=sSf3fsDgTSUi7tNvxxuhkk-fTga1Bt3jrpIS36kzMIQ,667
304
+ maxframe/learn/contrib/__init__.py,sha256=OJjHCf0jCVDVIEZaI4m-dW-0EvGky1XOsUWDM-9iegs,681
300
305
  maxframe/learn/contrib/utils.py,sha256=e4E-QLr7SAhCBTUX246SBpi9DtRNQAE-xOUxvNnFzZY,1714
301
306
  maxframe/learn/contrib/graph/__init__.py,sha256=Hy6k8OzCgLRiLPgSElIj4O4r_mttA9AvhpmXPofmvFo,667
302
307
  maxframe/learn/contrib/graph/connected_components.py,sha256=KJXeRsxWBP4piViSOhST3M4OO81jCf73acMRg9NA1no,7367
303
308
  maxframe/learn/contrib/graph/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
304
309
  maxframe/learn/contrib/graph/tests/test_connected_components.py,sha256=HLBJ6m7V8KHkOjsUhjePdUbnvykVGpgdiegvGpyLBpM,1662
310
+ maxframe/learn/contrib/llm/__init__.py,sha256=Qzg4KdiX4_J6TeK5sqFVflsft3MrVGgtfwhpU0ZQDv8,664
311
+ maxframe/learn/contrib/llm/core.py,sha256=Rxc4MOLs2RCjae4PurcPcKc3D5xH5ZOF6SE7YCNAIIw,2060
312
+ maxframe/learn/contrib/llm/multi_modal.py,sha256=PfOqxUP203yGS30ihvFi32LnOmlknOglmxW91PLKkjg,1488
313
+ maxframe/learn/contrib/llm/text.py,sha256=zepjRsbN2wC4l8MnXAqcXrqSTGGtHDbGvG8wPlBtfLQ,1464
314
+ maxframe/learn/contrib/llm/models/__init__.py,sha256=7D9JZSIHuOW99WjOg1M10JGLqj6pCNR1_uoBUlzDqE8,674
315
+ maxframe/learn/contrib/llm/models/dashscope.py,sha256=uIurDki5v8t6GBPeHluUtHPhOhrmckQD8A11ogTDRBg,2371
305
316
  maxframe/learn/contrib/pytorch/__init__.py,sha256=a60NZy-COXEFgyC0uXJRBZGi-Vd9HZcqX62bKAMPKaM,703
306
317
  maxframe/learn/contrib/pytorch/run_function.py,sha256=aQQhy2Bc6EEe-NVZb17hK4I9_TqIM1uI3fIMihY3TSQ,3354
307
318
  maxframe/learn/contrib/pytorch/run_script.py,sha256=FOBXdJ9Q5QOirGGXq8_XwpwrTpDEmWt45-9n4VR_ixI,3213
@@ -321,7 +332,7 @@ maxframe/learn/utils/core.py,sha256=WNDISxPFsWmjkwHwEvjVGCkAOkIftqzEQFPA_KWr7FY,
321
332
  maxframe/lib/__init__.py,sha256=_PB28W40qku6YiT8fJYqdmEdRMQfelOwGeksCOZJfCc,657
322
333
  maxframe/lib/compression.py,sha256=QQpNK79iUC9zck74I0HKMhapSRnLBXtTRyS91taEVIc,1497
323
334
  maxframe/lib/functools_compat.py,sha256=2LTrkSw5i-z5E9XCtZzfg9-0vPrYxicKvDjnnNrAL1Q,2697
324
- maxframe/lib/mmh3.cp37-win32.pyd,sha256=2mvG0O1DLc-tdJ7sUpnklFxvG5kwnzIIrEbDslIHPN4,15360
335
+ maxframe/lib/mmh3.cp37-win32.pyd,sha256=uFOM_ra3VanPcr8cH0mnyzSXYPC9x1Ef8-9l0DiRJ90,15360
325
336
  maxframe/lib/mmh3.pyi,sha256=pkzO6SUUukCty3X-WFsuokWBtIPWyxEa06ypF9liruI,1537
326
337
  maxframe/lib/version.py,sha256=VOVZu3KHS53YUsb_vQsT7AyHwcCWAgc-3bBqV5ANcbQ,18941
327
338
  maxframe/lib/wrapped_pickle.py,sha256=Akx-qhMMJJ6VVzQYrcVO_umFjx0IR-Yzb1XqyOS1Mio,3976
@@ -362,7 +373,7 @@ maxframe/lib/sparse/core.py,sha256=HZqTRHykQQyBvzNPg8B70S9YZPF1oCyB6ZhqZgv7Gro,2
362
373
  maxframe/lib/sparse/matrix.py,sha256=PRCE6kb-CsAry6iPU_yq4MiydjERejRjvdcms2YkfeY,7395
363
374
  maxframe/lib/sparse/vector.py,sha256=mcjcQbMDtBXKj2J0_dh1BjeTWGUZNtPr0PQiDgv67Jw,4959
364
375
  maxframe/lib/sparse/tests/__init__.py,sha256=_PB28W40qku6YiT8fJYqdmEdRMQfelOwGeksCOZJfCc,657
365
- maxframe/lib/sparse/tests/test_sparse.py,sha256=nkFvEhD8tzK7DD9qSnLRIWF3EVz4TsSMfFZZZvWN79E,15665
376
+ maxframe/lib/sparse/tests/test_sparse.py,sha256=De1A9gkk4pY4_cYDLXQdlGpDXTKe8B5Ij-qKFKcMSvo,15785
366
377
  maxframe/lib/tblib/LICENSE,sha256=UV8te2W7BnvQ7rMYp9I2IjrJ7C79BfoIV82EXAK2ACU,1350
367
378
  maxframe/lib/tblib/__init__.py,sha256=6QQyWUaDhJwfGikR0g8ij-seILLevfOjBBedxmfwaD4,10205
368
379
  maxframe/lib/tblib/cpython.py,sha256=KY4eqJ5Oohbq2xHfWitd7p80S8SkMhiB0OWFRpulJQA,2501
@@ -375,25 +386,25 @@ maxframe/remote/core.py,sha256=ELCUvg-_ZdTax_exFqm6-XWUXukT5qalKYBeDB-mV0k,6733
375
386
  maxframe/remote/run_script.py,sha256=k93-vaFLUanWoBRai4-78DX_SLeZ8_rbbxcCtOIXZO8,3677
376
387
  maxframe/serialization/__init__.py,sha256=UmDfKNohvk3StL-87QYmQTcQ2g6dRHSk49VFQS73VB0,963
377
388
  maxframe/serialization/arrow.py,sha256=OMeDjLcPgagqzokG7g3Vhwm6Xw1j-Kph1V2QsIwi6dw,3513
378
- maxframe/serialization/core.cp37-win32.pyd,sha256=I0uEVU9aZif0R-XoIeI4VX5GgVkYDRCYl4GtJTBqbzo,366080
389
+ maxframe/serialization/core.cp37-win32.pyd,sha256=-yHbbPtBvACXGRbvRSTwY2swVIF4oGDWsw22Z-R8plg,373248
379
390
  maxframe/serialization/core.pxd,sha256=KioRiFhr5DTuqXnS2imJ3djWfSv2IAmhnz-kAFPgU6A,1548
380
391
  maxframe/serialization/core.pyi,sha256=ELDG44v8O7A7RfURExMfVEJENuaEYHTwgJ-vzlH2Vh4,2206
381
- maxframe/serialization/core.pyx,sha256=4iyUotIVV8CkVhHo3RyotDP1E7M2C1KMb0_40Ex_h1c,36321
392
+ maxframe/serialization/core.pyx,sha256=TKEAyaJJAUV20vR_uI93jA6B8mhTt7uoOtMdw0vL5q4,36686
382
393
  maxframe/serialization/exception.py,sha256=noFTo9iwQje8Q0XnJV21J6bkbYahyoFLQSdl-OXNRIs,3079
383
394
  maxframe/serialization/maxframe_objects.py,sha256=ZHyvxIALoPuB_y3CRc70hZXyfdj4IhaKMXUEYLXHQag,1404
384
395
  maxframe/serialization/numpy.py,sha256=ENrFKl24mtYyO1vZRLwHvMD0r4z_UI7J2-yNlmfWSdk,3304
385
- maxframe/serialization/pandas.py,sha256=wqRcZhUd5tMi__7kmvhW1_-DdhBLnW00kz0hDrUvmEY,7522
396
+ maxframe/serialization/pandas.py,sha256=PMp999KR9xnTFSgRTgepbsD7nGfObNwaYeK4UGJ_T4U,8725
386
397
  maxframe/serialization/scipy.py,sha256=fGwQ5ZreymrMT8g7TneATfFdKFF7YPNZQqgWgMa3J8M,2498
387
398
  maxframe/serialization/serializables/__init__.py,sha256=rlQhIaSAVzz4KYkc5shEHFZDPd6WDMPkxalU76yjJ3M,1406
388
- maxframe/serialization/serializables/core.py,sha256=PY3Uvq6aHl0V5a9ZVNoN8rxoKGNYuVATvKUj1VMq9rE,16010
399
+ maxframe/serialization/serializables/core.py,sha256=1YjMfOi3kOCcOaiax1v8ScfXn7gwol70JwXcouaMj5w,17972
389
400
  maxframe/serialization/serializables/field.py,sha256=DVott3HAbne4UvN-heSFS9gSl0wCxV5RssS738FCjzk,16639
390
- maxframe/serialization/serializables/field_type.py,sha256=hkxrXT2SL_tATuobtJDfL4DzzVP2hJjDlC3PrJg6ZKo,15454
401
+ maxframe/serialization/serializables/field_type.py,sha256=NtzY4Zi87futV3Er3tD1qK8UpI7MXOC09h2Uipq9RRA,15525
391
402
  maxframe/serialization/serializables/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
392
403
  maxframe/serialization/serializables/tests/test_field_type.py,sha256=uG87-bdG8xGmjrubEHCww1ZKmRupSvnNKnZoV2SnwYM,4502
393
- maxframe/serialization/serializables/tests/test_serializable.py,sha256=w5r-WC-8Zi1xAO1AfxdkjGcbGHZ8G5B-z_-d47Fje-A,10159
404
+ maxframe/serialization/serializables/tests/test_serializable.py,sha256=CfzLa635DR-9xMdNaGhWohzoICFs3pyKCljPYDQEkr4,10568
394
405
  maxframe/serialization/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
395
- maxframe/serialization/tests/test_serial.py,sha256=9G2CbPBHINwcZ038pRwZON_OtH-JVXZ8w66BLYWP578,12923
396
- maxframe/tensor/__init__.py,sha256=7tlj6f0V97wwMr1x1LeVev3B0fAylsnyRwShSEN2Yvs,4642
406
+ maxframe/serialization/tests/test_serial.py,sha256=D1cCXylizxdQm6tBwVSVDs7v8ZZJokv7jHN_-nrqf7U,12956
407
+ maxframe/tensor/__init__.py,sha256=3XN24f4B0eBroWt7XW33_vJCXlbcJj83zgnmAJpz1dQ,4910
397
408
  maxframe/tensor/array_utils.py,sha256=xr_Ng-4dETJFjsMfWi5gbTPM9mRmPvRWj8QY2WKjmCg,5129
398
409
  maxframe/tensor/core.py,sha256=YE1if5ofQft725nhsfRFCF_S1xxjf7xk_ETfznGZzP0,18538
399
410
  maxframe/tensor/operators.py,sha256=bmnL2EIIC28tlTB5SwQc5sunIkhPz8KBvSQHxbACqZg,3455
@@ -533,7 +544,7 @@ maxframe/tensor/indexing/tests/test_indexing.py,sha256=uatTFiNkYnyqibYa2-NleUWyF
533
544
  maxframe/tensor/merge/__init__.py,sha256=mzXzvbNObPYmvWY3PCu3yFvV82Tqqaxav5DX_Iv2UN8,703
534
545
  maxframe/tensor/merge/concatenate.py,sha256=RRyP-fqUGfMeP3Zo2wgfZcnF-u8dCCIOpr_0jI5Fft8,3314
535
546
  maxframe/tensor/merge/stack.py,sha256=lZJs8M1JYBdYXnalj6-6ltdJKKslZ1Z-ydkzvGlzzkY,4277
536
- maxframe/tensor/merge/vstack.py,sha256=RDlTE2A51b1ku7ep1J0p-bq8EQHUkiXLa0rVHNWOLBI,2338
547
+ maxframe/tensor/merge/vstack.py,sha256=T9lGknzxA62FQJUEoPieZ7iFjCcvgkqfR8zFD9ZMG2Y,2342
537
548
  maxframe/tensor/merge/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
538
549
  maxframe/tensor/merge/tests/test_merge.py,sha256=tI4xeJPpME68buemIzTga9mTQiMoqFc9v4__Hi40kzg,2291
539
550
  maxframe/tensor/misc/__init__.py,sha256=C6VvY-dnO0_8Z1ArbzhT0I0ClFNT2LGfSgPJdICUexo,1185
@@ -642,23 +653,23 @@ maxframe/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,60
642
653
  maxframe/tests/test_codegen.py,sha256=h3TKqP4zghxTn1twH7gR9jOe6NKXdCC1B4u0chlUrpY,2277
643
654
  maxframe/tests/test_protocol.py,sha256=JkvsgGnbVSLu3VsUd_XT_qstcHPnKLzmoDBEXetaWT8,6281
644
655
  maxframe/tests/test_utils.py,sha256=5Z2cym1tlpnF73f4I3WC1eBocsbNEDGzDErJL_fKWx8,11868
645
- maxframe/tests/utils.py,sha256=t99jsFXhHme886zvXO5sl20stB5WFJsDH6KeHc5I9N0,5057
656
+ maxframe/tests/utils.py,sha256=lrUZul-tUjc-S7HtJDZs5PcrsA4Xecd96xZmNQ1WX-A,5532
646
657
  maxframe_client/__init__.py,sha256=hIVOnxj6AoN2zIMxQCzRb10k0LSoYS_DrQevXO9KPBg,705
647
658
  maxframe_client/conftest.py,sha256=UWWMYjmohHL13hLl4adb0gZPLRdBVOYVvsFo6VZruI0,658
648
- maxframe_client/fetcher.py,sha256=vwzGCH9pR_5aLcKzPL63iwDQ9UF2IMKa6TrY-JW2GNQ,8700
659
+ maxframe_client/fetcher.py,sha256=cIt1R2k0YV5IKxDQ276x5Dzwk3vFKFyDH3nzRzb6SH0,9445
649
660
  maxframe_client/clients/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
650
- maxframe_client/clients/framedriver.py,sha256=upN6C1eZrCpLTsS6fihWOMy392psWfo0bw2XgSLI_Yg,4581
661
+ maxframe_client/clients/framedriver.py,sha256=GdF_VGr2n4QZTbHy-p_IAaUrHLD1t7DYA-g3BtnylAA,4678
651
662
  maxframe_client/session/__init__.py,sha256=9zFCd3zkSADESAFc4SPoQ2nkvRwsIhhpNNO2TtSaWbU,854
652
663
  maxframe_client/session/consts.py,sha256=USDwwz79zFjhlp2MGz5Th6cCuZaYRLAo491tUanZdDs,1430
653
664
  maxframe_client/session/graph.py,sha256=CEavpl_zmz_nZ2TXI4moRxpdYsMZMokV63889qI6l_4,4501
654
- maxframe_client/session/odps.py,sha256=6EzIZnE8zuBhyrG7PKxDtQNBqzcyPcD_7ZzzRFXmPhU,24134
655
- maxframe_client/session/task.py,sha256=uxelaneGEMFQX_Cs73e3ZBdtbhLEJ-voa7BJ6VIDq0Y,13032
665
+ maxframe_client/session/odps.py,sha256=HlJ25wt0DLzMrhQVt-izEfrfSEejGMD8D08_x4Xcdto,25586
666
+ maxframe_client/session/task.py,sha256=6uljv5T-VEGKoWDA-E7iSaQMkimQON2vBaunTNLl8HQ,12347
656
667
  maxframe_client/session/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
657
- maxframe_client/session/tests/test_task.py,sha256=861usEURVXeTUzfJYZmBfwsHfZFexG23mMtT5IJOOm4,3364
668
+ maxframe_client/session/tests/test_task.py,sha256=pzluiWktDx5e7XfJKsasNMAJk83l5RIGbrphwy__yAU,4815
658
669
  maxframe_client/tests/__init__.py,sha256=29eM5D4knhYwe3TF42naTuC5b4Ym3VeH4rK8KpdLWNY,609
659
670
  maxframe_client/tests/test_fetcher.py,sha256=lYtn4NuntN-_A7rMd10e2y_CEUp7zelTij441NTFP6M,4265
660
- maxframe_client/tests/test_session.py,sha256=hzzEhQnaefASvwlTGKWrkDUGPhOvk3WUSlvsi30O5C0,10863
661
- maxframe-1.0.0rc4.dist-info/METADATA,sha256=ijkAuoAIX95Q94Q6AsQZfsg1ZlgdMMdBXC9OaTJDslw,3164
662
- maxframe-1.0.0rc4.dist-info/WHEEL,sha256=-4e2_5zQjKFRyJsP6SfWXi5m1fmK3VBANPdPzrOxl7c,97
663
- maxframe-1.0.0rc4.dist-info/top_level.txt,sha256=O_LOO6KS5Y1ZKdmCjA9mzfg0-b1sB_P6Oy-hD8aSDfM,25
664
- maxframe-1.0.0rc4.dist-info/RECORD,,
671
+ maxframe_client/tests/test_session.py,sha256=Rn144kIFfJ-ppWNgQ8psLTo0Z_zOk7q3xZCtdiaK_OM,11542
672
+ maxframe-1.1.1.dist-info/METADATA,sha256=YR08gSyhpzCkjRlAKvuGQdRG1yyH9I5XTizA4TcnodM,3159
673
+ maxframe-1.1.1.dist-info/WHEEL,sha256=-4e2_5zQjKFRyJsP6SfWXi5m1fmK3VBANPdPzrOxl7c,97
674
+ maxframe-1.1.1.dist-info/top_level.txt,sha256=O_LOO6KS5Y1ZKdmCjA9mzfg0-b1sB_P6Oy-hD8aSDfM,25
675
+ maxframe-1.1.1.dist-info/RECORD,,
@@ -63,9 +63,12 @@ class FrameDriverClient:
63
63
  session_id: str,
64
64
  dag: TileableGraph,
65
65
  managed_input_infos: Dict[str, ResultInfo] = None,
66
+ new_settings: Dict[str, Any] = None,
66
67
  ) -> DagInfo:
67
68
  req_url = f"{self._endpoint}/api/sessions/{session_id}/dags"
68
- req_body = ExecuteDagRequest(session_id, dag, managed_input_infos)
69
+ req_body = ExecuteDagRequest(
70
+ session_id, dag, managed_input_infos, new_settings=new_settings
71
+ )
69
72
  resp = await httpclient.AsyncHTTPClient().fetch(
70
73
  req_url,
71
74
  method="POST",
@@ -20,7 +20,6 @@ import pandas as pd
20
20
  import pyarrow as pa
21
21
  from odps import ODPS
22
22
  from odps.models import ExternalVolume
23
- from odps.tunnel import TableTunnel
24
23
 
25
24
  from maxframe.core import OBJECT_TYPE
26
25
  from maxframe.dataframe.core import DATAFRAME_TYPE
@@ -28,8 +27,10 @@ from maxframe.io.objects import get_object_io_handler
28
27
  from maxframe.io.odpsio import (
29
28
  ODPSTableIO,
30
29
  ODPSVolumeReader,
30
+ TunnelTableIO,
31
31
  arrow_to_pandas,
32
32
  build_dataframe_table_meta,
33
+ odps_schema_to_pandas_dtypes,
33
34
  )
34
35
  from maxframe.protocol import (
35
36
  DataFrameTableMeta,
@@ -116,18 +117,29 @@ class ODPSTableFetcher(ToThreadMixin, ResultFetcher):
116
117
  and tileable.dtypes is None
117
118
  and info.table_meta is not None
118
119
  ):
119
- tileable.refresh_from_table_meta(info.table_meta)
120
+ if info.table_meta.pd_column_dtypes is not None:
121
+ tileable.refresh_from_table_meta(info.table_meta)
122
+ else:
123
+ # need to get meta directly from table
124
+ table = self._odps_entry.get_table(info.full_table_name)
125
+ pd_dtypes = odps_schema_to_pandas_dtypes(table.table_schema).drop(
126
+ info.table_meta.table_index_column_names
127
+ )
128
+ tileable.refresh_from_dtypes(pd_dtypes)
120
129
 
121
130
  if tileable.shape and any(pd.isna(x) for x in tileable.shape):
122
131
  part_specs = [None] if not info.partition_specs else info.partition_specs
123
132
 
124
133
  with sync_pyodps_options():
125
134
  table = self._odps_entry.get_table(info.full_table_name)
126
- tunnel = TableTunnel(self._odps_entry)
127
- total_records = 0
128
- for part_spec in part_specs:
129
- session = tunnel.create_download_session(table, part_spec)
130
- total_records += session.count
135
+ if isinstance(tileable, DATAFRAME_TYPE) and tileable.dtypes is None:
136
+ dtypes = odps_schema_to_pandas_dtypes(table.table_schema)
137
+ tileable.refresh_from_dtypes(dtypes)
138
+
139
+ part_sessions = TunnelTableIO.create_download_sessions(
140
+ self._odps_entry, info.full_table_name, part_specs
141
+ )
142
+ total_records = sum(session.count for session in part_sessions.values())
131
143
 
132
144
  new_shape_list = list(tileable.shape)
133
145
  new_shape_list[0] = total_records
@@ -236,7 +248,10 @@ class ODPSVolumeFetcher(ToThreadMixin, ResultFetcher):
236
248
  ) -> Any:
237
249
  def volume_fetch_func():
238
250
  reader = ODPSVolumeReader(
239
- self._odps_entry, info.volume_name, info.volume_path
251
+ self._odps_entry,
252
+ info.volume_name,
253
+ info.volume_path,
254
+ replace_internal_host=True,
240
255
  )
241
256
  io_handler = get_object_io_handler(tileable)()
242
257
  return io_handler.read_object(reader, tileable, indexes)
@@ -14,6 +14,7 @@
14
14
 
15
15
  import abc
16
16
  import asyncio
17
+ import copy
17
18
  import logging
18
19
  import time
19
20
  import weakref
@@ -25,6 +26,7 @@ import numpy as np
25
26
  import pandas as pd
26
27
  from odps import ODPS
27
28
  from odps import options as odps_options
29
+ from odps.console import in_ipython_frontend
28
30
 
29
31
  from maxframe.config import options
30
32
  from maxframe.core import Entity, TileableGraph, build_fetch, enter_mode
@@ -82,10 +84,21 @@ class MaxFrameServiceCaller(metaclass=abc.ABCMeta):
82
84
  def get_settings_to_upload(self) -> Dict[str, Any]:
83
85
  sql_settings = (odps_options.sql.settings or {}).copy()
84
86
  sql_settings.update(options.sql.settings or {})
85
-
86
87
  quota_name = options.session.quota_name or getattr(
87
88
  odps_options, "quota_name", None
88
89
  )
90
+ quota_settings = {
91
+ sql_settings.get("odps.task.wlm.quota", None),
92
+ options.spe.task.settings.get("odps.task.wlm.quota", None),
93
+ options.pythonpack.task.settings.get("odps.task.wlm.quota", None),
94
+ quota_name,
95
+ }.difference([None])
96
+ if len(quota_settings) >= 2:
97
+ raise ValueError(
98
+ "Quota settings are conflicting: %s" % ", ".join(sorted(quota_settings))
99
+ )
100
+ elif len(quota_settings) == 1:
101
+ quota_name = quota_settings.pop()
89
102
  lifecycle = options.session.table_lifecycle or odps_options.lifecycle
90
103
  temp_lifecycle = (
91
104
  options.session.temp_table_lifecycle or odps_options.temp_lifecycle
@@ -113,6 +126,8 @@ class MaxFrameServiceCaller(metaclass=abc.ABCMeta):
113
126
  mf_settings["session.quota_name"] = quota_name
114
127
  if enable_schema is not None:
115
128
  mf_settings["session.enable_schema"] = enable_schema
129
+ if options.session.enable_high_availability is None:
130
+ mf_settings["session.enable_high_availability"] = not in_ipython_frontend()
116
131
  mf_settings["session.default_schema"] = default_schema or "default"
117
132
  return mf_settings
118
133
 
@@ -184,6 +199,8 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
184
199
 
185
200
  self._caller = self._create_caller(odps_entry, address, **kwargs)
186
201
  self._last_settings = None
202
+ self._pull_interval = 1 if in_ipython_frontend() else 3
203
+ self._replace_internal_host = kwargs.get("replace_internal_host", True)
187
204
 
188
205
  @classmethod
189
206
  def _create_caller(
@@ -193,7 +210,7 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
193
210
 
194
211
  async def _init(self, _address: str):
195
212
  session_info = await self.ensure_async_call(self._caller.create_session)
196
- self._last_settings = self._caller.get_settings_to_upload()
213
+ self._last_settings = copy.deepcopy(self._caller.get_settings_to_upload())
197
214
  self._session_id = session_info.session_id
198
215
  await self._show_logview_address()
199
216
 
@@ -250,7 +267,12 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
250
267
  self, t: TileableType
251
268
  ) -> Optional[TileableType]:
252
269
  vol_name = build_session_volume_name(self.session_id)
253
- writer = ODPSVolumeWriter(self._odps_entry, vol_name, t.key)
270
+ writer = ODPSVolumeWriter(
271
+ self._odps_entry,
272
+ vol_name,
273
+ t.key,
274
+ replace_internal_host=self._replace_internal_host,
275
+ )
254
276
  io_handler = get_object_io_handler(t)
255
277
  io_handler().write_object(writer, t, t.op.data)
256
278
  return build_fetch(t).data
@@ -318,9 +340,14 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
318
340
  def _get_diff_settings(self) -> Dict[str, Any]:
319
341
  new_settings = self._caller.get_settings_to_upload()
320
342
  if not self._last_settings: # pragma: no cover
321
- self._last_settings = new_settings
343
+ self._last_settings = copy.deepcopy(new_settings)
322
344
  return new_settings
323
345
 
346
+ if self._last_settings.get("session.quota_name", None) != new_settings.get(
347
+ "session.quota_name", None
348
+ ):
349
+ raise ValueError("Quota name cannot be changed after sessions are created")
350
+
324
351
  update = dict()
325
352
  for k in new_settings.keys():
326
353
  old_item = self._last_settings.get(k)
@@ -330,7 +357,7 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
330
357
  update[k] = new_item
331
358
  except: # noqa: E722 # nosec # pylint: disable=bare-except
332
359
  update[k] = new_item
333
- self._last_settings = new_settings
360
+ self._last_settings = copy.deepcopy(new_settings)
334
361
  return update
335
362
 
336
363
  async def execute(self, *tileables, **kwargs) -> ExecutionInfo:
@@ -379,18 +406,18 @@ class MaxFrameSession(ToThreadMixin, IsolatedAsyncSession):
379
406
  start_time = time.time()
380
407
  session_id = dag_info.session_id
381
408
  dag_id = dag_info.dag_id
382
- wait_timeout = 10
383
409
  server_no_response_time = None
384
410
  with enter_mode(build=True, kernel=True):
385
411
  key_to_tileables = {t.key: t for t in tileables}
386
-
412
+ timeout_val = 0.1
387
413
  try:
388
414
  while True:
389
415
  elapsed_time = time.time() - start_time
416
+ next_timeout_val = min(timeout_val * 2, self._pull_interval)
390
417
  timeout_val = (
391
- min(self.timeout - elapsed_time, wait_timeout)
418
+ min(self.timeout - elapsed_time, next_timeout_val)
392
419
  if self.timeout
393
- else wait_timeout
420
+ else next_timeout_val
394
421
  )
395
422
  if timeout_val <= 0:
396
423
  raise TimeoutError("Running DAG timed out")
@@ -584,7 +611,9 @@ class MaxFrameRestCaller(MaxFrameServiceCaller):
584
611
  managed_input_infos: Dict[str, ResultInfo] = None,
585
612
  new_settings: Dict[str, Any] = None,
586
613
  ) -> DagInfo:
587
- return await self._client.submit_dag(self._session_id, dag, managed_input_infos)
614
+ return await self._client.submit_dag(
615
+ self._session_id, dag, managed_input_infos, new_settings=new_settings
616
+ )
588
617
 
589
618
  async def get_dag_info(self, dag_id: str) -> DagInfo:
590
619
  return await self._client.get_dag_info(self._session_id, dag_id)
@@ -617,7 +646,7 @@ class MaxFrameRestSession(MaxFrameSession):
617
646
  real_endpoint = address.replace(f"{parsed_endpoint.scheme}://", f"{scheme}://")
618
647
 
619
648
  super().__init__(
620
- real_endpoint, session_id, odps_entry=odps_entry, timeout=timeout
649
+ real_endpoint, session_id, odps_entry=odps_entry, timeout=timeout, **kwargs
621
650
  )
622
651
 
623
652
  @classmethod