mplang-nightly 0.1.dev153__tar.gz → 0.1.dev155__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.
Files changed (166) hide show
  1. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/PKG-INFO +1 -1
  2. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/cluster.py +1 -3
  3. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/evaluator.py +0 -1
  4. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/mptype.py +0 -34
  5. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/crypto.py +1 -4
  6. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/spu.py +0 -3
  7. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/session.py +1 -2
  8. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_cluster.py +0 -3
  9. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/device/test_device_basic.py +0 -1
  10. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_builtin.py +1 -3
  11. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_stablehlo.py +0 -2
  12. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/.gitignore +0 -0
  13. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/LICENSE +0 -0
  14. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/README.md +0 -0
  15. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/conf/3pc.yaml +0 -0
  16. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/stax_nn/README.md +0 -0
  17. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/stax_nn/models.py +0 -0
  18. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/stax_nn/stax_nn.py +0 -0
  19. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/hist_jax.py +0 -0
  20. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/hist_jax_test.py +0 -0
  21. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/naive_np.py +0 -0
  22. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/readme.md +0 -0
  23. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/sgb.py +0 -0
  24. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/examples/xgboost/sgb_test.py +0 -0
  25. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/hatch_build.py +0 -0
  26. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/__init__.py +0 -0
  27. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/analysis/__init__.py +0 -0
  28. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/analysis/diagram.py +0 -0
  29. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/api.py +0 -0
  30. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/__init__.py +0 -0
  31. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/comm.py +0 -0
  32. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/context_mgr.py +0 -0
  33. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/dtype.py +0 -0
  34. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/__init__.py +0 -0
  35. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/ast.py +0 -0
  36. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/printer.py +0 -0
  37. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/transformer.py +0 -0
  38. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/utils.py +0 -0
  39. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/visitor.py +0 -0
  40. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/expr/walk.py +0 -0
  41. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/interp.py +0 -0
  42. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/mask.py +0 -0
  43. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/mpir.py +0 -0
  44. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/mpobject.py +0 -0
  45. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/pfunc.py +0 -0
  46. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/primitive.py +0 -0
  47. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/table.py +0 -0
  48. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/tensor.py +0 -0
  49. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/core/tracer.py +0 -0
  50. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/device.py +0 -0
  51. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/__init__.py +0 -0
  52. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/base.py +0 -0
  53. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/builtin.py +0 -0
  54. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/context.py +0 -0
  55. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/mock_tee.py +0 -0
  56. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/phe.py +0 -0
  57. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/sql_duckdb.py +0 -0
  58. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/kernels/stablehlo.py +0 -0
  59. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/__init__.py +0 -0
  60. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/base.py +0 -0
  61. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/builtin.py +0 -0
  62. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/crypto.py +0 -0
  63. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/ibis_cc.py +0 -0
  64. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/jax_cc.py +0 -0
  65. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/phe.py +0 -0
  66. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/spu.py +0 -0
  67. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/sql.py +0 -0
  68. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/ops/tee.py +0 -0
  69. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/protos/v1alpha1/mpir_pb2.py +0 -0
  70. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/protos/v1alpha1/mpir_pb2.pyi +0 -0
  71. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/protos/v1alpha1/mpir_pb2_grpc.py +0 -0
  72. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/__init__.py +0 -0
  73. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/cli.py +0 -0
  74. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/client.py +0 -0
  75. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/communicator.py +0 -0
  76. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/data_providers.py +0 -0
  77. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/driver.py +0 -0
  78. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/exceptions.py +0 -0
  79. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/http_api.md +0 -0
  80. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/link_comm.py +0 -0
  81. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/server.py +0 -0
  82. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/runtime/simulation.py +0 -0
  83. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/simp/__init__.py +0 -0
  84. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/simp/mpi.py +0 -0
  85. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/simp/random.py +0 -0
  86. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/simp/smpc.py +0 -0
  87. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/utils/__init__.py +0 -0
  88. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/utils/crypto.py +0 -0
  89. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/utils/func_utils.py +0 -0
  90. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/utils/spu_utils.py +0 -0
  91. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/mplang/utils/table_utils.py +0 -0
  92. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/pyproject.toml +0 -0
  93. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/__init__.py +0 -0
  94. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/analysis/test_diagram.py +0 -0
  95. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/conftest.py +0 -0
  96. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/__init__.py +0 -0
  97. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/__init__.py +0 -0
  98. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/conftest.py +0 -0
  99. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/test_ast.py +0 -0
  100. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/test_printer.py +0 -0
  101. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/test_utils.py +0 -0
  102. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/expr/test_walk.py +0 -0
  103. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_dtype.py +0 -0
  104. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_mask.py +0 -0
  105. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_mpir.py +0 -0
  106. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_mptype.py +0 -0
  107. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_primitive.py +0 -0
  108. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_table.py +0 -0
  109. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_tensor.py +0 -0
  110. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/core/test_tracer.py +0 -0
  111. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/device/__init__.py +0 -0
  112. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/README.md +0 -0
  113. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/test_crypto_roundtrip.py +0 -0
  114. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/test_http_e2e.py +0 -0
  115. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/test_symbols_roundtrip.py +0 -0
  116. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/test_tutorials.py +0 -0
  117. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/integration/test_unused_param_integration.py +0 -0
  118. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_debug_print.py +0 -0
  119. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_kernel_binding.py +0 -0
  120. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_phe.py +0 -0
  121. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_spu.py +0 -0
  122. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/kernels/test_sql_duckdb.py +0 -0
  123. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/__init__.py +0 -0
  124. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/dummy.py +0 -0
  125. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_builtin_pack.py +0 -0
  126. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_crypto_tee.py +0 -0
  127. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_feop_base.py +0 -0
  128. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_ibis.py +0 -0
  129. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_ibis_cc.py +0 -0
  130. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_jax_cc.py +0 -0
  131. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_phe.py +0 -0
  132. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_spu.py +0 -0
  133. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_spu_defensive.py +0 -0
  134. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_sql.py +0 -0
  135. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/ops/test_table_tensor_conversion.py +0 -0
  136. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/__init__.py +0 -0
  137. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/test_cli.py +0 -0
  138. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/test_communicator.py +0 -0
  139. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/test_driver.py +0 -0
  140. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/test_server.py +0 -0
  141. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/runtime/test_simulation.py +0 -0
  142. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/simp/test_mpi.py +0 -0
  143. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/simp/test_random.py +0 -0
  144. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/simp/test_simp.py +0 -0
  145. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/simp/test_smpc.py +0 -0
  146. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/simp/test_sugar.py +0 -0
  147. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/utils/__init__.py +0 -0
  148. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/utils/server_fixtures.py +0 -0
  149. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/utils/test_func_utils.py +0 -0
  150. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/utils/test_spu_utils.py +0 -0
  151. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tests/utils/test_table_utils.py +0 -0
  152. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/0_basic.py +0 -0
  153. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/10_analysis.py +0 -0
  154. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/1_condition.py +0 -0
  155. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/2_whileloop.py +0 -0
  156. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/3_device.py +0 -0
  157. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/4_simulation.py +0 -0
  158. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/5_ir_dump.py +0 -0
  159. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/6_advanced.py +0 -0
  160. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/7_stdio.py +0 -0
  161. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/8_phe.py +0 -0
  162. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/9_tee.py +0 -0
  163. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/__init__.py +0 -0
  164. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/pitfalls/late_binding.py +0 -0
  165. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/pitfalls/rand.py +0 -0
  166. {mplang_nightly-0.1.dev153 → mplang_nightly-0.1.dev155}/tutorials/run.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mplang-nightly
