mplang-nightly 0.1.dev334__tar.gz → 0.1.dev336__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.
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/PKG-INFO +1 -1
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/util.py +3 -8
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/serde.py +70 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_serde.py +79 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/.gitignore +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/LICENSE +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/README.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/examples/.gitkeep +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/hatch_build.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/bfv_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/channel.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/crypto_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/field_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/func_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/phe_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_design.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/http.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/mem.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/ops.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/state.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/values.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/base.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/collective_algorithms.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/collectives.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/comm_context.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/http.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/infra.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/mem.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/ops.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/request.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/state.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/spu_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/spu_state.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/store_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/table_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/tee_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/tensor_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/cli.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/cli_guide.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/_jax_utils.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/bfv.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/crypto.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/dtypes.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/field.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/func.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/phe.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/simp.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/spu.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/store.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/table.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/tee.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/dialects/tensor.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/README.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/context.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/graph.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/object.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/primitive.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/printer.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/program.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/registry.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/tracer.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/edsl/typing.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/extend/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/extend/arrow/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/extend/arrow/compute.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/extend/arrow/util.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/extend/arrow/vector.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/Makefile +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/gf128.cpp +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/ldpc.cpp +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/okvs.cpp +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/okvs_opt.cpp +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/kernels/py_kernels.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/collective.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/device/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/device/api.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/device/cluster.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/ml/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/ml/sgb.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/_utils.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/aggregation.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/groupby.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/groupby.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/permutation.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/common/constants.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/ot/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/ot/base.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/ot/extension.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/ot/silent.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/cuckoo.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/okvs.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/okvs_gct.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/oprf.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/rr22.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/psi/unbalanced.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/vole/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/vole/gilboa.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/vole/ldpc.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/vole/silver.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/py.typed +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/runtime/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/runtime/dialect_state.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/runtime/interpreter.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/runtime/object_store.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/runtime/value.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/tool/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/tool/program.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/utils/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/utils/func_utils.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/utils/logging.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/pyproject.toml +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_driver/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_driver/test_http.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_async_exec.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_base.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_collectives.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_comm_context.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_http.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_http_communicator.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_mem.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_request_isolation.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_shuffle_exec_id_key.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_bfv_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_channel.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_crypto_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_okvs_binding.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_simp_integration.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_simp_object_store.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_spu_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_table_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_tee_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_tensor_impl.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_util.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_verify_clean.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/conftest.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_bfv.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_compile_context.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_crypto.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_dtypes.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_field.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_func.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_okvs.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_okvs_bench.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_phe.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_simp.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_simp_comm.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_spu.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_store.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_table.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_table_row_dimension.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_tee.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_tensor.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_compiled_program_artifact.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_context.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_graph.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_primitive.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_primitive_multi_output.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_printer.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_tracer.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_typing.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/edsl/test_typing_graph_serde.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/extend/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/extend/test_arrow.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/conftest.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/test_device_api_errors.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/test_device_dialects.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/test_device_layouts.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/device/test_device_tee.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/ml/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/ml/test_sgb.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/ml/test_sgb_bench.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/analytics/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/analytics/test_aggregation.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/analytics/test_groupby.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/analytics/test_permutation.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/ot/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/ot/test_ot.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/ot/test_ot_extension.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/ot/test_silent_ot.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/test_okvs_gct.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/test_oprf.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/test_psi.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/test_psi_bench.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/test_rr22.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/psi/verify_psi_okvs_logic.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/test_field_gf128.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/test_utils.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/test_gilboa_manual.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/test_ldpc.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/test_silver_vole.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/test_vole.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/test_vole_bench.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/mpc/vole/verify_vole_logic.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/test_collective.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/libs/test_simple_guide.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/runtime/test_interpreter_async.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/runtime/test_object_store.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/runtime/test_object_store_fs.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/runtime/test_value_gc.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/test_fetch_semantics.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/test_pytree_io.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/utils/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/utils/tensor_patch.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/utils/test_func_utils.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/utils/test_logging.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/00_device_basics.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/01_function_decorator.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/02_simulation_and_driver.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/03_run_jax.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/04_ir_dump_and_analysis.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/05_run_sql.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/06_pipeline.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/07_stax_nn.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/08_logging.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/MIGRATION.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/README.md +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/__init__.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/data/alice.csv +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/data/bob.csv +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/data/prepare_vertical_iris.py +0 -0
- {mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tutorials/run.sh +0 -0
|
@@ -101,21 +101,16 @@ def _refine_stablehlo(code: str, args: tuple[TensorLike, ...]) -> str:
|
|
|
101
101
|
cmd = [
|
|
102
102
|
"stablehlo-opt",
|
|
103
103
|
input_file,
|
|
104
|
+
"--inline",
|
|
104
105
|
f"--stablehlo-refine-arguments={refine_args}",
|
|
105
106
|
"--stablehlo-refine-shapes",
|
|
106
107
|
"--stablehlo-canonicalize-dynamism",
|
|
108
|
+
"--stablehlo-check-shape-assertions",
|
|
107
109
|
]
|
|
108
110
|
|
|
109
111
|
result = subprocess.run(cmd, capture_output=True, text=True, check=True)
|
|
110
112
|
|
|
111
|
-
|
|
112
|
-
filtered_output = "\n".join(
|
|
113
|
-
line
|
|
114
|
-
for line in result.stdout.split("\n")
|
|
115
|
-
if "stablehlo.custom_call @shape_assertion" not in line
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
return filtered_output
|
|
113
|
+
return result.stdout
|
|
119
114
|
|
|
120
115
|
except subprocess.CalledProcessError as e:
|
|
121
116
|
# Re-throw with additional information
|
|
@@ -144,6 +144,7 @@ def to_json(obj: Any) -> dict[str, Any]:
|
|
|
144
144
|
3. Be a list/tuple of serializable objects
|
|
145
145
|
4. Be a dict with string keys and serializable values
|
|
146
146
|
5. Be a numpy ndarray
|
|
147
|
+
6. Be a pyarrow Table or pandas DataFrame (round-tripped via Arrow IPC)
|
|
147
148
|
|
|
148
149
|
Args:
|
|
149
150
|
obj: Object to serialize
|
|
@@ -196,6 +197,36 @@ def to_json(obj: Any) -> dict[str, Any]:
|
|
|
196
197
|
"data": base64.b64encode(obj.tobytes()).decode("ascii"),
|
|
197
198
|
}
|
|
198
199
|
|
|
200
|
+
# Tabular data with named columns. Both pyarrow Table and pandas
|
|
201
|
+
# DataFrame expose ``__array__`` and would otherwise fall into the
|
|
202
|
+
# ndarray branch below, losing column names and dtype info. Use pyarrow
|
|
203
|
+
# IPC for lossless round-trip. Trigger: any op-attr carrying tabular
|
|
204
|
+
# data (e.g. ``ibis.memtable({...})`` placed via ``mp.put`` →
|
|
205
|
+
# ``simp.constant`` → ``table.constant_p``).
|
|
206
|
+
try:
|
|
207
|
+
import pyarrow as pa
|
|
208
|
+
except ImportError: # pragma: no cover - pyarrow is a hard dep elsewhere
|
|
209
|
+
pa = None
|
|
210
|
+
try:
|
|
211
|
+
import pandas as pd
|
|
212
|
+
except ImportError: # pragma: no cover
|
|
213
|
+
pd = None
|
|
214
|
+
|
|
215
|
+
if pa is not None and isinstance(obj, pa.Table):
|
|
216
|
+
table_obj: Any = obj
|
|
217
|
+
elif pa is not None and pd is not None and isinstance(obj, pd.DataFrame):
|
|
218
|
+
table_obj = pa.Table.from_pandas(obj, preserve_index=False)
|
|
219
|
+
else:
|
|
220
|
+
table_obj = None
|
|
221
|
+
if table_obj is not None:
|
|
222
|
+
sink = pa.BufferOutputStream()
|
|
223
|
+
with pa.ipc.new_stream(sink, table_obj.schema) as writer:
|
|
224
|
+
writer.write_table(table_obj)
|
|
225
|
+
return {
|
|
226
|
+
"_kind": "_pa_table",
|
|
227
|
+
"data": base64.b64encode(sink.getvalue().to_pybytes()).decode("ascii"),
|
|
228
|
+
}
|
|
229
|
+
|
|
199
230
|
# Array-like (JAX, etc.) - convert to numpy
|
|
200
231
|
if hasattr(obj, "__array__"):
|
|
201
232
|
return to_json(np.asarray(obj))
|
|
@@ -298,6 +329,13 @@ def from_json(data: dict[str, Any]) -> Any:
|
|
|
298
329
|
# Always reshape - empty tuple () means scalar, which requires reshape
|
|
299
330
|
return arr.reshape(shape)
|
|
300
331
|
|
|
332
|
+
# Tabular data round-tripped via pyarrow IPC (see to_json companion).
|
|
333
|
+
if kind == "_pa_table":
|
|
334
|
+
import pyarrow as pa
|
|
335
|
+
|
|
336
|
+
buf = base64.b64decode(data["data"])
|
|
337
|
+
return pa.ipc.open_stream(pa.BufferReader(buf)).read_all()
|
|
338
|
+
|
|
301
339
|
# Registered classes
|
|
302
340
|
if kind in _CLASS_REGISTRY:
|
|
303
341
|
cls = _CLASS_REGISTRY[kind]
|
|
@@ -485,6 +523,30 @@ def _to_binary_json(obj: Any, ctx: BinaryContext) -> dict[str, Any]:
|
|
|
485
523
|
seg_idx = ctx.add_segment(obj)
|
|
486
524
|
return {"_kind": "_bytes_bref", "bref": seg_idx}
|
|
487
525
|
|
|
526
|
+
# Tabular data (parity with to_json) — emit Arrow IPC bytes as a
|
|
527
|
+
# binary segment instead of inlining base64. Must come before the
|
|
528
|
+
# ``__array__`` check, since pa.Table / pd.DataFrame both expose it.
|
|
529
|
+
try:
|
|
530
|
+
import pyarrow as pa
|
|
531
|
+
except ImportError: # pragma: no cover
|
|
532
|
+
pa = None
|
|
533
|
+
try:
|
|
534
|
+
import pandas as pd
|
|
535
|
+
except ImportError: # pragma: no cover
|
|
536
|
+
pd = None
|
|
537
|
+
|
|
538
|
+
table_obj: Any = None
|
|
539
|
+
if pa is not None and isinstance(obj, pa.Table):
|
|
540
|
+
table_obj = obj
|
|
541
|
+
elif pa is not None and pd is not None and isinstance(obj, pd.DataFrame):
|
|
542
|
+
table_obj = pa.Table.from_pandas(obj, preserve_index=False)
|
|
543
|
+
if table_obj is not None:
|
|
544
|
+
sink = pa.BufferOutputStream()
|
|
545
|
+
with pa.ipc.new_stream(sink, table_obj.schema) as writer:
|
|
546
|
+
writer.write_table(table_obj)
|
|
547
|
+
seg_idx = ctx.add_segment(sink.getvalue().to_pybytes())
|
|
548
|
+
return {"_kind": "_pa_table_bref", "bref": seg_idx}
|
|
549
|
+
|
|
488
550
|
# Array-like (e.g., JAX arrays)
|
|
489
551
|
if hasattr(obj, "__array__"):
|
|
490
552
|
return _to_binary_json(np.asarray(obj), ctx)
|
|
@@ -538,6 +600,14 @@ def _from_binary_json(data: dict[str, Any], segments: list[memoryview]) -> Any:
|
|
|
538
600
|
arr = np.frombuffer(raw, dtype=np.dtype(data["dtype"]))
|
|
539
601
|
return arr.reshape(tuple(data["shape"])).copy()
|
|
540
602
|
|
|
603
|
+
if kind == "_pa_table_bref":
|
|
604
|
+
import pyarrow as pa
|
|
605
|
+
|
|
606
|
+
# ``pa.BufferReader`` accepts any buffer-protocol object, so we pass
|
|
607
|
+
# the memoryview through to avoid an extra ``bytes(...)`` copy.
|
|
608
|
+
buf = segments[data["bref"]]
|
|
609
|
+
return pa.ipc.open_stream(pa.BufferReader(buf)).read_all()
|
|
610
|
+
|
|
541
611
|
if kind == "_list":
|
|
542
612
|
return [_from_binary_json(item, segments) for item in data["items"]]
|
|
543
613
|
|
|
@@ -275,6 +275,85 @@ class TestBinaryWireFormat:
|
|
|
275
275
|
assert result == payload
|
|
276
276
|
|
|
277
277
|
|
|
278
|
+
# =============================================================================
|
|
279
|
+
# Tests: Tabular Data (pyarrow.Table / pandas.DataFrame)
|
|
280
|
+
# =============================================================================
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
class TestArrowTableRoundTrip:
|
|
284
|
+
"""Tabular data must round-trip losslessly, preserving column names + dtypes.
|
|
285
|
+
|
|
286
|
+
Both ``pa.Table`` and ``pd.DataFrame`` expose ``__array__``. Before the
|
|
287
|
+
fix they fell into the numpy ndarray branch which collapsed the columns
|
|
288
|
+
into a single 2-D array, losing names and per-column dtypes.
|
|
289
|
+
"""
|
|
290
|
+
|
|
291
|
+
def test_to_json_pa_table_roundtrip(self):
|
|
292
|
+
import pyarrow as pa
|
|
293
|
+
|
|
294
|
+
t = pa.table({
|
|
295
|
+
"bin_id": [0, 1, 2, 3],
|
|
296
|
+
"edge": [0.1, 0.5, 0.9, 1.0],
|
|
297
|
+
"name": ["a", "b", "c", "d"],
|
|
298
|
+
})
|
|
299
|
+
payload = serde.to_json(t)
|
|
300
|
+
assert payload["_kind"] == "_pa_table"
|
|
301
|
+
|
|
302
|
+
result = serde.from_json(payload)
|
|
303
|
+
assert isinstance(result, pa.Table)
|
|
304
|
+
assert result.schema.equals(t.schema)
|
|
305
|
+
assert result.equals(t)
|
|
306
|
+
|
|
307
|
+
def test_to_json_pandas_dataframe_roundtrip_as_pa_table(self):
|
|
308
|
+
pd = pytest.importorskip("pandas")
|
|
309
|
+
import pyarrow as pa
|
|
310
|
+
|
|
311
|
+
df = pd.DataFrame({
|
|
312
|
+
"bin_id": [0, 1, 2, 3],
|
|
313
|
+
"edge": [0.1, 0.5, 0.9, 1.0],
|
|
314
|
+
})
|
|
315
|
+
payload = serde.to_json(df)
|
|
316
|
+
assert payload["_kind"] == "_pa_table"
|
|
317
|
+
|
|
318
|
+
result = serde.from_json(payload)
|
|
319
|
+
# Deserialized as pa.Table (canonical tabular form). Column names and
|
|
320
|
+
# numeric dtypes must survive.
|
|
321
|
+
assert isinstance(result, pa.Table)
|
|
322
|
+
assert result.column_names == ["bin_id", "edge"]
|
|
323
|
+
assert pa.Table.from_pandas(df, preserve_index=False).equals(result)
|
|
324
|
+
|
|
325
|
+
def test_dumps_binary_pa_table_uses_segment_reference(self):
|
|
326
|
+
import pyarrow as pa
|
|
327
|
+
|
|
328
|
+
t = pa.table({"x": [1, 2, 3], "y": [10.0, 20.0, 30.0]})
|
|
329
|
+
serialized = serde.dumps_binary(t)
|
|
330
|
+
meta_len = struct.unpack_from("<I", serialized, 0)[0]
|
|
331
|
+
meta = json.loads(serialized[4 : 4 + meta_len].decode("utf-8"))
|
|
332
|
+
|
|
333
|
+
assert meta["_kind"] == "_pa_table_bref"
|
|
334
|
+
assert "bref" in meta
|
|
335
|
+
assert "data" not in meta # binary path must not base64-inline
|
|
336
|
+
|
|
337
|
+
result = serde.loads_binary(serialized)
|
|
338
|
+
assert isinstance(result, pa.Table)
|
|
339
|
+
assert result.equals(t)
|
|
340
|
+
|
|
341
|
+
def test_dumps_binary_pandas_dataframe_uses_segment_reference(self):
|
|
342
|
+
pd = pytest.importorskip("pandas")
|
|
343
|
+
import pyarrow as pa
|
|
344
|
+
|
|
345
|
+
df = pd.DataFrame({"a": [1, 2], "b": [3.5, 4.5]})
|
|
346
|
+
serialized = serde.dumps_binary(df)
|
|
347
|
+
meta_len = struct.unpack_from("<I", serialized, 0)[0]
|
|
348
|
+
meta = json.loads(serialized[4 : 4 + meta_len].decode("utf-8"))
|
|
349
|
+
|
|
350
|
+
assert meta["_kind"] == "_pa_table_bref"
|
|
351
|
+
|
|
352
|
+
result = serde.loads_binary(serialized)
|
|
353
|
+
assert isinstance(result, pa.Table)
|
|
354
|
+
assert result.column_names == ["a", "b"]
|
|
355
|
+
|
|
356
|
+
|
|
278
357
|
# =============================================================================
|
|
279
358
|
# Tests: Error Handling
|
|
280
359
|
# =============================================================================
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/state.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_driver/values.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/collectives.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/comm_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/infra.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/request.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/backends/simp_worker/state.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/aggregation.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/groupby.md
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/groupby.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/mplang/libs/mpc/analytics/permutation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_driver/__init__.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_driver/test_http.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_http.py
RENAMED
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/simp_worker/test_mem.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_simp_integration.py
RENAMED
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/backends/test_simp_object_store.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mplang_nightly-0.1.dev334 → mplang_nightly-0.1.dev336}/tests/dialects/test_compile_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|