diff --git a/mlir/python/mlir/_cext_loader.py b/mlir/python/mlir/_cext_loader.py --- a/mlir/python/mlir/_cext_loader.py +++ b/mlir/python/mlir/_cext_loader.py @@ -45,7 +45,10 @@ """ import sys target_module = sys.modules[target_module_name] - source_module = getattr(_cext, cext_module_name) + submodule_names = cext_module_name.split(".") + source_module = _cext + for submodule_name in submodule_names: + source_module = getattr(source_module, submodule_name) for attr_name in dir(source_module): if not attr_name.startswith("__"): setattr(target_module, attr_name, getattr(source_module, attr_name)) diff --git a/mlir/python/mlir/dialects/sparse_tensor.py b/mlir/python/mlir/dialects/sparse_tensor.py new file mode 100644 --- /dev/null +++ b/mlir/python/mlir/dialects/sparse_tensor.py @@ -0,0 +1,7 @@ +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + +from .._cext_loader import _reexport_cext +_reexport_cext("dialects.sparse_tensor", __name__) +del _reexport_cext diff --git a/mlir/test/python/dialects/sparse_tensor/dialect.py b/mlir/test/python/dialects/sparse_tensor/dialect.py --- a/mlir/test/python/dialects/sparse_tensor/dialect.py +++ b/mlir/test/python/dialects/sparse_tensor/dialect.py @@ -2,7 +2,7 @@ from mlir.ir import * # TODO: Import this into the user-package vs the cext. -from _mlir.dialects import sparse_tensor as st +from mlir.dialects import sparse_tensor as st def run(f): print("\nTEST:", f.__name__)