3
- Version: 0.1.dev153
3
+ Version: 0.1.dev155
4
4
  Summary: Multi-Party Programming Language
5
5
  Author-email: SecretFlow Team <secretflow-contact@service.alipay.com>
6
6
  License: Apache License
@@ -193,8 +193,6 @@ class ClusterSpec:
193
193
  for k, v in runtime_info_cfg.items()
194
194
  if k not in known_runtime_fields
195
195
  }
196
- # Gracefully ignore legacy 'backends' if present (treated as extra)
197
- # for backward compatibility.
198
196
  runtime_info = RuntimeInfo(
199
197
  version=runtime_info_cfg.get("version", "N/A"),
200
198
  platform=runtime_info_cfg.get("platform", "N/A"),
@@ -257,7 +255,7 @@ class ClusterSpec:
257
255
  Optional explicit endpoint list of length ``world_size``. Each element may
258
256
  include scheme (``http://``) or not; stored verbatim. If not provided we
259
257
  synthesize ``localhost:{5000 + i}`` (5000 is a fixed default; pass explicit
260
- endpoints for control). Deprecated ``base_port`` legacy kwarg can adjust it.
258
+ endpoints for control).
261
259
  spu_protocol / spu_field:
262
260
  SPU device config values.
263
261
  runtime_version / runtime_platform:
@@ -66,7 +66,6 @@ class EvalSemantic:
66
66
  """Shared evaluation semantics and utilities for evaluators.
67
67
 
68
68
  Minimal dataclass carrying runtime execution context (rank/env/comm/runtime).
69
- Legacy handler-based execution (pfunc_handles) has been fully removed.
70
69
  """
71
70
 
72
71
  rank: int
@@ -400,39 +400,5 @@ class MPType:
400
400
  "Table object detection for non-pandas objects not fully implemented yet"
401
401
  )
402
402
 
403
- # Check if it's a table-like object (legacy check for backward compatibility)
404
- if hasattr(obj, "dtypes") and hasattr(obj, "columns"):
405
- # Basic pandas DataFrame support
406
- try:
407
- import pandas as pd
408
-
409
- if isinstance(obj, pd.DataFrame):
410
- from mplang.core.dtype import DType
411
-
412
- schema_dict = {}
413
- for col_name in obj.columns:
414
- pandas_dtype = obj[col_name].dtype
415
- # Convert pandas dtype to DType
416
- if pandas_dtype.kind in (
417
- "O",
418
- "U",
419
- "S",
420
- ): # object, unicode, string
421
- schema_dict[col_name] = (
422
- DType.from_numpy(pandas_dtype)
423
- if pandas_dtype.kind != "O"
424
- else STRING
425
- )
426
- else:
427
- schema_dict[col_name] = DType.from_numpy(pandas_dtype)
428
- schema = TableType.from_dict(schema_dict)
429
- return cls(schema, pmask, attrs)
430
- except ImportError:
431
- pass
432
- # For other table-like objects without pandas
433
- raise NotImplementedError(
434
- "Table object detection not fully implemented yet"
435
- )
436
-
437
403
  # Otherwise treat as tensor-like
438
404
  return cls.from_tensor(obj, pmask, **attrs)
@@ -27,10 +27,7 @@ __all__: list[str] = [] # flat kernels only
27
27
 
28
28
 
29
29
  def _get_rng() -> np.random.Generator:
30
- """Get (and lazily create) per-rank RNG for crypto kernels.
31
-
32
- Seed rule matches legacy handler: MPLANG_CRYPTO_SEED + rank*7919
33
- """
30
+ """Get (and lazily create) per-rank RNG for crypto kernels."""
34
31
  kctx = cur_kctx()
35
32
  pocket = kctx.state.setdefault("crypto", {})
36
33
  rng = pocket.get("rng")
@@ -63,9 +63,6 @@ class SpuValue:
63
63
  return f"SpuValue({self.shape},{self.dtype},{self.vtype})"
64
64
 
65
65
 
66
- # SpuHandler removed (legacy handler API deprecated)
67
-
68
-
69
66
  def _get_spu_pocket() -> dict[str, Any]:
70
67
  return cur_kctx().state.setdefault("spu", {})
71
68
 
@@ -184,8 +184,7 @@ class Session:
184
184
  return
185
185
 
186
186
  link_ctx = None
187
- # Fixed port offset for SPU runtime link services (legacy value retained).
188
- # TODO: make configurable if future deployments require dynamic offset.
187
+ # TODO(jint): reuse same port for mplang and spu.
189
188
  SPU_PORT_OFFSET = 100
190
189
 
191
190
  if self.is_spu_party:
@@ -335,8 +335,6 @@ class TestFromDict:
335
335
  "runtime_info": {
336
336
  "version": "2.0.0",
337
337
  "platform": "cpu",
338
- # legacy field 'backends' should be ignored gracefully
339
- "backends": ["builtin"],
340
338
  "op_bindings": {"crypto.enc": "crypto.enc.fast"},
341
339
  "custom_field": "custom_value",
342
340
  "number_field": 42,
@@ -352,7 +350,6 @@ class TestFromDict:
352
350
  assert node.runtime_info.extra == {
353
351
  "custom_field": "custom_value",
354
352
  "number_field": 42,
355
- "backends": ["builtin"],
356
353
  }
357
354
  assert node.runtime_info.op_bindings == {"crypto.enc": "crypto.enc.fast"}
358
355
 
@@ -33,7 +33,6 @@ def build_cluster():
33
33
  "runtime_info": {
34
34
  "version": "test",
35
35
  "platform": "sim",
36
- "backends": ["__all__"],
37
36
  },
38
37
  }
39
38
 
@@ -23,9 +23,7 @@ from mplang.core.tensor import TensorType
23
23
  from mplang.kernels.context import RuntimeContext
24
24
 
25
25
 
26
- class TestBuiltinHandler:
27
- """Tests for flat builtin kernels (legacy name retained)."""
28
-
26
+ class TestBuiltin:
29
27
  def setup_method(self):
30
28
  # initialize backend context for rank 0 (world_size=1) once per test
31
29
  self.runtime = RuntimeContext(rank=0, world_size=1)
@@ -155,5 +155,3 @@ class TestStablehloKernel:
155
155
  ev = create_evaluator(0, {}, comm, runtime)
156
156
  with pytest.raises(NotImplementedError):
157
157
  ev._exec_pfunc(invalid_pfunc, []) # type: ignore[attr-defined]
158
-
159
- # No legacy handler path anymore; only NotImplementedError is expected.